Releases: viperior/python-project-template
Releases · viperior/python-project-template
Panda Update
Summary
The panda is known for its clear separation between different parts of its habitat. This release focuses on improving the user experience and simplifying the project's dependency management while maintaining a clear separation between different parts of the project.
It also adds pandas
to the project to demonstrate maintaining dev and user requirements independently.
New features
- Dev and user requirements are now maintained in separate files:
dev-requirements.in
andrequirements.in
(closes #60) - A third-party dependency,
pandas
, was added to the template's example code to support clear separation between dev and user requirements (closes #90)
Issues fixed
- Resolved
ValueError - int not callable
when running flake8 by updating project dependency versions and modifying the package installation process in the GitHub Actionstest
workflow (closes #108)
Improvements
- Changed from static dependency versions to minimum versions (
foopackage==3.2.7 => foopackage>=3.2
) - Remove
pytest-xdist
as a default dependency. Users can add this to their projects when needed and if they are okay with the added complexity. In the future,pytest-xdist
could be an option to include in a template wizard. - Remove
CodeQL
as a default CI/CD workflow. Users can add this to their projects when needed and if they are okay with the added complexity. CodeQL does not work well with private repositories, which makes its default inclusion an immediate hurdle for users who want to use the template in a new private repository. In the future, CodeQL could be an option to include in a template wizard. (closes #111) - Improve
pytest
exception testing approach usingpytest.raises()
(closes #77)
Maintenance
- Updated project dependency versions
Closed pull requests
- Bump coverage from 6.4.4 to 6.5.0 by @dependabot in #86
- Bump pytest from 7.1.3 to 7.2.0 by @dependabot in #87
- Bump pytest-xdist from 2.5.0 to 3.0.2 by @dependabot in #88
- Spring cleaning 2023: bug fixes, updates, and improvements by @viperior in #109
- Bump pytest from 7.2.1 to 7.2.2 by @dependabot in #112
- Bump pylint from 2.16.2 to 2.16.3 by @dependabot in #110
Full Changelog: v1.2.0...v2.0.0
Minor style and configuration update
Age of Dependabot
Summary
This release upgrades the Dependabot integration by allowing it to check for updates to GitHub Actions in addition to pip packages. It also includes an improvement to the project's structure, better documentation, and some minor bugfixes.
New features
- Configure dependabot to update GitHub Actions (closes #64)
Issues fixed
- Resolve the pylint import error encountered during the GitHub Action workflow execution (closes #58)
Improvements
Documentation and testing improvements
New features
- Configure the
setuptools
build tool by creating the required metadata files
Improvements
Code Coverage Analysis
Improvements
- Measure code coverage using
coverage
and require 100% code coverage to pass PR checks (closes #9)
Testing
- Improve the design of the
test_flip_coins_function
to use parametrized test input data and run multiple times with a range of coin count inputs - Exclude pylint success/failure reporting from code coverage measurement
- Achieve 100% code coverage ✨
Enforce Flake8 Rules
Improvements
- Enforce Flake8 Rules (closes #11)
- Modify max code line length to 100 characters in
flake8
command
Fail Faster During Testing
Automated Dependency Management
New features
- Configure Dependabot to automate the management of the project's dependencies (closes #10)
Changelog Template
New features
- Changelog template with standard categories and PR/issue footnotes (closes #8)
CI/CD via GitHub Actions
New features
- Configure a
FUNDING.yml
that integrates with GitHub's Sponsors functionality (#2) - Configure a GitHub Action that runs the test suite using
pytest
(#3) - Display a badge in the project readme with the status of the latest GitHub Actions build workflow (#6)
- Configure a GitHub Actions workflow that performs CodeQL analysis (#7)
Issues fixed
- Remove static reference to project name (#5)
Improvements
- Rename the GitHub actions workflow to
build
fromPython application