Compare commits

...

4 commits

Author SHA1 Message Date
bronsen
b3b26d0e03 [meta] Update badge 2025-06-21 03:11:10 +02:00
bronsen
6a89e4aefd [doc] make the markdown linter happy 2025-06-21 03:10:46 +02:00
bronsen
948ab10773 [deps] add pytest-randomly to run tests in random order
ATM it is intended for use in dev env, not test env.

On test/ci we want a more reproducable order (...I think).
2025-06-21 03:10:15 +02:00
bronsen
463c824f5c [deps] update dependencies 2025-06-21 02:50:19 +02:00
6 changed files with 127 additions and 26 deletions

View file

@ -8,6 +8,7 @@
![Coverage Status](./docs/coverage-badge.svg)
<!--toc:start-->
- [Teilchensammler: Collect parts in a list](#teilchensammler-collect-parts-in-a-list)
- [Badges](#badges)
- [Development](#development)
@ -23,6 +24,7 @@
- [Direnv (automatic venv)](#direnv-automatic-venv)
- [Subshells or Shells started from Editors](#subshells-or-shells-started-from-editors)
- [just](#just)
<!--toc:end-->
## Development

View file

@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="114" height="20" role="img" aria-label="coverage: 91.06%"><title>coverage: 91.06%</title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="114" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="61" height="20" fill="#555"/><rect x="61" width="53" height="20" fill="#4c1"/><rect width="114" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text aria-hidden="true" x="315" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="510">coverage</text><text x="315" y="140" transform="scale(.1)" fill="#fff" textLength="510">coverage</text><text aria-hidden="true" x="865" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="430">91.06%</text><text x="865" y="140" transform="scale(.1)" fill="#fff" textLength="430">91.06%</text></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="114" height="20" role="img" aria-label="coverage: 91.11%"><title>coverage: 91.11%</title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="114" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="61" height="20" fill="#555"/><rect x="61" width="53" height="20" fill="#4c1"/><rect width="114" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text aria-hidden="true" x="315" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="510">coverage</text><text x="315" y="140" transform="scale(.1)" fill="#fff" textLength="510">coverage</text><text aria-hidden="true" x="865" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="430">91.11%</text><text x="865" y="140" transform="scale(.1)" fill="#fff" textLength="430">91.11%</text></g></svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Before After
Before After

View file

@ -9,3 +9,4 @@ ruff # linter
uv # resolver for pip-compile-multi
genbadge[tests,coverage] # create badges from coverage reports and pytest
pymarkdownlnt # lint markdown files, note: it's "lnt" at the end, not "lint"
pytest-randomly # run tests in random order; installed in dev env because in test/ci we want more reproducibility

View file

@ -1,4 +1,4 @@
# SHA1:0fe30e8de6a24fe0b1d50d82a23038919d203909
# SHA1:596eaea6df10023a3db5f9b26c0cf974c97cb86e
#
# This file was generated by pip-compile-multi.
# To update, run:
@ -6,51 +6,110 @@
# requirements upgrade
#
-r test.txt
application-properties==0.8.2
application-properties==0.8.3
# via pymarkdownlnt
asttokens==3.0.0
# via stack-data
build==1.2.2.post1
certifi==2025.4.26
# via pip-tools
certifi==2025.6.15
# via requests
charset-normalizer==3.4.2
click==8.1.8
# via requests
click==8.2.1
# via
# genbadge
# pip-compile-multi
# pip-tools
columnar==1.4.1
# via pymarkdownlnt
decorator==5.2.1
# via ipython
defusedxml==0.7.1
# via genbadge
django-debug-toolbar==5.2.0
django-stubs==5.2.0
django-stubs-ext==5.2.0
# via -r requirements/dev.in
django-stubs==5.2.1
# via -r requirements/dev.in
django-stubs-ext==5.2.1
# via django-stubs
executing==2.2.0
# via stack-data
genbadge==1.1.2
# via -r requirements/dev.in
idna==3.10
ipython==9.2.0
# via requests
ipython==9.3.0
# via -r requirements/dev.in
ipython-pygments-lexers==1.1.1
# via ipython
jedi==0.19.2
# via ipython
markdown-it-py==3.0.0
# via rich
matplotlib-inline==0.1.7
# via ipython
mdurl==0.1.2
# via markdown-it-py
parso==0.8.4
# via jedi
pexpect==4.9.0
# via ipython
pillow==11.2.1
# via genbadge
pip==25.1.1
pip-compile-multi==3.0.0
# via pip-tools
pip-compile-multi==3.2.1
# via -r requirements/dev.in
pip-tools==7.4.1
# via pip-compile-multi
prompt-toolkit==3.0.51
# via ipython
ptyprocess==0.7.0
# via pexpect
pure-eval==0.2.3
pygments==2.19.1
pymarkdownlnt==0.9.29
# via stack-data
pymarkdownlnt==0.9.30
# via -r requirements/dev.in
pyproject-hooks==1.2.0
# via
# build
# pip-tools
pytest-randomly==3.16.0
# via -r requirements/dev.in
pyyaml==6.0.2
requests==2.32.3
# via application-properties
requests==2.32.4
# via genbadge
rich==14.0.0
ruff==0.11.8
setuptools==80.3.1
# via -r requirements/dev.in
ruff==0.12.0
# via -r requirements/dev.in
setuptools==80.9.0
# via
# genbadge
# pip-tools
stack-data==0.6.3
# via ipython
tomli==2.2.1
# via application-properties
toolz==1.0.0
# via columnar
toposort==1.10
# via pip-compile-multi
traitlets==5.14.3
types-pyyaml==6.0.12.20250402
urllib3==2.4.0
uv==0.7.3
# via
# ipython
# matplotlib-inline
types-pyyaml==6.0.12.20250516
# via django-stubs
urllib3==2.5.0
# via requests
uv==0.7.13
# via -r requirements/dev.in
wcwidth==0.2.13
# via
# columnar
# prompt-toolkit
wheel==0.45.1
# via pip-tools

View file

@ -6,15 +6,37 @@
# requirements upgrade
#
asgiref==3.8.1
django==5.2.1
# via
# django
# django-structlog
django==5.2.3
# via
# -r requirements/prod.in
# django-extensions
# django-structlog
django-environ==0.12.0
# via -r requirements/prod.in
django-extensions==4.1
# via
# -r requirements/prod.in
# django-structlog
django-ipware==7.0.1
# via django-structlog
django-structlog==9.1.1
psycopg==3.2.7
psycopg-binary==3.2.7
# via -r requirements/prod.in
psycopg==3.2.9
# via -r requirements/prod.in
psycopg-binary==3.2.9
# via psycopg
psycopg-pool==3.2.6
# via psycopg
python-ipware==3.0.0
# via django-ipware
sqlparse==0.5.3
# via django
structlog==24.4.0
typing-extensions==4.13.2
# via
# -r requirements/prod.in
# django-structlog
typing-extensions==4.14.0
# via psycopg-pool

View file

@ -7,12 +7,29 @@
#
-r prod.txt
attrs==25.3.0
coverage==7.8.0
hypothesis==6.131.15
# via hypothesis
coverage==7.9.1
# via pytest-cov
hypothesis==6.135.14
# via -r requirements/test.in
iniconfig==2.1.0
# via pytest
packaging==25.0
pluggy==1.5.0
pytest==8.3.5
pytest-cov==6.1.1
# via pytest
pluggy==1.6.0
# via
# pytest
# pytest-cov
pygments==2.19.1
# via pytest
pytest==8.4.1
# via
# -r requirements/test.in
# pytest-cov
# pytest-django
pytest-cov==6.2.1
# via -r requirements/test.in
pytest-django==4.11.1
# via -r requirements/test.in
sortedcontainers==2.4.0
# via hypothesis