Skip to main content

Python-based tool that helps you create organized project directories or structures. It uses best practices and incorporates fixtures, pytest, and the Python Standard Library to ensure the quality of the project's organization and structure

Project description

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

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

PyBlueprintMaker-0.1.2.tar.gz (5.5 kB view hashes)

Uploaded Source

Built Distribution

PyBlueprintMaker-0.1.2-py3-none-any.whl (6.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page