Skip to content

ysawa0/create-python-app

Repository files navigation

CPA: Create-Python-App

CPA Logo

cpa is a cli tool for ultra fast setup of new Python & Rust projects. It automates the creation of config files like style & lint checks, gitignore, Dockerfile, dependency mangement, etc. An opinionated set of pre-commit hooks + Github Actions CI are included for enforcing best practices & reducing dev time.

Example outputs are provided in ./example

Installation

MacOS, Linux

Install via script below or get from Releases

curl -sSL https://raw.githubusercontent.com/ysawa0/create-python-app/main/install.sh | bash
# cpa will be installed to ~/bin/cpa
# The installer will add ~/bin to your PATH

Windows

Download latest binary from Releases

Building from source

cargo install --path .

Usage

To create a new project:

cpa create --name myproject

Optional params:

  • --preset: Specifies a preset for the project. Defaults to "python3.10". "pythonx.yz" and "rust" are supported.

Example:

cpa create --name myproject --preset python3.10
cpa create --name myproject --preset rust

Update current working directory with CPA preset.

cpa update --name myproject --preset python3.10
cpa update --name myproject --preset rust

Goals

  • Speed up Project Creation: Reduce the time spent on repetitive setup tasks
  • Best Practices: Encourage best practices for code quality, formatting, and style by including configs for tools like black, isort, and flake8.
  • Automation: Automate tasks such as generating .gitignore files, setting up pre-commit hooks, Github Action CI, configuring linters & formatters.
  • Supports Rust and Python.
  • Golang support planned

Contributions and Feedback

Users are welcome to contribute to the project by submitting pull requests or opening issues for bugs and feature requests. Feedback is also greatly appreciated to help improve the tool.