SSP GH
GitHub demonstration for serious-scaffold-python.
[!WARNING] SSP GH is in the Alpha phase. Frequent changes and instability should be anticipated. Any feedback, comments, suggestions and contributions are welcome!
Setting up a project often involves more than just establishing a basic project structure. It involves tasks like integrating GitHub Actions or GitLab CI/CD, configuring lint, test and documentation, as well as implementing settings, logging and other frequently used modules. Serious Scaffold Python streamlines this process. Powered by copier, bootstrapping a new Python project can be done with a single command. By answering a few questions, the project will be fully configured and ready for development. Furthermore, the project can be updated alongside the advancement of the template.
If you find this helpful, please consider sponsorship.
🛠️ Features
- Project setup and template update with
copier. - Manage virtual environments for development with
pipenv. - Manage dependency with categorized requirements and constraints.
- Automate Git hooks with pre-commit hooks and local linters.
- Lint with
black,isort,mypy,ruff, andtoml-sort. - Test with
pytestandcoveragefor threshold and reports. - Document with
sphinx, thefurotheme, and mypy/coverage reports. - Version the package using git metadata with
setuptools-scm. - Continuous Integration with GitHub Actions and GitLab CI/CD.
- Versioned documentation with Read the Docs integration.
- Develop Command Line Interfaces with
typer. - Manage configurations with
pydantic-settings. - Centralize common actions with a unified Makefile.
- VSCode settings with recommended extensions.
🔧 Prerequisites
Certain system-level Python applications are needed and it is recommended to use pipx to install and run them in isolated environments. Refer to pipx's installation instructions here. Once pipx is set up, install the necessary tools using the following commands.
# Copier: Template rendering for projects.
pipx install copier
# Pipenv: Virtual environment and package manager for Python.
pipx install pipenv
# Pre-commit: Automates Git hooks for code quality checks.
pipx install pre-commit
🚀 Quickstart
-
Generate the project.
copier copy gh:serious-scaffold/serious-scaffold-python /path/to/project
-
Navigate to the project directory and initialize a git repository.
cd /path/to/project git init
-
Set up the development environment.
make dev -
Commit the initialized project.
git add . git commit -m "Initialize from serious-scaffold-python."
-
That's it! Feel free to focus on the coding within
srcfolder.
🛡 Badge
Badge for markdown:
[](https://serious-scaffold.github.io/serious-scaffold-python)
Badge for restructuredtext:
.. image:: https://img.shields.io/endpoint?url=https://serious-scaffold.github.io/serious-scaffold-python/_static/badges/logo.json
:target: huxuan.github.io/ssp-gh
📜 License
MIT License, for more details, see the LICENSE file.
Metadata
Release files for ssp-gh 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| ssp-gh-0.0.1.tar.gz | 31.1 kB | Without provenance | Details for ssp-gh-0.0.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ssp_gh-0.0.1-py3-none-any.whl | Python 3 | none | any | Details for ssp_gh-0.0.1-py3-none-any.whl |
Total release size: 37.5 kB
Release files / ssp-gh-0.0.1.tar.gz
| Download URL | ssp-gh-0.0.1.tar.gz |
|---|---|
| Size | 31.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c845c1fbab8479adb1f84dbd923140dd9ec5ceada8219571608a749557957d22
|
|
BLAKE2b-256 checksum How to use checksums |
7e4e39eca899d9458cd2a2801ab5cf640c0c1b8f1d1709f8771314e543678d65
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.12.0
|
Release files / ssp_gh-0.0.1-py3-none-any.whl
| Download URL | ssp_gh-0.0.1-py3-none-any.whl |
|---|---|
| Size | 6.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
62469a55a452bed15161f179fa4aa6392c4ed3cefe77577dc2dcfa97c72fe5f5
|
|
BLAKE2b-256 checksum How to use checksums |
00ac9f1092aba50f3f97796e4e6b7494f3c31c8741ab6e678f8cce7ecc676822
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.12.0
|
Security for ssp-gh 0.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.