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 must match conventional commit format
|
||||
# Supports optional scope and enforces lowercase types
|
||||
regex=^(feat|fix|docs|style|refactor|test|chore|ci|build|perf|revert)(\([a-z0-9-]+\))?: [a-z].+
|
||||
# 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].+
|
||||
|
||||
[body-max-line-length]
|
||||
# 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
|
||||
- Environment variables take precedence over configuration file values
|
||||
- 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
|
||||
- Release documentation in `docs/source/release-workflow.rst`
|
||||
- Release process documentation in `CONTRIBUTING.md`
|
||||
|
|
|
@ -24,6 +24,10 @@
|
|||
|
||||
## Installation
|
||||
|
||||
### Requirements
|
||||
|
||||
- Python 3.12 or higher
|
||||
|
||||
Clone the repository from GitHub:
|
||||
|
||||
```bash
|
||||
|
|
|
@ -20,14 +20,12 @@ classifiers = [
|
|||
"Topic :: Scientific/Engineering :: Information Analysis",
|
||||
"Topic :: Software Development :: Libraries :: Python Modules",
|
||||
"Programming Language :: Python :: 3",
|
||||
"Programming Language :: Python :: 3.10",
|
||||
"Programming Language :: Python :: 3.11",
|
||||
"Programming Language :: Python :: 3.12",
|
||||
"Programming Language :: Python :: 3.13",
|
||||
"Operating System :: OS Independent",
|
||||
]
|
||||
keywords = ["doi", "dataverse", "metadata", "research", "datasets"]
|
||||
requires-python = ">=3.10"
|
||||
requires-python = ">=3.12"
|
||||
dependencies = [
|
||||
"dnspython>=2.7.0,<3.0.0",
|
||||
"requests>=2.32.3,<2.33.0",
|
||||
|
@ -112,7 +110,7 @@ exclude_lines = [
|
|||
|
||||
[tool.ruff]
|
||||
line-length = 88
|
||||
target-version = "py310"
|
||||
target-version = "py312"
|
||||
extend-exclude = [".venv", "build", "dist", "docs", ".pytest_cache", "htmlcov"]
|
||||
|
||||
[tool.ruff.lint]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue