Recent Releases of python_project_template

python_project_template - v0.2.2

Changed

  • README.md : Added option -U to all calls to uv sync.
  • GitHub workflow testfuture.yml : added a step to remove the Python upper version constraint from pyproject.toml

Dependencies

  • Updated to ruff>=0.11.0 (from ruff>=0.9.5)
  • Updated to pyright>=1.1.396 (from pyright>=1.1.393)
  • Updated to sourcery>=1.35 (from sourcery>=1.33)
  • Updated to pre-commit>=4.1 (from pre-commit>=4.0)

- Python
Published by ClaasRostock 12 months ago

python_project_template - v0.2.1

Added

  • Sphinx documentation: Added extension to support Markdown-based diagrams created with Mermaid.
  • Added CITATION.cff file allowing to enter citation information which gets shown on GitHub.
  • Added support for Python 3.13
  • pyproject.toml : Added keywords
  • Added PowerShell script rename_package.ps1, supporting the initial renaming of package name, author, modules etc after a new repository has been created based on this template.
  • Added a temporary README.md, documenting how to create a new repository based on this template. The original README.md does still exist, but got renamed to _README.md. The PowerShell script rename_package.ps1 also takes care to delete the temporary README.md containing the instructions on template usage and restore the original / "production" README.md .

Changed

  • Sphinx documentation: Changed default top-level structure for API documentation.
  • ruff.toml: updated
  • pytest.ini : Added option --duration=10. This will show a table listing the 10 slowest tests at the end of any test session.
  • pyproject.toml:
    • cleaned up and restructured dependencies
    • Turned 'dev-dependencies' into a dependency group 'dev' in table [dependency-groups]. (This is the more modern style to declare project dependencies)
  • VS Code settings: Changed "mypy-type-checker.preferDaemon" from 'false' to 'true'
  • Sphinx documentation:
    • index.rst : Changed order of toc tree headlines
    • conf.py : Added selected settings introduced in the latest work in axtreme repository
  • tests/test_api.py : Added type annotation for return types
  • GitHub workflows test.yml and _testfuture.yml : rewrote how pytest gets called in a cleaner way
  • Renamed the CLI module from 'src/mypackage/cli/mypackage.py' to 'src/mypackage/cli/__main__.py' in order to avoid an import error establishing in case the user chooses a single-word package name (i.e. a package name without a hyphen). In such case, the names of the CLI script, the CLI module and the package are all same, which leads to problems when importing from the package inside the CLI module. Giving the CLI module a different name (as e.g. done now by renaming 'mypackage.py' to '__main__.py') solves the name clash and import error.
  • Do not run code quality checks in nightly builds
  • Included uv.lock file in version control
  • GitHub workflows: Enable cache by default.

Solved

  • Sphinx documentation: Resolved issue that documentation of class members was generated twice.
  • pre-commit-config.yaml: Corrected how --fix=auto gets passed as argument
  • Resolved issues raised by ruff 0.9.5

Dependencies

  • Updated to torch==2.6.0 (from torch==2.5.1)
  • Updated to ruff>=0.9.5 (from ruff>=0.9.2)
  • Updated to pyright>=1.1.393 (from pyright>=1.1.392)
  • Updated to sourcery>=1.33 (from sourcery>=1.31)
  • Updated to sphinx-autodoc-typehints>=3.0 (from sphinx-autodoc-typehints>=2.5)
  • Updated to mypy>=1.14 (from mypy>=1.13)
  • Updated to setup-uv@v5 (from setup-uv@v2)
  • Updated to dictIO>=0.4.1 (from dictIO>=0.4.0)

Summary by Sourcery

Improves the project template by adding new features, refactoring existing code, and updating dependencies.

New Features: - Adds support for Mermaid diagrams in Sphinx documentation. - Adds a CITATION.cff file to display citation information on GitHub. - Adds support for Python 3.13. - Adds a PowerShell script to automate renaming the package and author information when creating a new repository from the template. - Adds a temporary README to guide users on creating a new repository based on the template. - Includes a uv.lock file in version control to ensure consistent dependency versions across environments.

