feat!: bump minimum python version to 3.12+
- Update pyproject.toml to require Python 3.12 or higher - Remove Python 3.10 and 3.11 from supported version classifiers - Update Ruff target version to py312 - Add Python 3.12+ requirement to README installation section - Document breaking change in CHANGELOG.md BREAKING CHANGE: Minimum Python version updated from 3.10+ to 3.12+. This enables use of modern Python 3.12+ generic syntax like `class BaseMetadataField[T]:` without compatibility workarounds.
This commit is contained in:
parent
beac9584cb
commit
142446c405
4 changed files with 14 additions and 6 deletions
4
.gitlint
4
.gitlint
|
@ -23,8 +23,8 @@ words=WIP,TODO,FIXME
|
||||||
|
|
||||||
[title-match-regex]
|
[title-match-regex]
|
||||||
# Title must match conventional commit format
|
# Title must match conventional commit format
|
||||||
# Supports optional scope and enforces lowercase types
|
# Supports optional scope, breaking changes (!), and enforces lowercase types
|
||||||
regex=^(feat|fix|docs|style|refactor|test|chore|ci|build|perf|revert)(\([a-z0-9-]+\))?: [a-z].+
|
regex=^(feat|fix|docs|style|refactor|test|chore|ci|build|perf|revert)(\([a-z0-9-]+\))?!?: [a-z].+
|
||||||
|
|
||||||
[body-max-line-length]
|
[body-max-line-length]
|
||||||
# Maximum line length in the body (commitlint standard)
|
# Maximum line length in the body (commitlint standard)
|
||||||
|
|
|
@ -18,6 +18,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||||
- `DATAVERSE_AUTH_PASSWORD` - Basic authentication password
|
- `DATAVERSE_AUTH_PASSWORD` - Basic authentication password
|
||||||
- Environment variables take precedence over configuration file values
|
- Environment variables take precedence over configuration file values
|
||||||
- Backward compatibility maintained - config file values used when environment variables are not set
|
- Backward compatibility maintained - config file values used when environment variables are not set
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- **BREAKING**: Minimum Python version requirement updated from 3.10+ to 3.12+
|
||||||
|
- This change allows the use of modern Python 3.12+ generic syntax (e.g., `class BaseMetadataField[T]:`)
|
||||||
|
- Users must upgrade to Python 3.12 or higher to use this version
|
||||||
- Automated tag-based release workflow with GitLab CI
|
- Automated tag-based release workflow with GitLab CI
|
||||||
- Release documentation in `docs/source/release-workflow.rst`
|
- Release documentation in `docs/source/release-workflow.rst`
|
||||||
- Release process documentation in `CONTRIBUTING.md`
|
- Release process documentation in `CONTRIBUTING.md`
|
||||||
|
|
|
@ -24,6 +24,10 @@
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
|
### Requirements
|
||||||
|
|
||||||
|
- Python 3.12 or higher
|
||||||
|
|
||||||
Clone the repository from GitHub:
|
Clone the repository from GitHub:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|
|
@ -20,14 +20,12 @@ classifiers = [
|
||||||
"Topic :: Scientific/Engineering :: Information Analysis",
|
"Topic :: Scientific/Engineering :: Information Analysis",
|
||||||
"Topic :: Software Development :: Libraries :: Python Modules",
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
||||||
"Programming Language :: Python :: 3",
|
"Programming Language :: Python :: 3",
|
||||||
"Programming Language :: Python :: 3.10",
|
|
||||||
"Programming Language :: Python :: 3.11",
|
|
||||||
"Programming Language :: Python :: 3.12",
|
"Programming Language :: Python :: 3.12",
|
||||||
"Programming Language :: Python :: 3.13",
|
"Programming Language :: Python :: 3.13",
|
||||||
"Operating System :: OS Independent",
|
"Operating System :: OS Independent",
|
||||||
]
|
]
|
||||||
keywords = ["doi", "dataverse", "metadata", "research", "datasets"]
|
keywords = ["doi", "dataverse", "metadata", "research", "datasets"]
|
||||||
requires-python = ">=3.10"
|
requires-python = ">=3.12"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"dnspython>=2.7.0,<3.0.0",
|
"dnspython>=2.7.0,<3.0.0",
|
||||||
"requests>=2.32.3,<2.33.0",
|
"requests>=2.32.3,<2.33.0",
|
||||||
|
@ -112,7 +110,7 @@ exclude_lines = [
|
||||||
|
|
||||||
[tool.ruff]
|
[tool.ruff]
|
||||||
line-length = 88
|
line-length = 88
|
||||||
target-version = "py310"
|
target-version = "py312"
|
||||||
extend-exclude = [".venv", "build", "dist", "docs", ".pytest_cache", "htmlcov"]
|
extend-exclude = [".venv", "build", "dist", "docs", ".pytest_cache", "htmlcov"]
|
||||||
|
|
||||||
[tool.ruff.lint]
|
[tool.ruff.lint]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue