Skip to main content

A lightweight FastAPI starter generator with pluggable infrastructure, testing, and deployment templates.

Project description

Fastix

Fastix is a lightweight FastAPI project lifecycle CLI for developers who want a clean starting point, guided project setup, and repeatable scaffolding.

Compatibility

Fastix targets:

  • Python >=3.10
  • Linux, macOS, and Windows
  • pure-Python wheel installs with no compiled runtime dependency owned by Fastix itself

Notes:

  • Python 3.10 uses tomli automatically for TOML parsing
  • Python 3.11+ uses the standard-library tomllib
  • interactive prompts are optional and installed only with fastix[interactive]

Lightweight By Default

Base install keeps runtime dependencies small:

  • typer
  • rich
  • jinja2
  • pydantic
  • tomli only on Python 3.10

Interactive prompt tooling is optional:

pip install fastix
pip install "fastix[interactive]"

What Fastix Does

fastix init works like an architecture wizard:

  • choose monolith or microservices
  • see supported tooling options during setup
  • start with sensible defaults already selected
  • unselect anything you do not want
  • generate a cleaner project structure with shared API response contracts

Interactive Init

fastix init

The wizard guides users through:

  • architecture choice
  • service names for microservices
  • service communication (http or grpc)
  • optional Dapr support
  • database and Alembic migrations
  • Redis / queue / worker options
  • containerization and orchestration
  • project essentials such as .gitignore, README.md, .editorconfig, tests, and shared responses

Default-Selected Essentials

Fastix shows baseline project files and developer defaults in the wizard and preselects them for convenience:

  • .gitignore
  • README.md
  • .editorconfig
  • .env.example
  • test scaffolding
  • API versioning
  • health checks
  • shared response contracts

Users can unselect these before generation.

Generated Structure

Monolith

app/
  api/
  core/
  db/
  models/
  schemas/
  services/
  shared/

Microservices Workspace

services/
  gateway/
  users/
shared/
infra/

Each generated microservice now lives directly under services/<name>/ instead of the older services/<name>_service/ pattern.

Shared API Responses

Generated projects include standard response contracts so teams can keep a consistent API format from day one:

  • success response
  • error response
  • paginated response
  • shared error detail model

Migrations

For PostgreSQL and MySQL projects, Fastix can generate Alembic scaffolding during init. The option is visible in the wizard and enabled by default for SQL databases.

Example Non-Interactive Usage

fastix init inventory_api \
  --arch microservices \
  --services gateway,orders \
  --protocol grpc \
  --native-grpc \
  --dapr \
  --db postgres \
  --migrations \
  --container docker \
  --k8s helm

Lifecycle Commands

fastix inspect .
fastix add-module dapr --path .
fastix add-module container.podman --path .
fastix list-modules

Compatibility Validation

This repository now includes automated package checks for:

  • wheel/sdist build validation
  • install smoke tests on Linux, macOS, and Windows
  • Python 3.10, 3.11, 3.12, 3.13, and 3.14
  • base and interactive installs

Release Checks

PYTHONPATH=src ./.venv/bin/python -m pytest -q -p no:cacheprovider
./.venv/bin/python -m build --no-isolation
./.venv/bin/python -m twine check dist/*

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.1.5.tar.gz (51.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.1.5-py3-none-any.whl (102.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fastix-0.1.5.tar.gz
  • Upload date:
  • Size: 51.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.1.5.tar.gz
Algorithm Hash digest
SHA256 8cd6b036a901c20a1cd33c4f2252757d4fe019264d92e5c054a4356a135c6e0b
MD5 56df5586d873d5e722a36db6e4ba7628
BLAKE2b-256 f18b6160edcb50902fe4722863a2f482e4cab0cb9afbf395fc7863d7c7748f63

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastix-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 102.5 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.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 31398cfc0ec095ea0707147a2d1e5b5bb7c3ca869dff7fdbce3b6bc17f51532f
MD5 9a9168eb316bd6f21cdc2f11af7ce311
BLAKE2b-256 d118234d19a2216d52cd902a6f3c8cfe2e290b3de78acc3f25c9448e889bea06

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