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.2.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.2-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fusepystarter-0.1.2.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.2.tar.gz
Algorithm Hash digest
SHA256 f89a1e5870749de7d63f4ec472c0aed5a65d2302395faad63c326a2175ace9ea
MD5 9264403abea79d45540b3ac5a5d3c967
BLAKE2b-256 b36f240f7a14c1982ab2cdd348968e2c378b32d888e29454bbcdc9fe8586f0be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fusepystarter-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 dec30ad9587a817ba048398d69e0c1af4cdbb9ef17b6b9fbb6973b0b7758accf
MD5 2c8056afcfb1d735f3790d9e59400642
BLAKE2b-256 45c6ffe06bc7887914cb7a423470160aaa26e3a26837921e1ff429fe0c59ee07

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