This Python Project Generator is a command-line tool that helps you quickly create Python project structures using predefined templates. It supports multiple project templates including default, API, ETL, and Machine Learning/Analytics projects.
- Python 3.10+
- uv
git clone https://github.com/pedrohgoncalvess/template-generator.git
cd template-generatoruv init
uv pip install -e .or using pip
pip -m venv .venv
# Activate venv
pip install -e .
# Basic usage
npt --name my-project
# Specify a template
npt --name my-api-project --template api
# Specify a custom path
npt --name my-project --path /path/to/projects
# Specify a custom set of files
npt --name my-project --custom custom.example.yamldefault: Standard Python project structure.api: FAST API project structure.etl-airflow: Data engineering project structure with Airflow.etl-prefect: Data engineering project structure with Prefect.ml: Machine Learning and Analytics project template.
# Create a new API project
npt --name my-awesome-api --template api- Basic Python project structure
- Includes README, .gitignore
- Minimal configuration files
- Flask/FastAPI ready structure
- Includes API routing
- Swagger/OpenAPI documentation setup
- Data extraction and transformation setup
- Configuration for various data sources
- Logging and error handling
- Machine Learning project structure
- Jupyter notebook integration
- Data preprocessing scripts
- Model training and evaluation templates
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
# Clone the repository
git clone https://github.com/pedrohgoncalvess/basic-project-templates
cd project-generator
# Create virtual environment
uv init
# Install development dependencies
uv pip install -e .# Run tests
pytest tests/If you encounter any problems, please file an issue on GitHub.