autoprep
A one-command project setup utility for bootstrapping new projects quickly.
Features
- One-Command Setup: Initialize new projects with a single command.
- Extensible Pipeline: Customize the setup process with a step-based pipeline.
- Templating: Use Jinja2 templates to generate boilerplate code.
- Configuration: Override default settings with global and project-specific config files.
- Optional Integrations: Add Docker, linting, and more with simple flags.
Installation
pip install arjunjain-autoprep
Usage
autoprep can be run from any directory. It is recommended to run it from the folder where you want your new project to be created.
Interactive Mode
For the best experience, run the new command without any options to launch the interactive setup wizard:
python -m autoprep new
The CLI will guide you, asking for the project name, template, and other options.
Non-Interactive Mode
You can also provide all the options as command-line arguments:
python -m autoprep new --name myapp --template webapi --deps "flask,pytest" --docker
Available Commands
autoprep new: Initialize a new project.autoprep list-templates: See a detailed list of all available project templates.
Available Templates
| Template Name | Description |
|---|---|
python-base |
A minimal boilerplate for any new Python project. |
python-webapi |
A FastAPI-based project for web backends or microservices. |
python-cli |
A preconfigured CLI application using Typer. |
python-library |
A reusable Python library with a proper packaging setup. |
nodejs-express |
A NodeJS backend project using Express. |
react-vite |
A React frontend application using Vite. |
rust-cli |
A command-line application using Rust and Cargo. |
go-webapi |
A lightweight backend service using Go's standard library. |
python-ml |
A standard structure for data science and ML projects. |
dockerized-microservice |
A language-agnostic scaffold for a containerized service. |
autoprep list-profiles: View your custom-defined project profiles.autoprep version: Show the version of autoprep.
Troubleshooting
If you encounter an error like autoprep: command not found after installation, please refer to the Troubleshooting Guide for a step-by-step solution.
Profiles
For even faster setup, you can define profiles in a ~/.autoprep/profiles.yml file. A profile is a pre-defined combination of a template and options.
Example profiles.yml
profiles:
webapi:
template: python-webapi
options:
docker: true
lint: true
cli_tool:
template: python-cli
options:
lint: true
Now, you can bootstrap a complete web API project with a single command:
autoprep new --profile webapi
Configuration
For more advanced customization, autoprep can be configured through a global ~/.autoprep/config.yml file and a project-specific .autoprep.yml file. Command-line options will always override settings from the configuration files.
Example config.yml
user:
name: Your Name
email: your.email@example.com
project:
lang: python
author: Your Name
email: your.email@example.com
profiles:
my-profile:
template: webapi
deps:
- flask
- pytest
- black
steps:
- create_structure
- init_git
- create_venv
- install_deps
- generate_files
- add_docker
- add_linting
Metadata
Release files for arjunjain-autoprep 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| arjunjain_autoprep-0.1.2.tar.gz | 8.1 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| arjunjain_autoprep-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.3 kB
Release files / arjunjain_autoprep-0.1.2.tar.gz
| Download URL | arjunjain_autoprep-0.1.2.tar.gz |
|---|---|
| Size | 8.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
74277d647b16dfaec85ac937db514d51e6e224a7932a1ae756c132b46dc9bdfb
|
|
BLAKE2b-256 checksum How to use checksums |
56d19dd1dd57e7df9bf7e338aafa871fa265b2a22c9c824173b9dd504b865edd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.9
|
Release files / arjunjain_autoprep-0.1.2-py3-none-any.whl
| Download URL | arjunjain_autoprep-0.1.2-py3-none-any.whl |
|---|---|
| Size | 10.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fd6df4f672af51860b44ff53b159597abcebcc1875bbedab9a8060b76f7621ee
|
|
BLAKE2b-256 checksum How to use checksums |
32d510b572086faa1732f8446eb7b6e93147d1e97b28baa53f8f2954ddaa21d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.9
|
Security for arjunjain-autoprep 0.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.