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.

  • pypi-release — Prepare to publish the package to PyPI.

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:

  • Github Issue Template — Report issue and suggestion template.

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.5.tar.gz (52.6 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.5-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for fusepystarter-0.1.5.tar.gz
Algorithm Hash digest
SHA256 60cc9f1b9d022edc11117acc79e6c814c548823879b0a7434717c68ab482564a
MD5 c47d59f09ce108c58a1d4d9149d6b207
BLAKE2b-256 e79fc06bd4449b85b6c20ae38c9739832677a85793288ad6f786da34b7f574f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fusepystarter-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 3c7d6b8a7ddd33b2034a7dfed71904b29e20790bab10218c84ba8b2280a1b8e1
MD5 04120262baab95ee151c5e0790360ee0
BLAKE2b-256 ee480be89bd3d5b865df5a71b6a7a08c828c188c78d81cb34b5dcc5e1c166a34

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