Skip to main content

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)

Source distribution for arjunjain-autoprep 0.1.2
File Size Uploaded Provenance
arjunjain_autoprep-0.1.2.tar.gz 8.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for arjunjain-autoprep 0.1.2
File Interpreter ABI Platform
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page