Skip to content

Releases: exasol/python-toolbox

1.7.4

06 Aug 10:49
31b1ad7

Choose a tag to compare

1.7.4 - 2025-08-06

This release fixes a bug in the GH action actions/python-environment where the wrong Python version was installed in the Poetry environment.

Bugfixes

  • #527: Use correct Python version in actions/python-environment

1.7.3

04 Aug 16:02
997be54

Choose a tag to compare

1.7.3 - 2025-08-04

Bugfixes

  • #523: Fixed pipx installation for older versions of pip

1.7.2

31 Jul 12:45
34fc607

Choose a tag to compare

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

30 Jul 11:49
f1d5746

Choose a tag to compare

1.7.1 - 2025-07-30

Documentation

  • #512: Consolidated and added to deploying documentation pages
  • #510: Consolidated information of metrics & updated to include more about Sonar

Bugfix

  • #514: Altered docstring in version.py to pass autosummary

1.7.0

28 Jul 15:00
46801d8

Choose a tag to compare

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 to 2025.7.19
  • Updated dependency mypy:1.16.1 to 1.17.0
  • Updated dependency shibuya:2025.5.30 to 2025.7.14

1.6.1

16 Jul 09:12
d8a216b

Choose a tag to compare

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

27 Jun 08:38
74e5352

Choose a tag to compare

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 to ConfigDict

Security

  • #477: Switched sonar:check to use SONAR_TOKEN from the environment

1.5.0

18 Jun 07:21
12b2fc8

Choose a tag to compare

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

  1. Specify in the noxconfig.py the relative path to the project's source code in Config.source
        source: Path = Path("exasol/<project-source-folder>")
  2. Add the 'SONAR_TOKEN' to the 'Organization secrets' in GitHub (this requires a person being a GitHub organization owner)
  3. Activate the SonarQubeCloud App
  4. Create a project on SonarCloud
  5. Add the following information to the project's file pyproject.toml
        [tool.sonar]
        projectKey = "com.exasol:<project-key>"
        hostUrl = "https://sonarcloud.io"
        organization = "exasol"
  6. Post-merge, update the branch protections to include SonarQube analysis

For a private project

  1. Specify in the noxconfig.py the relative path to the project's source code in Config.source
        source: Path = Path("exasol/<project-source-folder>")
  2. Add the 'PRIVATE_SONAR_TOKEN' to the 'Organization secrets' in GitHub (this requires a person being a GitHub organization owner)
  3. Activate the exasonarqubeprchecks App
  4. Create a project on https://sonar.exasol.com
  5. 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"
  6. 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) and lint:security (bandit) to analyze only the package code

1.4.0

06 Jun 12:48
dd481dc

Choose a tag to compare

1.4.0 - 2025-06-06

Summary

✨ Features

  • #426: Allowed configuring the python version used for coverage

Bugfixes

  • #463: Fixed dependency:licenses to correctly parse exceptional names

1.3.0

02 Jun 08:20
b697249

Choose a tag to compare

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:check to use the config value of version_file to specify the location of the version.py

🐞 Bug Fixes

  • Updated python-environment action to use space-separated values for extras

⚒️ Refactorings

  • #449: Refactored dependency:licenses:
    • to use pydantic models & poetry show for dependencies
    • to updated reading the pyproject.toml to be compatible with poetry 2.x+

🔩 Internal

  • Relocked dependencies