Tests: - Adds type annotations for return types in tests/test_api.py. - Adds the --duration=10 option to pytest.ini to display the 10 slowest tests.

- Python
Published by ClaasRostock 12 months ago

python_project_template - v0.1.9

Changed

  • Changed from pip/tox to uv as package manager
  • README.md : Completely rewrote section "Development Setup", introducing uv as package manager.
  • Changed publishing workflow to use OpenID Connect (Trusted Publisher Management) when publishing to PyPI
  • Updated copyright statement
  • VS Code settings: Turned off automatic venv activation
  • replaced black formatter with ruff formatter
  • removed black

Removed

  • VS Code settings: Removed the setting which added the /src folder to PythonPath. This is no longer necessary. uv installs the project itself as a package in "editable" mode, which removes the need to manually add /src to the PythonPath environment variable.

GitHub workflows

  • (all workflows): Adapted to use uv as package manager
  • testfuture.yml : updated Python version to 3.13.0-alpha - 3.13.0
  • testfuture.yml : updated name of test job to 'test313'

Dependencies

  • updated to ruff>=0.6.3 (from ruff==0.2.1)
  • updated to pyright>=1.1.378 (from pyright==1.1.350)
  • updated to setup-python@v5 (from setup-python@v4)
  • updated to actions-gh-pages@v4 (from actions-gh-pages@v3)
  • updated to upload-artifact@v4 (from upload-artifact@v3)
  • updated to download-artifact@v4 (from download-artifact@v3)
  • updated to sourcery>=1.22 (from sourcery==1.16)
  • updated to dictIO>=0.3.4 (from dictIO>=0.3.1)
  • removed black

- Python
Published by ClaasRostock over 1 year ago

python_project_template - v0.1.6

Changed

  • Moved all project configuration from setup.cfg to pyproject.toml
  • Moved all tox configuration from setup.cfg to tox.ini.
  • Moved pytest configuration from pyproject.toml to pytest.ini
  • Deleted setup.cfg

Dependencies

  • updated to black[jupyter]==24.1 (from black[jupyter]==23.12)
  • updated to ruff==0.2.1 (from ruff==0.1.8)
  • updated to pyright==1.1.350 (from pyright==1.1.338)
  • updated to sourcery==1.15 (from sourcery==1.14)
  • updated to dictIO>=0.3.1 (from dictIO>=0.2.9)

- Python
Published by ClaasRostock about 2 years ago

python_project_template - v0.1.4

Changed

  • incorporated latest updates introduced in projects

Dependencies

  • Updated dependencies to latest versions

- Python
Published by ClaasRostock over 2 years ago

python_project_template - v0.1.3

Changed

  • GitHub workflow publish_release.yml: corrected smaller errors
  • Explicitly removed .env file from remote repository
  • Updated README.md to include guidance on how to create a .env file locally
  • dependencies: updated packages in requirements-dev.txt to latest versions

- Python
Published by ClaasRostock over 2 years ago

python_project_template - v0.1.2

Changed

  • Modularized GitHub workflows
  • requirements-dev.txt: Updated dependencies to latest versions
  • setup.cfg: indicated supported Python versions as py310 and py311 (from formerly py39 and py310)
  • GitHub workflows: changed default Python version from 3.10 to 3.11

- Python
Published by ClaasRostock over 2 years ago

python_project_template - v0.1.0

Changed

  • pyproject.toml: Changed ruff configuration to by default allow Uppercase variable names in functions. (As this is a very common case in science calculus)
  • README.md: Changed install infos for development setup to pip install requirements-dev.txt (not requirements.txt)

- Python
Published by ClaasRostock almost 3 years ago

python_project_template - v0.0.1

Initial Release

- Python
Published by ClaasRostock about 3 years ago