Skip to main content

PyBlueprintMaker

PyBlueprintMaker is a Python-based project scaffolding tool that helps you create well-organized project structures using best-practices, fixtures, pytest, and the Python Standard Library. With support for various folder configurations and comprehensive testing, PyBlueprintMaker is the ultimate solution for maintainable projects.

Why is File Structure Important?

A well-organized file structure is crucial for any software project. It makes your code easier to understand, navigate, and maintain. Following best practices for file structure ensures consistency across projects, which can be especially helpful when collaborating with others or when you revisit your project after some time.

Best Practices

Some best practices for organizing Python projects include:

  • Separating source code and test code into different folders.
  • Using meaningful and descriptive names for files and folders.
  • Including a README.md file to provide an overview and usage instructions.
  • Adding a LICENSE file to specify the terms under which the project can be used.
  • Grouping related files together, such as scripts for different project structures.

Installation

To install PyBlueprintMaker, you can use pip:

pip install PyBlueprintMaker

Alternatively, you can install from source by cloning this repository and running:

python setup.py install

Make sure to also include any necessary dependencies that are not automatically installed.

Usage

To use PyBlueprintMaker, run the following command:

python main.py [output_path] [structure]

Where output_path is the desired output path for the project structure and structure is the project structure to create. The supported structures are web_app, data_science, or modular.

For example, to create a web_app project structure in a folder named my_project, run the following command:

python main.py my_project web_app

Outputs and Structures

PyBlueprintMaker supports four project structures: etl, modular, ml, and web.

  • The etl structure is designed for data engineering projects and includes directories for src, tests, and data with subdirectories for extract, transform, and load. This structure helps ensure the separation of concerns and promotes modularity in data processing.

  • The modular structure is intended for projects that consist of reusable modules that perform specific functions. It includes directories for src and tests, with the option to specify the module names as arguments. This structure helps facilitate code reuse and modular design.

  • The ml structure is designed for machine learning projects and includes directories for src, tests, and data with subdirectories for data and models. This structure promotes good coding practices for machine learning, including separate data and model subdirectories, and separate preprocess, features, train, and evaluate scripts.

  • The web structure is intended for web application projects and includes directories for src, tests, static, and templates. This structure follows best practices for web development, with src containing the application logic, static containing static files such as CSS and JavaScript, and templates containing the HTML templates.

Contributing

If you find any issues or have suggestions, feel free to open an issue or submit a pull request.

License

PyBlueprintMaker is licensed under the MIT LICENSE.

Support

If you like this project, please consider sharing a coffee. Thank you! 🦉

Buy Me A Coffee

Metadata

Release files for PyBlueprintMaker 0.1.2

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

Source distribution (sdist)

Source distribution for PyBlueprintMaker 0.1.2
File Size Uploaded
PyBlueprintMaker-0.1.2.tar.gz 5.5 kB Details

Built distribution (wheel)

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

Total release size: 11.8 kB

Release files / PyBlueprintMaker-0.1.2.tar.gz

Download URL PyBlueprintMaker-0.1.2.tar.gz
Size 5.5 kB
Tags Source
SHA-256 checksum
How to use checksums
3669fece4114204b482578013011b8edcf64d60aa7dd1e62d5d0f10b7e849a19
BLAKE2b-256 checksum
How to use checksums
3d903c0cb065dd4644f373824b336a2585b38d7e7abddac23d5bb5116a1330f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.13

Release files / PyBlueprintMaker-0.1.2-py3-none-any.whl

Download URL PyBlueprintMaker-0.1.2-py3-none-any.whl
Size 6.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
db9eaa83643c5b19fac8f4db793fb68d141dbefaae7c580e3dd9180f8f5ac061
BLAKE2b-256 checksum
How to use checksums
36d1a14f3a799b2b808c48f973379c5f42169e039c2185b103edaa5eeac2e969
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.13

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

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