Releases: exasol/python-toolbox
1.7.4
1.7.3
1.7.2
1.7.2 - 2025-07-31
Summary
GPU runners throughout our various Python repositories were breaking due to underlying
changes in the runners. This affected the usage of the python-environment/action,
and it could be resolved by adding --break-system-packages to the pip install
command. The behavior then is to default to the user installation, which avoids
the global issues the GPU runners were running into.
Bugfix
- Modified pip install statement to include --break-system-packages
1.7.1
1.7.0
1.7.0 - 2025-07-28
Summary
This version of the PTB alters the nox session release:prepare to include direct dependency changes between the current and latest tag (based on the poetry.lock files).
This benefits developers by automating the cumbersome process of determining what changed between tags, and it does so
in a deterministic and consistent way. If there are dependency changes, then they will be rendered
as:
## Dependency Updates
### `main`
* Updated dependency `package_1:0.0.1` to `0.1.0`
### `dev`
* Added dependency `package_2:0.2.0`Documentation
- #504: Removed Issue Tracking & Style Guides, moved & updated "Create a release", moved & updated "Collecting metrics"
Feature
- #382: Added onto nox session
release:prepareto append dependency changes between current and latest tag
Refactoring
- #498: Centralized changelog code relevant for
release:trigger& robustly tested
Dependency Updates
main
- Updated dependency
furo:2024.8.6to2025.7.19 - Updated dependency
mypy:1.16.1to1.17.0 - Updated dependency
shibuya:2025.5.30to2025.7.14
1.6.1
1.6.1 - 2025-07-16
Summary
This version of the PTB resolves many bugs associated with the cookiecutter template
and creating a new project that uses the PTB.
If any directories or files specified in your noxconfig.py via Config.source should
not be included in a Sonar analysis, it is recommended to add the following to
your pyproject.toml under the [tool.sonar] section:
exclusions = "<source-directory>/version.py,<source_directory>/<directory-to-ignore>/*"Bugfixes
- #489: Fixed .pre-commit-config.yaml to use existing nox tasks
- #490: Fixed artifacts:validate & sonar:check to work for newly created projects
- #484: Fixed hint command text in version.py to include -s for executing nox task
Documentation
- #488: Updated user guide to make clearer under which conditions branch protections based on GitHub actions can be enacted
Refactoring
- #482: Updated pull_request_template.md to reflect checks we should regularly perform
1.6.0
1.6.0 - 2025-06-27
Summary
Links in the Documentation
This version of the PTB adds nox tasks to check links present in our documentation:
links:list - List all the links within the documentation
links:check - Checks whether all links in the documentation are accessible
links:check is run in the CI checks.yml. If this step fails in the CI, it will cause
the build to break. Please check the output & manually resolve the issues. There might
be some cases where you need to update your doc/conf.py with specific values for the allowed
options for the Linkcheck Builder.
We recommend the following values be added:
linkcheck_rate_limit_timeout = 60
linkcheck_timeout = 15
linkcheck_delay = 30
linkcheck_retries = 2
linkcheck_anchors = False
linkcheck_ignore: list[str] = []
linkcheck_allowed_redirects = {
# All HTTP redirections from the source URI to
# the canonical URI will be treated as "working".
r"https://github\.com/.*": r"https://github\.com/login*"
}
✨ Features
- #409: Doc link & checks
Refactoring
- Switched deprecated Pydantic class-based
configtoConfigDict
Security
- #477: Switched
sonar:checkto useSONAR_TOKENfrom the environment
1.5.0
1.5.0 - 2025-06-18
Summary
This version of the PTB adds nox task sonar:check, see #451. This allows us to
use SonarQube Cloud to analyze, visualize, & track linting, security, & coverage. To
set it up, you'll need to execute the following instructions.
For a public project
- Specify in the
noxconfig.pythe relative path to the project's source code inConfig.sourcesource: Path = Path("exasol/<project-source-folder>")
- Add the 'SONAR_TOKEN' to the 'Organization secrets' in GitHub (this requires a person being a GitHub organization owner)
- Activate the SonarQubeCloud App
- Create a project on SonarCloud
- Add the following information to the project's file
pyproject.toml[tool.sonar] projectKey = "com.exasol:<project-key>" hostUrl = "https://sonarcloud.io" organization = "exasol"
- Post-merge, update the branch protections to include SonarQube analysis
For a private project
- Specify in the
noxconfig.pythe relative path to the project's source code inConfig.sourcesource: Path = Path("exasol/<project-source-folder>")
- Add the 'PRIVATE_SONAR_TOKEN' to the 'Organization secrets' in GitHub (this requires a person being a GitHub organization owner)
- Activate the exasonarqubeprchecks App
- Create a project on https://sonar.exasol.com
- Add the following information to the project's file
pyproject.toml[tool.sonar] projectKey = "com.exasol:<project-key>" hostUrl = "https://sonar.exasol.com" organization = "exasol"
- Post-merge, update the branch protections to include SonarQube analysis from exasonarqubeprchecks
✨ Features
- #451: Added nox task to execute pysonar & added Sonar to the CI
⚒️ Refactorings
- #451: Reduced scope of nox tasks
lint:code(pylint) andlint:security(bandit) to analyze only the package code
1.4.0
1.3.0
1.3.0 - 2025-06-02
Summary
This version of the PTB updates nox task version:check, see #441.
This requires file noxconfig.py of each project to specify the path to version.py in Config.version_file.
With this version of the PTB you can customize the arguments for pyupgrade in file noxconfig.py, see ticket #449 for details:
pyupgrade_args = ("--py310-plus",)📚 Documentation
- Updated getting_started.rst for allowing tag-based releases
✨ Features
- #441: Switched nox task for
version:checkto use the config value ofversion_fileto specify the location of theversion.py
🐞 Bug Fixes
- Updated
python-environmentaction to use space-separated values for extras
⚒️ Refactorings
- #449: Refactored
dependency:licenses:- to use pydantic models &
poetry showfor dependencies - to updated reading the
pyproject.tomlto be compatible with poetry 2.x+
- to use pydantic models &
🔩 Internal
- Relocked dependencies