CPA: Create-Python-App
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
, andflake8
. - 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.