You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+27-14Lines changed: 27 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -429,16 +429,16 @@ This project uses [pytest](https://pytest.org/) for testing with async support a
429
429
430
430
```shell
431
431
# Run all tests
432
-
poetry run pytest
432
+
uv run pytest
433
433
434
434
# Run specific test file
435
-
poetry run pytest tests/test_api.py
435
+
uv run pytest tests/test_api.py
436
436
437
437
# Run tests with verbose output
438
-
poetry run pytest -v
438
+
uv run pytest -v
439
439
440
440
# Run tests and show print statements
441
-
poetry run pytest -s
441
+
uv run pytest -s
442
442
```
443
443
444
444
### Tests Structure
@@ -462,7 +462,7 @@ This project follows PEP 8 style guidelines using [Ruff](https://astral.sh/ruff/
462
462
463
463
```shell
464
464
# Lint and sort imports, and format code
465
-
poetry run ruff check --select I --fix &&poetry run ruff format
465
+
uv run ruff check --select I --fix &&uv run ruff format
466
466
```
467
467
468
468
### 🔗 Pre-commit Hooks
@@ -471,9 +471,9 @@ This repository uses a [pre-commit](https://pre-commit.com/) hook which lint and
471
471
472
472
**Install pre-commit hooks:**
473
473
```shell
474
-
poetry run pre-commit install
474
+
uv run pre-commit install
475
475
```
476
-
The re-commit hook that automatically:
476
+
The pre-commit hook that automatically:
477
477
- Check YAML syntax
478
478
- Fix end-of-file issues
479
479
- Remove trailing whitespace
@@ -485,16 +485,29 @@ The re-commit hook that automatically:
485
485
**Pull requests cannot be merged unless all CI/CD tests pass.**
486
486
Tests are automatically run on every pull request and push to main branch. See [`.circleci/config.yml`](.circleci/config.yml) for the complete CI/CD configuration, and the [🧪 Testing](#-testing) section above for detailed testing commands.
487
487
488
-
### 📦 Version Management
488
+
### 🏷️ Releases and versioning
489
489
490
-
The release process uses [bump'X](https://github.com/datagouv/bumpx):
491
-
```shell
492
-
# To perform a dry run of version bumping
493
-
poetry run bumpx -v -d
494
-
# To bump version
495
-
poetry run bumpx
490
+
The release process uses the [`tag_version.sh`](tag_version.sh) script to create git tags, GitHub releases and update [CHANGELOG.md](CHANGELOG.md) automatically. Package version numbers are automatically derived from git tags using [setuptools_scm](https://github.com/pypa/setuptools_scm), so no manual version updates are needed in `pyproject.toml`.
491
+
492
+
**Prerequisites**: [GitHub CLI](https://cli.github.com/) must be installed and authenticated, and you must be on the main branch with a clean working directory.
493
+
494
+
```bash
495
+
# Create a new release
496
+
./tag_version.sh <version>
497
+
498
+
# Example
499
+
./tag_version.sh 2.5.0
500
+
501
+
# Dry run to see what would happen
502
+
./tag_version.sh 2.5.0 --dry-run
496
503
```
497
504
505
+
The script automatically:
506
+
- Extracts commits since the last tag and formats them for CHANGELOG.md
507
+
- Identifies breaking changes (commits with `!:` in the subject)
508
+
- Creates a git tag and pushes it to the remote repository
509
+
- Creates a GitHub release with the changelog content
510
+
498
511
## 📄 License
499
512
500
513
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
0 commit comments