puffit generates directory structure from text templates
Project description
PuffIt
I've always wanted to take an example directory structure for a project structure and pipe that into an application to make it happen. So that's what this is for.
For example I would like to take this:
root/
├── tasks/
│ ├── __init__.py
│ ├── task_a.py
│ └── task_b.py
├── core/
│ ├── app.py
│ ├── celery_worker.py
│ └── config.py
├── Dockerfile
├── docker-compose.yml
├── requirements.txt
└── README.md
And have it turn into this:
GitHub Actions Status
Test Status
Features
Supports a variety of layout syntaxes.
Installation
pipx install puffit
Usage
Create your template.pft
file containing the textual layout for the project. Then just run puffit template.pft
where you'd like to create your new project directory. Check out templates/
for example .pft
files.
Contributing
Coming Soon
License
This project is licensed under the MIT License - see the LICENSE file for details.
Roadmap
- Integreate CI/CD release automation
- Improve error handling
- Improve documentation
- Implement logging
Project details
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
File details
Details for the file puffit-1.0.5.tar.gz
.
File metadata
- Download URL: puffit-1.0.5.tar.gz
- Upload date:
- Size: 4.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05928ee2d9cbf1972e330630ccc1b8a5bcf4350acc7879d7aaaed45ffac1477d |
|
MD5 | cbb8f10f194fbe6c7c33608e7dbf8b9a |
|
BLAKE2b-256 | 8f8ebdfb9b860f1ab88f0e1b1116e0e745b5e3cf3f1edd3df25e7e54d36cf909 |
File details
Details for the file puffit-1.0.5-py3-none-any.whl
.
File metadata
- Download URL: puffit-1.0.5-py3-none-any.whl
- Upload date:
- Size: 5.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9435b821c538bd66d44ba2b1db10ebc8fd65d5a12aa2f92983f2334f686a6306 |
|
MD5 | 5d9b4cc06651deb5346e0258802cc0d8 |
|
BLAKE2b-256 | 455a014a4e515a56108dc9abad2a4dfccd5375d711669d095002ae6799157e0e |