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.4.tar.gz (53.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.4-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for fusepystarter-0.1.4.tar.gz
Algorithm Hash digest
SHA256 ff198d3d4208efa2f442fafa36d750adccb21d3a1c069a6bc4c3dfead0ae56c0
MD5 fe36f3be515f771473fe233d0a9ad1a3
BLAKE2b-256 b816174ee35725aa841b2613e744ed6c6e27f0a513868529380b0a46794d1f5b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fusepystarter-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 22484e8f8f2e755355115ff7b2f23b901493da86b485a0a29dab90d48d053924
MD5 a965b8518ad19a47416ea5da5a54913c
BLAKE2b-256 1f8a93f0c44c1f65b16616a353a20106e85d6ed2208bc0c0824b9fe6fc50b865

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