No description
Find a file
bronsen 5e3faa5367
All checks were successful
ci/woodpecker/push/workflow Pipeline was successful
doc: extend README.md
closes #10
2026-02-15 17:25:51 +01:00
.forgejo/workflows actions: install a python and let's hope the rest will work 2026-02-14 22:02:47 +01:00
.woodpecker ci: Our code only works in 3.14 and newer because we use uuid7 2026-02-14 23:26:15 +01:00
__snapshots__/tests tests: new snapshot after we load data from the db 2026-02-14 18:56:48 +01:00
src/teilchensammler_cli main: don't add fake data during start up 2026-02-14 18:51:37 +01:00
.gitignore [git] keep all the sqlite files off of version control 2025-12-08 17:53:44 +01:00
database.db add database.db hoping it helps on CI 2026-02-14 22:46:24 +01:00
justfile just: recipe "ci" should also "lint" 2026-02-15 17:25:19 +01:00
mise.toml tooling: add linter and prek 2026-02-12 20:31:21 +01:00
prek.toml tooling: configure prek 2026-02-12 20:31:52 +01:00
pyproject.toml correctly set the version, this time 2026-02-14 23:46:13 +01:00
README.md doc: extend README.md 2026-02-15 17:25:51 +01:00
requirements.dev.txt update dependencies 2026-02-14 23:18:05 +01:00
requirements.txt update dependencies 2026-02-14 23:18:05 +01:00
tests.py [test] Make the tests pass even when we use relative imports 2026-01-08 12:08:13 +01:00
uv.lock update dependencies 2026-02-14 23:18:05 +01:00

Teilchensammler

This is a little TUI based on Textual for entering new Teilchen and for searching for existing Teilchen. Data is kept in a sqlite database.

Running tests

uv run pytest tests.py

Observing the app's console

The console can be used to observe log messages, since those logs really should not go to the terminal.

You will need two terminals:

  1. one for showing the console,
  2. the other to run the app.

Since we use uv, the incantation is bit different from the official documenation:

In one terminal:

uv run textual console

And in the other:

#  run,textual,run! ;)
uv run textual run --dev src/teilchensammler_cli/__init__.py

Developing

To re-create bronsen's development environment, you need several shiny new toys:

  • just to run the recipes from justfile (think Makefile, but easier)
  • uv for all the python executing stuff, also venv
  • prek as a replacement for pre-commit
  • ruff to lint and format the python code
  • markdownlint-cli2 to keep some sort of consistency in our markdowns

I use just; just uses uv, prek, ruff, and so on. It's indirection and abstraction all the way down.

However, you can also do without all these!

Merge Requests

You know how these work.

Commit style

I prefer simple commit titles, and am not a fan of conventional commits. Do provide as much detail as desired in the message's body. Commit early, commit often; rebase frequently.

Tests

Yes! Please write tests: simple ones, trivial ones; complicated ones, slow ones.

Tests must be written in pytest fashion. Use all the plugins. Tests and fixtures should go into tests.py, until such time the file become too big and unwieldy.

Bug Reports, Feature Requests

Create them under "Issues" at the top the [repo page]. Do not worry too much about labels.

Please be specific and provide logs, screenshots, a test that replicates the problem.

Architectural Changes

These are unlikely to be accepted. This tool is not intended to scale. There might be web-frontend thing automatically provided by Textual.

Configs for tools the bronsen does not currently use

Oh sure, I'll accept those. Please create a merge request that adds the file. I'll make an effort to update those to the best of my capabilities.

AI

Please no: this is my little human-created thing.

Creating a new release

(This is so bronsen can forget.)

  • make code changes
  • run tests; make them pass
  • commit
  • git tag vX.Y.Z
  • push commits and tags

uv build will now create correctly named tar balls and wheels.