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

FusePyStarteris 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 PyFoundry, starting your Python project is no longer a hurdle but a streamlined experience that scales from simple scripts to complex AI engineering workflows.

Contents

Project Initialization

The project is configured with tools that promote consistency and maintainability from the beginning:

  • editorconfig — Ensures consistent indentation, line endings, and formatting across different editors.

  • ruff — Ultra-fast linter and formatter for Python.

  • mypy — Static type checker for Python.

  • pre-commit — Framework for managing and maintaining multi-language pre-commit hooks.

Project Setup

The core project setup integrates tools for configuration, CLI handling, testing, and automation:

  • dynaconf — Flexible configuration management.

  • fire — CLI generation from Python code.

  • logging — Built-in logging configuration for visibility and debugging.

  • pytest — Simple yet powerful test framework.

  • coverage — Monitors code coverage during test execution.

  • pytest-cov — Plugin for integrating coverage with pytest.

  • tox — Automates testing across multiple Python environments.

Project deployment

Build docs with Sphinx, automate with GitHub Actions, and publish on GitHub Pages.

  • sphinx — For generating structured project documentation.

  • gh-actions — To automate documentation builds and deployment on every push or pull request, using a CI/CD pipeline.

  • gh-pages — Deploy documentation or project pages directly from the main branch using Sphinx.

Getting Started with uv

  1. Clone the repository

    git clone https://github.com/sunil-fm/FusePyStarter.git
    cd FusePyStarter
  2. Create a virtual environment

    uv venv .venv
    source .venv/bin/activate
  3. Install project dependencies

    uv sync

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"

Coming Soon

Planned future integrations:

  • PyPI Release — Prepare to publish the package to PyPI.

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.1.tar.gz (37.8 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.1-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for fusepystarter-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f8b53ae444a2e12a798c1b59df8e2e93c23998f5b825cec82422fd5be162d137
MD5 52c92466eb1042b0a4e40077232ec6bb
BLAKE2b-256 a96455f87edfac8a7e4b9163147420fbdc885ab667eba72af9d89e14527254ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fusepystarter-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 814cc08313ef4410bdea178d5b576bfdfbe2798aebfbde39fcae44cf559d76be
MD5 3c805fc1116b11027a7c03e89b1ee2ed
BLAKE2b-256 dbe5c09bc3a945c4af0785e022223aac8a06b17fe50ac2d015611bf5ead3d54d

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