Back to directory
ysawa0 avatar
ysawa0 / create-python-app

create-python-app

cpa is a cli tool for ultra fast setup of Rust & Python projects

55

Stars

1

Forks

2

Watchers

Apache-2.0

License

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.

Releases

May 13, 2024

Download .zip

What's Changed

clean ci by @ysawa0 in #18

Full Changelog: v0.1.2...v0.1.5

May 12, 2024

Download .zip

What's Changed

add --preset base by @ysawa0 in #17

Full Changelog: v0.1.1...v0.1.2

May 12, 2024

Download .zip

What's Changed

add rust as preset and refactor by @ysawa0 in #12 Update README.md by @ysawa0 in #13 Update README.md by @ysawa0 in #14 Update README.md by @ysawa0 in #15

Full Changelog: v0.1.0...v0....

Nov 22, 2023

Download .zip

What's Changed

add vscode conf generation, fix Dockerfile ordering by @ysawa0 in #8 fix missing EOF newlines in gen'd files by @ysawa0 in #10 require --name for update cmd by @ysawa0 in #11

Full Cha...

What's Changed

add vscode conf generation, fix Dockerfile ordering by @ysawa0 in #8 fix missing EOF newlines in gen'd files by @ysawa0 in #10

Full Changelog: v0.0.6...v0.0.10

Contributors

1 contributors by commits. Profile dekhne ke liye kisi bhi developer par click karein.