Skip to content

michael-borck/ship-python-cookiecutter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Ship Python Cookiecutter Template

ci-cd cookiecutter docker electron fastapi javascript multi-platform python react typescript

A cookiecutter template for creating multi-platform Python applications with FastAPI backend, React frontend, and Electron desktop support.

This template is a companion to the book Ship Python, Orchestrate AI: Professional Python in the AI Era by Michael Borck.

Features

  • FastAPI Backend: Modern Python API with type hints and automatic documentation
  • React Frontend: TypeScript + Vite for fast development
  • Electron Desktop: Cross-platform desktop apps with auto-update
  • Docker Support: Development and production containers
  • CI/CD: GitHub Actions workflows for testing and building
  • AI-Ready: Includes CLAUDE.md for AI assistant context

Quick Start

# Install cookiecutter
pip install cookiecutter

# Create a new project
cookiecutter gh:michael-borck/ship-python-cookiecutter

# Follow the prompts to customize your project

Template Options

Option Description Default
project_name Human-readable project name My Application
project_slug URL/directory-safe name my-application
package_name Python package name my_application
project_description Short description A multi-platform Python application
author_name Your name Your Name
author_email Your email you@example.com
github_username GitHub username your-username
python_version Python version 3.11
include_frontend Include React frontend yes
include_electron Include Electron wrapper yes
include_docker Include Docker configs yes
license License type MIT

Generated Structure

my-application/
├── backend/                # FastAPI backend
│   ├── src/my_application/
│   ├── tests/
│   └── pyproject.toml
├── frontend/               # React frontend (if selected)
│   ├── src/
│   └── package.json
├── electron/               # Electron wrapper (if selected)
├── docker/                 # Docker configs (if selected)
├── .github/workflows/      # CI/CD
├── CLAUDE.md               # AI context
└── README.md

After Generation

cd my-application

# Backend setup
cd backend
uv sync
uv run uvicorn my_application.main:app --reload

# Frontend setup (in another terminal)
cd frontend
npm install
npm run dev

Related Resources

License

MIT License - see LICENSE for details.

About

Generates multi-platform Python applications with FastAPI backend, React/TypeScript frontend, Electron desktop support, and Docker containerization using cookiecutter templating.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages