A development-focused Python project template with various integrations, configurations and modules.
Project description
Serious Scaffold Python
A development-focused Python project template with various integrations, configurations and modules.
Project setup often involves more than just creating a basic project structure. It includes tasks like setting up GitHub Actions or GitLab CI/CD, configuring linters, tests and documentation, and implementing settings and logging modules. If you are tired of this repetitive process, Serious Scaffold Python is here to help. Utilizing the power of copier
, you can generate a new Python project with just one command. Simply answer a few questions, and your project will be fully set up. Additionally, your project can be updated alongside the advancement of the template.
If you find this helpful, please consider sponsorship.
🛠 Features
- Template Rendering
- Harness
copier
to initiate projects and enable template updates.
- Harness
- Environment Management
- Utilize
pipenv
for virtual environment management. - Use containers and system-level
pip
for CI/CD.
- Utilize
- Dependency Management
- Manage dependencies categorically with constraints for different environments.
- Code Quality Checks
- Tests
- Documentation
- Continuous Integration
- Offer a unified
Makefile
for common actions. - Provide configurations for GitHub Actions and GitLab CI/CD.
- Support Read the Docs integration.
- Offer a unified
- Common Modules
- Use
typer
for CLI tasks, including tests, documentation, and configuration. - Adopt
setuptools-scm
for versioning via git metadata. - Implement
pydantic-settings
for robust settings management.
- Use
- Miscellaneous
- Offer VSCode settings and 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 by answering several questions.
copier copy gh:serious-scaffold/serious-scaffold-python /path/to/project
-
Initialize an empty git repository.
cd /path/to/project git init
-
Prepare development environment.
make dev
-
Commit the initialized project.
git add . git commit -m "Init from serious-scaffold-python."
-
Initialization Done! Focus on the logical code within
src
folder now.
📜 License
MIT, for more details, see the LICENSE file.
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
Hashes for serious_scaffold-0.0.19-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d09968b1c951eb3fb32951bf68247d1417cc61f799bd8e53bf8d081894415bb6 |
|
MD5 | 9943a04ecab4fdf2569c7e7cc232e347 |
|
BLAKE2b-256 | 88e6e2688b952decc9d1dd8fc8fa9114e02b1be91c3debf230625cffd2dac36c |