No description
  • Python 84.3%
  • Just 15.7%
Find a file
bronsen 7e7e115e59
Some checks failed
ci/woodpecker/push/workflow Pipeline failed
parser: explicitly provide starting position to .find()
2026-07-16 23:49:00 +02:00
.forgejo/workflows prek: use actually required dependencies 2026-06-02 00:21:41 +02:00
.woodpecker CI: tell woodpecker about our new testing situation 2026-05-18 23:49:04 +02:00
src/teilchensammler_cli parser: explicitly provide starting position to .find() 2026-07-16 23:49:00 +02:00
testing inject database into app instead of the app importing it 2026-07-16 23:47:22 +02:00
.gitignore git: ignore all our releasenotes 2026-02-22 19:30:47 +01:00
changelog.md just: we has a release thing now! 2026-02-21 01:23:38 +01:00
database.db add database.db hoping it helps on CI 2026-02-14 22:46:24 +01:00
justfile just: revert to default uv behavior regarding locking and syncing in all recipes 2026-07-16 23:41:53 +02:00
mise.lock tooling: replace markdownlint-cli2 with mdlint 2026-07-15 23:08:47 +02:00
mise.toml tooling: replace markdownlint-cli2 with mdlint 2026-07-15 23:08:47 +02:00
prek.toml prek: (don't) add pip-audit hook 2026-05-22 00:05:44 +02:00
pyproject.toml deps: update dependencies 2026-07-16 23:41:05 +02:00
README.md docs: prefer dashes over asterisks in lists 2026-07-15 23:11:10 +02:00
requirements.dev.txt deps: update dependencies 2026-07-16 23:41:05 +02:00
requirements.txt deps: update dependencies 2026-07-16 23:41:05 +02:00
uv.lock deps: update dependencies 2026-07-16 23:41:05 +02: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.

It is not yet usable. It has tests.

Running tests

uv run pytest tests.py
# or if you have just
just test

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 a bit different from the official documentation.

In one terminal:

uv run textual console
# or if you have just
just console

And in the other:

uv run textual run --dev src/teilchensammler_cli/__init__.py
# or if you have just
just run-console

Developing

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

  • just to run the recipes from justfile
  • uv for all the python executing stuff, also venv and versioning
  • prek as a replacement for pre-commit
  • ruff to lint and format the python code
  • mdlint to keep some sort of consistency in our markdowns
  • ty as LSP and type checker

I use just; just runs 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 should be written in pytest fashion. Use all the plugins except brittle ones.

Bug Reports, Feature Requests

Create them by clicking "Issues" at the top of the repo page. Do not worry too much about labels.

Please be specific and provide logs, screenshots, or even 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 front end thing automatically provided by Textual.

Configurations for tools the bronsen does not currently use

Oh sure, I'll accept those. Please create a merge request that adds the file.

AI

Please don't: this is my little human-created thing.

Creating a new release

(This is so bronsen can forget.)

  • run tests; make sure they pass

  • commit

  • uv version --bump {segment}

    Where segment is one of: major, minor, patch, stable, alpha, beta, rc, post, dev

    Employ RC releases to make sure the pieces fit together.

  • commit

  • When we really really want to release:

    • make sure just testall passes
    • touch releasenotes.md and edit that file
    • just release {Release Name can be several words}
  • Ponder the magnificence of what was accomplished.