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
@@ -534,16 +534,16 @@ This project uses [pytest](https://pytest.org/) for testing with async support a
534
534
535
535
```shell
536
536
# Run all tests
537
-
poetry run pytest
537
+
uv run pytest
538
538
539
539
# Run specific test file
540
-
poetry run pytest tests/test_api.py
540
+
uv run pytest tests/test_api.py
541
541
542
542
# Run tests with verbose output
543
-
poetry run pytest -v
543
+
uv run pytest -v
544
544
545
545
# Run tests and show print statements
546
-
poetry run pytest -s
546
+
uv run pytest -s
547
547
```
548
548
549
549
### Tests Structure
@@ -567,7 +567,7 @@ This project follows PEP 8 style guidelines using [Ruff](https://astral.sh/ruff/
567
567
568
568
```shell
569
569
# Lint and sort imports, and format code
570
-
poetry run ruff check --select I --fix &&poetry run ruff format
570
+
uv run ruff check --select I --fix &&uv run ruff format
571
571
```
572
572
573
573
### 🔗 Pre-commit Hooks
@@ -576,9 +576,9 @@ This repository uses a [pre-commit](https://pre-commit.com/) hook which lint and
576
576
577
577
**Install pre-commit hooks:**
578
578
```shell
579
-
poetry run pre-commit install
579
+
uv run pre-commit install
580
580
```
581
-
The re-commit hook that automatically:
581
+
The pre-commit hook that automatically:
582
582
- Check YAML syntax
583
583
- Fix end-of-file issues
584
584
- Remove trailing whitespace
@@ -590,16 +590,29 @@ The re-commit hook that automatically:
590
590
**Pull requests cannot be merged unless all CI/CD tests pass.**
591
591
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.
592
592
593
-
### 📦 Version Management
593
+
### 🏷️ Releases and versioning
594
594
595
-
The release process uses [bump'X](https://github.com/datagouv/bumpx):
596
-
```shell
597
-
# To perform a dry run of version bumping
598
-
poetry run bumpx -v -d
599
-
# To bump version
600
-
poetry run bumpx
595
+
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`.
596
+
597
+
**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.
598
+
599
+
```bash
600
+
# Create a new release
601
+
./tag_version.sh <version>
602
+
603
+
# Example
604
+
./tag_version.sh 2.5.0
605
+
606
+
# Dry run to see what would happen
607
+
./tag_version.sh 2.5.0 --dry-run
601
608
```
602
609
610
+
The script automatically:
611
+
- Extracts commits since the last tag and formats them for CHANGELOG.md
612
+
- Identifies breaking changes (commits with `!:` in the subject)
613
+
- Creates a git tag and pushes it to the remote repository
614
+
- Creates a GitHub release with the changelog content
615
+
603
616
## 📄 License
604
617
605
618
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
0 commit comments