Releases: exasol/python-toolbox
1.10.0
1.10.0 - 2025-10-10
New BaseConfig
class and improved Setup Python Github Action.
BaseConfig class for PTB attributes
The BaseConfig class was introduced in this version. This class is used to consolidate
the attributes needed for the PTB's functionalities into an inherited object which can
be expanded upon as needed. At this point, the BaseConfig class includes
python_versions
, exasol_versions
, and create_major_version_tags
. Users of
the PTB should update their noxconfig.py
to start using this feature.
# noxconfig.py
from exasol.toolbox.config import BaseConfig
# existing Config should inherit from BaseConfig
class Config(BaseConfig):
# if present, remove any attributes already in the BaseConfig from the added attributes
...
# if no overlapping attributes with `BaseConfig` were present in `Config`, then this is unmodified.
PROJECT_CONFIG = Config()
# if no overlapping attributes with `BaseConfig` were present in `Config`, then this should be modified.
PROJECT_CONFIG = Config(python_versions=(...), exasol_versions=(...), create_major_version_tags=True)
Feature
- #465: Created BaseConfig class to better synchronize attributes needed for the PTB's
growing functionalities
Internal:
- Call poetry install always in setup python actions
Dependency Updates
main
- Updated dependency
coverage:7.10.3
to7.10.6
- Updated dependency
import-linter:2.3
to2.4
- Updated dependency
shibuya:2025.7.24
to2025.8.16
- Added dependency
sphinx-toolbox:4.0.0
- Updated dependency
typer:0.16.0
to0.17.3
1.9.0
1.9.0 - 2025-08-28
This release fixes stability problems with the Github action python-environment
. Optionally, the nox task release:trigger
now creates an additional tag with pattern v<MajorVersion>
.
Refactorings
1.8.0
1.8.0 - 2025-08-14
With the refactoring of the dependency:audit
, we use poetry export
. For how it can
be added (project-specific or globally), see the
poetry export documentation.
Within the report.yml
, the actions/download-artifact@v4.2.1
was upgraded to
v5.0.0
. This upgrade should not affect the existing functionality of the standard
GitHub workflows from the PTB. However, there are breaking changes that affect cases
where artifacts are downloaded by ID. For further details, please see the
release notes for 5.0.0.
Feature
- #469: Moved manual approval for slow tests to merge-gate.yml
Refactoring
- #517: Refactored
dependency:audit
& split up to support upcoming work - #541: Refactored test code using
prysk
and removedprysk
as a dependency
Bugfix
- #533: Fixed project-template tests to run with unreleased PTB to better detect issues pre-release
Dependency Updates
main
- Updated dependency
coverage:7.10.1
to7.10.3
- Updated dependency
mypy:1.17.0
to1.17.1
- Updated dependency
pre-commit:4.2.0
to4.3.0
- Removed dependency
prysk:0.20.0
- Updated dependency
pylint:3.3.7
to3.3.8
- Updated dependency
pytest:7.4.4
to8.4.1
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:prepare
to 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.6
to2025.7.19
- Updated dependency
mypy:1.16.1
to1.17.0
- Updated dependency
shibuya:2025.5.30
to2025.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
config
toConfigDict
Security
- #477: Switched
sonar:check
to useSONAR_TOKEN
from the environment