Skip to main content

A modern Python project forge with pre-configured tooling and CI/CD.

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

FusePyStarter is a modern project template designed to simplify the initial setup of Python projects by providing a solid foundation with best practices built in from day one. It helps you avoid common setup pitfalls and enforces consistency so you can focus on what matters: writing great code.

Why FusePyStarter?

  • Consistency: Includes EditorConfig and Ruff to maintain uniform code style and linting across your team.

  • Safety: Integrates MyPy for static type checking to catch bugs early.

  • Automation: Pre-configured pre-commit hooks automate code quality checks.

  • Productivity: Environment management and logging setup included for scalable projects.

  • Quality: Built-in testing and code coverage ensure reliability and maintainability.

With FusePyStarter, starting your Python project is no longer a hurdle but a streamlined experience that scales from simple scripts to complex AI engineering workflows.

Features

FusePyStarter is equipped with powerful tools and integrations that promote consistency, automation, and maintainability right from the start. These features are grouped into two key areas: code quality & consistency and project automation & scalability.

Code Quality & Consistency

  • EditorConfig — Ensures consistent indentation, line endings, and formatting across editors and IDEs.

  • Ruff — A lightning-fast Python linter and formatter.

  • MyPy — Performs static type checking to catch type-related bugs early.

  • pre-commit — Automates code quality checks via Git hooks.

Project Automation & Scalability

  • Dynaconf — Flexible and layered configuration management system.

  • Fire — Instantly generates CLI interfaces from your Python code.

  • Logging — Built-in, configurable logging setup for debugging and observability.

  • Pytest — A mature and powerful testing framework.

  • Coverage — Tracks code coverage during test runs.

  • pytest-cov — Integrates coverage directly with pytest.

  • Tox — Automates testing across different Python environments and dependency sets.

These tools work together to provide a seamless development experience — whether you’re building a quick prototype or a production-grade system.

Quick Start

  1. Install the latest framework for Python if you haven’t already:

    $ pip install -U fusepystarter
    # or, using uv
    $ uv add fusepystarter
  2. Initialize your project:

    $ fusepystarter init
  3. Create a repository and push your project.

Environment Examples

Sample .env.example file for Dynaconf environment:

ENV_FOR_DYNACONF=dev
DYNACONF_APP_NAME=FusePyStarter

Sample .secrets.example file:

[default]
access_key = "my_access_key"
secret_key = "my_secret_key"
db_user_name = "username"
db_password = "password"

[dev]
access_key = "my_access_key-dev"
secret_key = "my_secret_key-dev"
db_user_name = "username-dev"
db_password = "password-dev"

[stage]
access_key = "my_access_key-stg"
secret_key = "my_secret_key-stg"
db_user_name = "username-stg"
db_password = "password-stg"

[prod]
access_key = "my_access_key-prod"
secret_key = "my_secret_key-prod"
db_user_name = "username-prod"
db_password = "password-prod"

Learn More

For more detailed tutorials and documentation, visit the official FusePyStarter Tutorial.

Contribute or Follow Along

FusePyStarter is evolving. Star the repository, follow development, or contribute by submitting issues and pull requests!

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

fusepystarter-0.1.6.tar.gz (52.3 kB view details)

Uploaded Source

Built Distribution

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

fusepystarter-0.1.6-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

Details for the file fusepystarter-0.1.6.tar.gz.

File metadata

  • Download URL: fusepystarter-0.1.6.tar.gz
  • Upload date:
  • Size: 52.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for fusepystarter-0.1.6.tar.gz
Algorithm Hash digest
SHA256 28394f9aeb35fde29f5eb2fe038e60a060f49984acdbe68cddf35825d9c9e078
MD5 eedeeb02e59910f19763f6b767fb78de
BLAKE2b-256 fdbe23cce15081f58b3a2fcf4ee901f130d2cd0f927eae2a5e323754c937fbfe

See more details on using hashes here.

File details

Details for the file fusepystarter-0.1.6-py3-none-any.whl.

File metadata

File hashes

Hashes for fusepystarter-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 08f2ee5a41d725cd697d662b3a93fdd31ea274b8aafe93245bead922003b05ea
MD5 cb7eafe5529f6c5b3b83da0481951203
BLAKE2b-256 e6957766cc9aa02d0e76dc2c16cd608fef8f8e4c5ac7057d3c516c59f84a8262

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