ProjectCreater is a command-line tool that automates the setup of new Python (and full-stack) project folders. With a single command, you can scaffold a new project with best practices, install dependencies, set up version control, and even push to GitHub—all tailored to your needs.
- Multiple Templates: Choose from templates like basic Python, AI/ML, Flask, Django, FastAPI, CLI apps, automation scripts, bots, games, and even a FastAPI + React full-stack app.
- Virtual Environment: Automatically creates a
.venvfor isolated Python development. - Dependency Management: Installs libraries you specify and common dev tools (black, flake8, pytest, pre-commit).
- Docker Support: Optionally adds Docker and docker-compose files.
- Git & GitHub Integration: Initializes a git repo, creates a
.gitignore, and can create/push to a new GitHub repository (public or private). - License Selection: Adds a license file (MIT, Apache, GPL, BSD, CC0) of your choice.
- Interactive or CLI Use: Configure everything interactively or via command-line arguments.
- VS Code Integration: Optionally opens your main script in VS Code and activates the virtual environment.
git clone https://github.com/Alph702/ProjectCreater.git
cd ProjectCreaterFor Windows users, run:
install.batThis copies the tool to your Python programs directory and adds it to your PATH.
Create an env.py file with your GitHub token and SSH URL:
GITHUB_TOKEN = "your_github_token"
GITHUB_SSH_URL = "git@github.com:your_github_username"python main.py <project_name> [options]python main.py my_new_project -l numpy pandas -t flask --github --private --docker -a -d -lic mitpython main.py <project_name> --interactiveYou'll be prompted to select templates, dev tools, licenses, and more.
project_nameName of the new project folder (required)-l, --librariesSpace-separated list of extra packages to install-t, --templateProject template (basic, ai-ml, ai-ml-dl, flask, django, fastapi, bot, game, cli, automation, fastapi-react)-lic, --licenseLicense type (mit, apache, gpl, bsd, cc0)-a, --activateAutomatically activate the virtual environment-d, --devInstall common dev tools (black, flake8, pytest, pre-commit)--dockerAdd Docker and docker-compose files--githubCreate and push to a GitHub repo--privateMake the GitHub repo private--interactiveRun interactive setup
python main.py my-flask-app -t flask --docker --github -l flask_sqlalchemyThis creates a Flask project, adds Docker support, initializes and pushes to GitHub, and installs Flask-SQLAlchemy.
Supported templates include:
- basic: Empty Python project
- ai-ml: Data science/ML starter (numpy, pandas, matplotlib, scikit-learn)
- ai-ml-dl: Deep learning starter (adds tensorflow, torch)
- flask: Flask web app
- django: Django web app
- fastapi: FastAPI backend
- bot: Telegram bot example
- game: Pygame starter
- cli: Command-line tool starter
- automation: Automation script
- fastapi-react: Full-stack FastAPI + React
Contributions are welcome! Open an issue or submit a pull request.
Distributed under the MIT License. See LICENSE for details.