Generate structured Python project folders instantly
Project description
Droots
Droots (short for Darkian Root Scaffolding) is a Python project scaffolding tool designed to help developers quickly bootstrap new Python applications with a clean, consistent, and well-organized project structure.
Why Droots?
Starting a new Python project often involves repetitive setup tasks: creating folders, adding boilerplate files, initializing version control, configuring licenses, and more. Droots automates these routine steps, so you can focus on writing code faster and with best practices baked in.
Features
- Creates a standardized folder layout:
Project_name/ ├── .gitignore ├── LICENSE ├── README.md ├── pyproject.toml ├── requirements.txt ├── run.py ├── src/ ├── project_name/ | ├── __init__.py | └── main.py ├── autotest.py ├── utils.py └── tests/ - Supports multiple popular open-source licenses (MIT, Apache 2.0, GPL 3.0, BSD, MPL 2.0, Unlicense)
- Automatically populates license files with current year and author name
- Adds starter boilerplate files for application entry point, utility functions, and test skeletons
- Adds metadata comments ("watermarks") in
__init__.py - Interactive CLI to provide project details and select license(s)
- Modular design for future extensibility and custom workflows
Installation
Clone the repository:
git clone https://github.com/2kDarki/Droot.git
cd Droot
or use pip:
pip install droots
You can also install it globally or use directly from the source.
Usage
Run Droots to start scaffolding your new project
- You can launch Droots interactively:
python run.py
or if installed through pip
python -m droots # or just: droots
- Or provide arguments directly:
python run.py --name Habitrax --author Darki --license MIT --path .
or if installed through pip
python -m droots --name Droots --author Darki --license MIT --path .
Available Flags
| Flag | Description |
|---|---|
-n, --name |
Project name |
-a, --author |
Author name |
-p, --path |
Target folder for project |
--dual-license |
Optional second license |
--no-license |
Skip license generation |
--minimal |
Skip test setup and extras |
--force |
Overwrite if folder exists |
Configuration
Currently, Droots uses a fixed folder structure tailored for Python projects. In future versions, we may add support for other project types.
Testing
Test scripts should be placed inside the src/tests/ folder.
Run all tests with:
python src/autotest.py
License
Droots itself is licensed under the MIT License. See the LICENSE file for details.
Contributing
Contributions are welcome!
If you'd like to write tests, improve logic, or add features:
- Fork the repo
- Create a feature branch
- Submit a pull request
Disclaimer
Droots is a powerful tool that manipulates the filesystem — it creates folders, generates files, and, in some cases (when --force is used), removes existing directories. While it includes safety checks and input validation to prevent accidental data loss, misuse or edge-case errors may still lead to destructive behavior.
Important notes
- Always double-check your inputs (especially project name and target path).
- Avoid running Droots in critical or sensitive directories.
- If testing or experimenting with Droots, use a safe, empty workspace.
- When using the CLI arguments, be cautious with
--force, as it can delete existing content in the target folder. - NB: Its only when
--forceis true that it overwrites.
By using Droots, you accept full responsibility for how it interacts with your system. It is provided as-is, with no guarantees of safety in all environments.
That said — with careful use, Droots is a reliable and productivity-boosting tool.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file droots-0.1.3.tar.gz.
File metadata
- Download URL: droots-0.1.3.tar.gz
- Upload date:
- Size: 15.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8307f91b19a30dd6384b4a0dbcd5b05a4f15ded206f81abb02ea20e357a2b986
|
|
| MD5 |
bdb82ead82124c87de7b77e50408a4cb
|
|
| BLAKE2b-256 |
688015decfae047fdba2148da9bb9148bea1b29d670b27636ccd34dbc1ee246f
|
File details
Details for the file droots-0.1.3-py3-none-any.whl.
File metadata
- Download URL: droots-0.1.3-py3-none-any.whl
- Upload date:
- Size: 18.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a32f9ba05d0ac62330a44eef5aa8de9d3f43c49516947a41f9eeda3828819064
|
|
| MD5 |
663e07028f87dc0fa10bd94474a1020c
|
|
| BLAKE2b-256 |
4205445093591a1f1835a11c69fd5c5f45bb17b23952f8be3ec59b2a169cb809
|