Skip to main content

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

  1. You can launch Droots interactively:
python run.py

or if installed through pip

python -m droots # or just: droots
  1. 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 --force is 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.

Metadata

Release files for Droots 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Droots 0.1.3
File Size Uploaded Provenance
droots-0.1.3.tar.gz 15.4 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for Droots 0.1.3
File Interpreter ABI Platform
droots-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 33.9 kB

Release files / droots-0.1.3.tar.gz

Download URL droots-0.1.3.tar.gz
Size 15.4 kB
Tags Source
SHA-256 checksum
How to use checksums
8307f91b19a30dd6384b4a0dbcd5b05a4f15ded206f81abb02ea20e357a2b986
BLAKE2b-256 checksum
How to use checksums
688015decfae047fdba2148da9bb9148bea1b29d670b27636ccd34dbc1ee246f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / droots-0.1.3-py3-none-any.whl

Download URL droots-0.1.3-py3-none-any.whl
Size 18.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a32f9ba05d0ac62330a44eef5aa8de9d3f43c49516947a41f9eeda3828819064
BLAKE2b-256 checksum
How to use checksums
4205445093591a1f1835a11c69fd5c5f45bb17b23952f8be3ec59b2a169cb809
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Security for Droots 0.1.3

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