Skip to content
This repository was archived by the owner on Mar 5, 2026. It is now read-only.

Commit e2c1cac

Browse files
Dev updates (#46)
- Update dependencies - Swap to using pydantic `Annotated` instead of `field_validators` - Tidy up repo
1 parent c4120a6 commit e2c1cac

27 files changed

Lines changed: 384 additions & 1368 deletions

.editorconfig

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,32 +9,25 @@ trim_trailing_whitespace = true
99
insert_final_newline = true
1010
max_line_length = 100
1111

12-
[*.bat]
13-
indent_style = tab
14-
15-
[*.cs]
16-
indent_size = 4
17-
indent_style = tab
18-
insert_final_newline = false
19-
20-
[*.java]
12+
[{*.html,*.jte,*.kte,*.jinja}]
2113
indent_size = 4
22-
indent_style = tab
2314
insert_final_newline = false
15+
max_line_length = off
2416

2517
[*.json]
2618
insert_final_newline = false
2719

2820
[*.md]
2921
trim_trailing_whitespace = false
22+
max_line_length = off
3023

3124
[*.py]
3225
indent_size = 4
3326

3427
[{*.xml,*.xsd}]
3528
indent_size = 4
36-
indent_style = tab
3729
insert_final_newline = false
30+
max_line_length = off
3831

3932
[{*.yaml,*.yml}]
4033
indent_style = tab

.gitattributes

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,6 @@
3232
*.tgz binary
3333
*.zip binary
3434

35-
# C#
36-
*.cs text diff=csharp
37-
*.cshtml text diff=html
38-
*.csproj text eol=crlf
39-
*.csx text diff=csharp
40-
*.sln text eol=crlf
41-
4235
# Java
4336
*.gradle text diff=java
4437
*.gradle.kts text diff=kotlin

.github/workflows/publishing.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
- uses: actions/checkout@v4
1212
- uses: actions/setup-python@v5
1313
with:
14-
python-version: '3.12'
14+
python-version: '3.13'
1515
- name: Install pypa/build
1616
run: pip install build
1717
- name: Build a binary wheel and a source tarball

.github/workflows/testing.yaml

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,33 +22,31 @@ jobs:
2222
fail-fast: false
2323
matrix:
2424
python-version:
25-
- '3.8'
2625
- '3.9'
2726
- '3.10'
2827
- '3.11'
2928
- '3.12'
29+
- '3.13'
3030
os:
3131
- ubuntu-latest
3232
- macos-latest
3333
- windows-latest
3434
runs-on: ${{ matrix.os }}
3535
steps:
36-
- name: Checkout repository
37-
uses: actions/checkout@v4
38-
- name: Setup python
39-
uses: actions/setup-python@v5
40-
with:
41-
python-version: ${{ matrix.python-version }}
36+
- uses: actions/checkout@v4
37+
- uses: astral-sh/setup-uv@v5
38+
- name: Setup Python
39+
run: uv python install ${{ matrix.python-version }}
4240
- name: Install project
43-
run: pip install .[test]
44-
- name: Test with pytest
41+
run: uv sync --group tests
42+
- name: Run tests
4543
env:
4644
LEAGUE_OF_COMIC_GEEKS__CLIENT_ID: IGNORED
4745
LEAGUE_OF_COMIC_GEEKS__CLIENT_SECRET: IGNORED
4846
LEAGUE_OF_COMIC_GEEKS__ACCESS_TOKEN: IGNORED
49-
run: pytest
47+
run: uv run pytest
5048
collector:
51-
needs: [pytest]
49+
needs: [ pytest ]
5250
if: always()
5351
runs-on: ubuntu-latest
5452
steps:

.gitignore

Lines changed: 12 additions & 139 deletions
Original file line numberDiff line numberDiff line change
@@ -1,146 +1,19 @@
1-
# Byte-compiled / optimized / DLL files
1+
# =====Folders=====
22
__pycache__/
3-
*.py[cod]
4-
*$py.class
5-
6-
# C extensions
7-
*.so
8-
9-
# Distribution / packaging
10-
.Python
3+
__pypackages__/
4+
.idea/
5+
.ruff_cache/
6+
.venv/
117
build/
12-
develop-eggs/
138
dist/
14-
downloads/
15-
eggs/
16-
.eggs/
17-
lib/
18-
lib64/
19-
parts/
20-
sdist/
21-
var/
22-
wheels/
23-
share/python-wheels/
24-
*.egg-info/
25-
.installed.cfg
26-
*.egg
27-
MANIFEST
28-
29-
# PyInstaller
30-
# Usually these files are written by a python script from a template
31-
# before PyInstaller builds the exe, so as to inject date/other infos into it.
32-
*.manifest
33-
*.spec
34-
35-
# Installer logs
36-
pip-log.txt
37-
pip-delete-this-directory.txt
38-
39-
# Unit test / coverage reports
40-
htmlcov/
41-
.tox/
42-
.nox/
43-
.coverage
44-
.coverage.*
45-
.cache
46-
nosetests.xml
47-
coverage.xml
48-
*.cover
49-
*.py,cover
50-
.hypothesis/
51-
.pytest_cache/
52-
cover/
53-
54-
# Translations
55-
*.mo
56-
*.pot
9+
logs/
5710

58-
# Django stuff:
11+
# =====Files=====
12+
*.iml
5913
*.log
60-
local_settings.py
61-
db.sqlite3
62-
db.sqlite3-journal
63-
64-
# Flask stuff:
65-
instance/
66-
.webassets-cache
67-
68-
# Scrapy stuff:
69-
.scrapy
70-
71-
# Sphinx documentation
72-
docs/_build/
73-
74-
# PyBuilder
75-
.pybuilder/
76-
target/
77-
78-
# Jupyter Notebook
79-
.ipynb_checkpoints
80-
81-
# IPython
82-
profile_default/
83-
ipython_config.py
84-
85-
# pyenv
14+
.coverage
15+
.envrc
16+
.pdm-python
8617
.python-version
87-
88-
# pipenv
89-
Pipfile.lock
90-
91-
# poetry
92-
poetry.lock
93-
94-
# pdm
9518
pdm.lock
96-
.pdm.toml
97-
.pdm-python
98-
99-
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
100-
__pypackages__/
101-
102-
# Celery stuff
103-
celerybeat-schedule
104-
celerybeat.pid
105-
106-
# SageMath parsed files
107-
*.sage.py
108-
109-
# Environments
110-
.env
111-
.venv
112-
env/
113-
venv/
114-
ENV/
115-
env.bak/
116-
venv.bak/
117-
118-
# Spyder project settings
119-
.spyderproject
120-
.spyproject
121-
122-
# Rope project settings
123-
.ropeproject
124-
125-
# mkdocs documentation
126-
/site
127-
128-
# mypy
129-
.mypy_cache/
130-
.dmypy.json
131-
dmypy.json
132-
133-
# Pyre type checker
134-
.pyre/
135-
136-
# pytype static type analyzer
137-
.pytype/
138-
139-
# Cython debug symbols
140-
cython_debug/
141-
142-
# PyCharm
143-
.idea/
144-
145-
# Custom
146-
.ruff_cache/
19+
uv.lock

.pre-commit-config.yaml

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
repos:
22
- repo: https://github.com/astral-sh/ruff-pre-commit
3-
rev: v0.5.0
3+
rev: v0.9.2
44
hooks:
55
- id: ruff-format
66
- id: ruff
77
- repo: https://github.com/executablebooks/mdformat
8-
rev: 0.7.17
8+
rev: 0.7.21
99
hooks:
1010
- id: mdformat
1111
additional_dependencies:
@@ -15,13 +15,15 @@ repos:
1515
- --number
1616
- --wrap=keep
1717
- repo: https://github.com/pre-commit/pre-commit-hooks
18-
rev: v4.6.0
18+
rev: v5.0.0
1919
hooks:
2020
- id: check-ast
2121
- id: check-builtin-literals
2222
- id: check-case-conflict
2323
- id: check-docstring-first
2424
- id: check-merge-conflict
25+
args:
26+
- --assume-in-merge
2527
- id: check-toml
2628
- id: check-yaml
2729
args:
@@ -30,17 +32,19 @@ repos:
3032
exclude_types:
3133
- json
3234
- xml
33-
- id: fix-encoding-pragma
34-
args:
35-
- --remove
35+
- id: fix-byte-order-marker
36+
- id: forbid-submodules
3637
- id: mixed-line-ending
3738
args:
3839
- --fix=auto
40+
# - id: name-tests-test
3941
- id: trailing-whitespace
4042
args:
4143
- --markdown-linebreak-ext=md
44+
exclude_types:
45+
- svg
4246
- repo: https://github.com/pappasam/toml-sort
43-
rev: v0.23.1
47+
rev: v0.24.2
4448
hooks:
4549
- id: toml-sort
4650
args:

.readthedocs.yaml

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,12 @@ version: 2
88
build:
99
os: ubuntu-22.04
1010
tools:
11-
python: "3.12"
11+
python: "3.13"
12+
jobs:
13+
post_create_environment:
14+
- pip install uv
15+
post_install:
16+
- UV_PROJECT_ENVIRONMENT=$READTHEDOCS_VIRTUALENV_PATH uv sync --group docs --inexact
1217

1318
mkdocs:
1419
configuration: mkdocs.yaml
15-
16-
# Optionally declare the Python requirements required to build your docs
17-
python:
18-
install:
19-
- method: pip
20-
path: .
21-
extra_requirements:
22-
- docs

0 commit comments

Comments
 (0)