2025-12-03 18:28:30 +01:00
|
|
|
# Teilchensammler
|
|
|
|
|
|
|
|
|
|
This is a little TUI based on [Textual] for entering new Teilchen and for
|
2026-02-15 17:25:51 +01:00
|
|
|
searching for existing Teilchen. Data is kept in a sqlite database.
|
2025-12-04 20:13:32 +01:00
|
|
|
|
2026-02-17 21:17:20 +01:00
|
|
|
It is not yet usable.
|
|
|
|
|
|
2025-12-04 20:13:32 +01:00
|
|
|
## Running tests
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
uv run pytest tests.py
|
|
|
|
|
```
|
2025-12-03 18:28:30 +01:00
|
|
|
|
2025-12-08 17:38:39 +01:00
|
|
|
## Observing the app's console
|
|
|
|
|
|
2026-02-15 17:25:51 +01:00
|
|
|
The console can be used to observe log messages, since those logs really should
|
|
|
|
|
not go to the terminal.
|
|
|
|
|
|
|
|
|
|
You will need two terminals:
|
2025-12-08 17:38:39 +01:00
|
|
|
|
2026-02-15 17:25:51 +01:00
|
|
|
1. one for showing the console,
|
|
|
|
|
2. the other to run the app.
|
|
|
|
|
|
2026-02-17 21:17:20 +01:00
|
|
|
Since we use uv, the incantation is a bit different from the [official documenation].
|
2025-12-08 17:38:39 +01:00
|
|
|
|
|
|
|
|
In one terminal:
|
|
|
|
|
|
|
|
|
|
```shell
|
2026-02-15 17:25:51 +01:00
|
|
|
uv run textual console
|
2025-12-08 17:38:39 +01:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
And in the other:
|
|
|
|
|
|
|
|
|
|
```shell
|
2026-02-15 17:25:51 +01:00
|
|
|
# run,textual,run! ;)
|
2025-12-08 17:38:39 +01:00
|
|
|
uv run textual run --dev src/teilchensammler_cli/__init__.py
|
|
|
|
|
```
|
|
|
|
|
|
2026-02-15 17:25:51 +01:00
|
|
|
## Developing
|
|
|
|
|
|
2026-02-17 21:17:20 +01:00
|
|
|
To re-create bronsen's development environment, sort of, you need several shiny
|
|
|
|
|
new toys:
|
2026-02-15 17:25:51 +01:00
|
|
|
|
2026-02-17 21:17:20 +01:00
|
|
|
* [just] to run the recipes from `justfile`
|
2026-02-15 17:25:51 +01:00
|
|
|
* [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
|
|
|
|
|
|
2026-02-17 21:17:20 +01:00
|
|
|
Create them by clicking "Issues" at the top of the [repo page]. Do not worry
|
|
|
|
|
too much about labels.
|
2026-02-15 17:25:51 +01:00
|
|
|
|
2026-02-17 21:17:20 +01:00
|
|
|
Please be specific and provide logs, screenshots, or even a test that
|
|
|
|
|
replicates the problem.
|
2026-02-15 17:25:51 +01:00
|
|
|
|
|
|
|
|
### 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
|
|
|
|
|
|
2026-02-17 21:17:20 +01:00
|
|
|
Please don't: this is my little human-created thing.
|
2026-02-15 17:25:51 +01:00
|
|
|
|
2025-12-04 20:44:25 +01:00
|
|
|
## Creating a new release
|
|
|
|
|
|
2026-02-15 17:25:51 +01:00
|
|
|
(This is so bronsen can forget.)
|
|
|
|
|
|
2026-02-17 21:17:20 +01:00
|
|
|
* run tests; make sure they pass
|
2025-12-04 20:44:25 +01:00
|
|
|
* commit
|
2026-02-17 21:17:20 +01:00
|
|
|
* `uv version --bump {segment}`
|
|
|
|
|
|
|
|
|
|
Where `segment` is one of: major, minor, patch, stable, alpha, beta, rc,
|
|
|
|
|
post, dev
|
2026-02-16 21:23:08 +01:00
|
|
|
* commit
|
|
|
|
|
* push commits
|
|
|
|
|
* use lazygit to create the new version tag
|
2026-02-17 21:17:20 +01:00
|
|
|
* remember to prefix it with "v"
|
2026-02-16 21:23:08 +01:00
|
|
|
* push the tags, using lazygit
|
2025-12-04 20:44:25 +01:00
|
|
|
|
2026-02-15 17:25:51 +01:00
|
|
|
----
|
|
|
|
|
|
2026-02-17 21:17:20 +01:00
|
|
|
[official documenation]: https://textual.textualize.io/guide/devtools/#console
|
2025-12-04 07:01:32 +01:00
|
|
|
[Textual]: https://textual.textualize.io/
|
2026-02-15 17:25:51 +01:00
|
|
|
[uv]: https://astral.sh/uv
|
|
|
|
|
[just]: https://just.systems/
|
|
|
|
|
[prek]: https://prek.j178.dev/
|
|
|
|
|
[ruff]: https://astral.sh/ruff
|
|
|
|
|
[markdownlint-cli2]: https://github.com/DavidAnson/markdownlint-cli2
|
2026-02-17 21:17:20 +01:00
|
|
|
[repo page]: https://code.c-base.org/infuanfu/teilchensammler-cli
|