Skip to content

Releases: exasol/python-toolbox

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

1.2.0

20 May 10:30
2641543

Choose a tag to compare

1.2.0 - 2025-05-20

Summary

With #420, any GitHub repos using the PTB for documentation will also need to
reconfigure the GitHub Pages settings for each repo:

  1. Go to the affected repo's GitHub page
  2. Select 'Settings'
  3. Scroll down & select 'Pages'
  4. Within the 'Build and deployment' section, change 'Source' to 'GitHub Actions'.

This should also create a 'github-pages' environment, if it does not yet exist.

We'll also need to configure settings for github-pages environment:

  1. Go to the affected repo's GitHub page
  2. Select 'Settings'
  3. Scroll down & select 'Environment'
  4. Click on 'github-pages'
  5. In the 'Deployment branches and tags', click 'Add deployment branch or tag rule'
  6. Select 'Ref type' to be 'Tag' and set the 'Name pattern' to [0-9]*.[0-9]*.[0-9]* (or whatever matches that repo's tags)

For most repos using the PTB, the updating of the github pages only happens when a
PR is merged to main, so please check post-merge that it worked as expected.

With #422, we have hardened the security in our GitHub workflows by explicitly
setting permissions to the default GitHub token. In a few repos who greatly differ
from the default PTB setup, this might lead to small issues which require the allowed
permissions to be increased for specific jobs.

⚒️ Refactorings

  • #412: Refactored pre commit hook package version.py into nox task

Security

  • #420: Replaced 3rd party action with GitHub actions for gh-pages
  • #422: Set permissions within the GitHub workflows to restrict usage of the default GitHub token

✨ Features

  • #161: Added support for installing extras & not using a cache to the python-environment action
  • #408: Added support for GitHub runners who do not per default have pipx to use the python-environment action
  • #433: Removed directory .html-documentation/.doctrees after creating documentation
  • #436: Updated template for new projects to poetry 2.x

Bugfixes

  • #428: Fixed detecting report coverage failures
  • #434: Adapted template so new projects do not fail from lint errors