Skip to main content

A Python project template covering the entire development lifecycle with various integrations, configurations and modules.

Project description

Serious Scaffold Python

A Python project template covering the entire development lifecycle with various integrations, configurations and modules.

CI Release DevContainer CommitLint Coverage PyPI PyPI - Python Version GitHub

pre-commit Checked with mypy Ruff Conventional Commits Pydantic v2 Serious Scaffold Python Open in Dev Containers

[!WARNING] Serious Scaffold Python is in the Alpha phase. Frequent changes and instability should be anticipated. Any feedback, comments, suggestions and contributions are welcome!

Serious Scaffold Python

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

🔧 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
# PDM: A modern Python package and dependency manager supporting the latest PEP standards.
pipx install pdm
# Pre-commit: Automates Git hooks for code quality checks.
pipx install pre-commit

🚀 Quickstart

  1. Generate the project.

    copier copy gh:serious-scaffold/ss-python /path/to/project
    
  2. Navigate to the project directory and initialize a git repository.

    cd /path/to/project
    git init
    
  3. Set up the development environment.

    make dev
    
  4. Commit the initialized project.

    git add .
    git commit -m "Initialize from serious-scaffold."
    
  5. That's it! Feel free to focus on the coding within src folder.

🛡 Badge

Badge for markdown:

[![Serious Scaffold Python](https://img.shields.io/endpoint?url=https://serious-scaffold.github.io/ss-python/_static/badges/logo.json)](https://serious-scaffold.github.io/ss-python)

Badge for restructuredtext:

.. image:: https://img.shields.io/endpoint?url=https://serious-scaffold.github.io/ss-python/_static/badges/logo.json
    :target: serious-scaffold.github.io/ss-python

It will look like this: Serious Scaffold Python

📜 License

MIT License, for more details, see the LICENSE file.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ss_python-0.0.49.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ss_python-0.0.49-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

Details for the file ss_python-0.0.49.tar.gz.

File metadata

  • Download URL: ss_python-0.0.49.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.12.3 CPython/3.10.12

File hashes

Hashes for ss_python-0.0.49.tar.gz
Algorithm Hash digest
SHA256 2ff10603bb7d0c83b9ba9b77cc83225aaeb5ad77c96b97d2c678b00a3734d709
MD5 cf02efee9796737123ae6f9eea3a9054
BLAKE2b-256 39f1c9bcfbc9e0f5d0be8822a3fd97b286e964d2f74d0c847f78c74c4054efd2

See more details on using hashes here.

File details

Details for the file ss_python-0.0.49-py3-none-any.whl.

File metadata

  • Download URL: ss_python-0.0.49-py3-none-any.whl
  • Upload date:
  • Size: 6.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.12.3 CPython/3.10.12

File hashes

Hashes for ss_python-0.0.49-py3-none-any.whl
Algorithm Hash digest
SHA256 bcbe73aaaeb12d0cd5096473270badf1c9de428480eb86094efbc12e07b32ef6
MD5 e1e9a6b35a7613e1eddfbf4978a9cfe5
BLAKE2b-256 2b57c56ad5f60968c8993eeda02d4464df8576b2c2449e10a132b746bd9cbd16

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page