Skip to main content

Production-ready FastAPI project generator — scaffold monoliths, microservices, and AI backends with built-in logging, Docker, Kubernetes, Celery, CI/CD, and 30+ pluggable modules in seconds.

Project description

Fastix

Production-ready FastAPI project scaffolding for teams that want a usable starting point instead of an empty repo.

PyPI version Supported Python versions CI status License

What Fastix Does

Fastix is a CLI package that generates FastAPI projects with opinionated defaults for application structure, local development, testing, deployment, and common platform integrations.

It is designed for two workflows:

  • Bootstrap a new FastAPI codebase quickly.
  • Evolve an existing Fastix-generated project with additional modules later.

Core Capabilities

  • Scaffold monolith and microservices layouts.
  • Generate optional Docker or Podman assets.
  • Add PostgreSQL, MySQL, or MongoDB support.
  • Add Redis, Kafka, or RabbitMQ messaging integrations.
  • Add Celery or RQ workers, plus Celery Beat or Kubernetes CronJob scheduling.
  • Generate Helm, Kustomize, or raw Kubernetes manifests.
  • Include logging, testing, editor tooling, and task runner templates.
  • Inspect project state and add supported modules incrementally after generation.

Installation

pip install fastix

For the interactive prompt flow:

pip install "fastix[interactive]"

Quick Start

Create a project interactively:

fastix init

Create a project non-interactively:

fastix init my_api \
  --arch monolith \
  --db postgres \
  --queue redis \
  --worker celery \
  --container docker \
  --k8s helm \
  --logging api_logger \
  --cicd gitlab_ci

Create a microservices workspace:

fastix init platform_api \
  --arch microservices \
  --services gateway,users,orders \
  --protocol grpc \
  --db postgres \
  --queue redis \
  --worker celery \
  --container docker \
  --k8s kustomize \
  --dapr

CLI Commands

fastix init

Generates a new project from the selected architecture and module set.

Examples:

fastix init billing_api --db postgres --container docker
fastix init --arch microservices

fastix inspect

Shows the manifest and active modules for an existing Fastix project.

fastix inspect .

fastix add-module

Adds or switches a supported incremental module in an existing project.

fastix add-module dapr --path .
fastix add-module container.podman --path .
fastix add-module orchestration.helm --path .

fastix list-modules

Lists modules that can be safely added to an existing generated project.

fastix list-modules

fastix info

Prints the current supported architectures, transports, and tooling options.

fastix info

Supported Options

Architectures

  • monolith
  • microservices

Databases

  • postgres
  • mysql
  • mongodb
  • none

Messaging

  • redis
  • kafka
  • rabbitmq
  • none

Workers and Schedulers

  • Workers: celery, rq, none
  • Schedulers: celery_beat, cronjob, none

Containers and Orchestration

  • Containers: docker, podman, none
  • Orchestration: helm, kustomize, raw_manifests, none

Developer Tooling

  • Logging: api_logger, none
  • Scripting: makefile, justfile, taskfile, none
  • CI/CD option in config: github_actions, gitlab_ci, none

Generated Project Characteristics

Fastix-generated projects can include:

  • versioned API routing
  • environment-based configuration
  • health endpoints
  • response and error helper scaffolding
  • testing templates
  • container and deployment assets
  • messaging and background job scaffolding
  • optional README and editor config files

The exact output depends on the CLI flags and architecture selected at generation time.

Local Development

python -m venv .venv
source .venv/bin/activate
pip install -e '.[dev,interactive]'
pytest -q

Build the package locally:

python -m build
python -m twine check dist/*

Repository Automation

This repository is set up to support GitHub-based packaging and release automation.

Recommended repository secrets:

  • PYPI_API_TOKEN: PyPI token used for package publishing

Recommended release flow:

  1. Update version metadata in pyproject.toml and src/fastix/init.py.
  2. Update CHANGELOG.md.
  3. Push a version tag such as v0.2.1.
  4. Let GitHub Actions build, validate, and publish the package.

Contributing

Contributors should keep changes aligned with the current module registry and CLI surface.

Typical extension points:

Before opening a PR:

  • run pytest -q
  • run python -m build
  • verify generated output for the feature you changed

License

MIT. See LICENSE.

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

fastix-0.2.1.tar.gz (55.4 kB view details)

Uploaded Source

Built Distribution

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

fastix-0.2.1-py3-none-any.whl (107.8 kB view details)

Uploaded Python 3

File details

Details for the file fastix-0.2.1.tar.gz.

File metadata

  • Download URL: fastix-0.2.1.tar.gz
  • Upload date:
  • Size: 55.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for fastix-0.2.1.tar.gz
Algorithm Hash digest
SHA256 8f583396a51a32ed57e53d9ea32c16bed3f170ceba760accc0603bfe253fd442
MD5 50e5503407a9970d3bd5686633592795
BLAKE2b-256 7e4323bcdf67bd42db872c2c89e1be13790f5ef056034eecb56e336f3d2baf3b

See more details on using hashes here.

File details

Details for the file fastix-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: fastix-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 107.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for fastix-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cae490aa4d7aeb9e9f197c53fd53361bda45191fc103f016e061689deb330f39
MD5 8454048588c38029df37bbf8247e9e98
BLAKE2b-256 e8c377e84d2e87bb8fba559060a05f076e66454c237a5948012080e4a93676d7

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