Streamlining Python Project Development with a Comprehensive Toolset for Quality, Efficiency, and Maintainability
Project description
Hyperfast Python Template
Streamlining Python Project Development with a Comprehensive Toolset for Quality, Efficiency, and Maintainability
- Documentation: https://hyperfast-python.entelecheia.ai
- GitHub: https://github.com/entelecheia/hyperfast-python-template
- PyPI: https://pypi.org/project/hyperfast-python-template
The Hyperfast Python Template is a powerful and comprehensive solution designed to accelerate the development and maintenance of high-quality Python projects. By incorporating industry best practices and automating key aspects such as dependency management, releases, code formatting, testing, and documentation, this template streamlines the entire development process. It ensures code quality through continuous integration, coverage reporting, linting, and static type-checking while providing seamless support for Conventional Commits and Semantic Versioning. With the Hyperfast Python Template, developers can efficiently create and manage Python projects, focusing on their core functionality while enjoying a robust, well-organized, and maintainable codebase.
Quickstart
There are two ways to use this project:
- Use [Copier] to create a project to your local machine directly
- Inject [Hyperfast Python Template] into an existing project
I. Use Copier
- Install Copier
pipx install copier
- Run
copier copy --trust gh:entelecheia/hyperfast-python-template path/to/destination
- Do your work
II. Inject the template
- Install Copier
pipx install copier
- From the root of your project, run
copier copy --trust gh:entelecheia/hyperfast-python-template .
- Do your work
Managing Actions Secrets and Variables in Your Project
When using the HyFI-Template for your project, there are several GitHub Actions secrets and variables that you need to add to ensure proper functioning of the release action and optional JupyterBook deployment.
Adding PYPI_API_TOKEN and TEST_PYPI_API_TOKEN
To automate the release process of your project to PyPI, you need to provide two tokens: PYPI_API_TOKEN
and TEST_PYPI_API_TOKEN
. These tokens will be used by the GitHub Actions workflow to authenticate with PyPI and TestPyPI, respectively.
- Generate an API token for your PyPI account by following the instructions in the official PyPI documentation.
- Generate an API token for your TestPyPI account by following the instructions in the official TestPyPI documentation.
- In your GitHub repository, go to the "Settings" tab and click on "Secrets" in the left sidebar.
- Click the "New repository secret" button.
- Add the
PYPI_API_TOKEN
secret with the value set to the token generated for your PyPI account. - Add the
TEST_PYPI_API_TOKEN
secret with the value set to the token generated for your TestPyPI account.
By providing these tokens, your project's release action will have the necessary permissions to publish your package to PyPI and TestPyPI.
Optionally Adding CNAME for JupyterBook Deployment
If you plan to deploy the JupyterBook documentation to a custom domain, you'll need to add a CNAME
variable to your GitHub repository.
- In your GitHub repository, go to the "Settings" tab and click on "Pages" in the left sidebar.
- Follow the instructions to configure your custom domain.
- In your GitHub repository, go to the "Settings" tab and click on "Repository Variables" in the left sidebar.
- Click the "New repository variable" button.
- Add a new variable with the key
CNAME
and set the value to your custom domain (e.g.,your-custom-domain.com
).
By adding the CNAME
variable, the GitHub Pages action in your deploy-docs.yaml
workflow will properly configure the deployment to use your custom domain.
With the CNAME
repository variable properly configured, your project will be set up to handle JupyterBook deployment to your custom domain effectively.
Changelog
See the CHANGELOG for more information.
Contributing
Contributions are welcome! Please see the contributing guidelines for more information.
License
This project is released under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file hyperfast_python_template-0.16.3.tar.gz
.
File metadata
- Download URL: hyperfast_python_template-0.16.3.tar.gz
- Upload date:
- Size: 5.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7a13a24911421ccda8f5247b31aa9b17dff49acc42723d09a7322f7220ee348 |
|
MD5 | 9d5cf9678f8ac40bdab6807d5f30092c |
|
BLAKE2b-256 | 8e471a40bd77cfdf8f23dcb1c4475ca2bd4ec3ef2fd0bc045c1176c728c8538c |
Provenance
The following attestation bundles were made for hyperfast_python_template-0.16.3.tar.gz
:
Publisher:
release.yaml
on entelecheia/hyperfast-python-template
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
hyperfast_python_template-0.16.3.tar.gz
- Subject digest:
b7a13a24911421ccda8f5247b31aa9b17dff49acc42723d09a7322f7220ee348
- Sigstore transparency entry: 148947445
- Sigstore integration time:
- Predicate type:
File details
Details for the file hyperfast_python_template-0.16.3-py3-none-any.whl
.
File metadata
- Download URL: hyperfast_python_template-0.16.3-py3-none-any.whl
- Upload date:
- Size: 5.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1cdc6ece2d124098fb12c3f65acb16f75df9060cf6dea04f67205e22470955f |
|
MD5 | c6daa9cdcd0fe0adfd8345cb76cd4db0 |
|
BLAKE2b-256 | 1b9ab38f6c5dc4e9339bf2d7eb749873c6e4d7f91973eb4fe223e645f25bafc2 |
Provenance
The following attestation bundles were made for hyperfast_python_template-0.16.3-py3-none-any.whl
:
Publisher:
release.yaml
on entelecheia/hyperfast-python-template
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
hyperfast_python_template-0.16.3-py3-none-any.whl
- Subject digest:
d1cdc6ece2d124098fb12c3f65acb16f75df9060cf6dea04f67205e22470955f
- Sigstore transparency entry: 148947447
- Sigstore integration time:
- Predicate type: