Generate a Python package structure with optional Docker support.
Project description
Boilerplate Code Generator
This repository provides a Python script that automates the creation of a standardized package structure for Python projects. It facilitates the setup of essential directories and files, streamlining the initial phase of project development.
Features
- Automated Directory Creation: Generates a hierarchical folder structure, including main package directories, test folders, and configuration directories.
- Essential File Generation: Creates foundational files such as
__init__.py,setup.py,README.md,LICENSE, and.gitignore. - Development Environment Setup: Sets up development dependencies and configurations, including
requirements.txt,dev_requirements.txt, and pre-commit hooks. - Docker and DevContainer Support: Provides Dockerfile and DevContainer configurations for containerized development environments.
- CI/CD Workflow Integration: Includes GitHub Actions workflow files for continuous integration and deployment.
Installation
pip install pkg-wizard
Usage
-
Clone the Repository:
git clone https://github.com/nadeem4/boilerplate_code.git
-
Navigate to the Directory:
cd boilerplate_code
-
Install Package
pip install .
-
Run the Script:
gps <package_name> [--docker_image <docker_image>] [--override <file1> <file2> ...]
<package_name>: Name of the package to create.--docker_image: (Optional) Docker image to use (default:python:3.9-slim).--override: (Optional) List of files to override if they already exist.
Example:
gps my_package --docker_image python:3.10-slim --override README.md LICENSE
Requirements
- Python 3.6 or higher: Ensure Python is installed on your system.
- Setuptools: Used for packaging Python projects.
- Git: For version control and repository management.
Development Setup
-
Install Development Dependencies:
pip install -r dev_requirements.txt
-
Initialize Pre-Commit Hooks:
pre-commit install
Contributing
Contributions are welcome! Please fork the repository, create a new branch for your feature or bug fix, and submit a pull request. Ensure your code adheres to the project's coding standards and passes all tests.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Contact
For questions or support, please reach out to codewithnk@gmail.com.
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 pkg_wizard-1.1.0.tar.gz.
File metadata
- Download URL: pkg_wizard-1.1.0.tar.gz
- Upload date:
- Size: 9.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f44feb16b58c70d59688b0c8281677da5665fccb0a582e4dacc07595398c7942
|
|
| MD5 |
c52659f1d68a8b8504fa88a05639a9ff
|
|
| BLAKE2b-256 |
507c6fdffe3645150df28293ceb0a059563099d26718539c280429cef7a1d26e
|
File details
Details for the file pkg_wizard-1.1.0-py3-none-any.whl.
File metadata
- Download URL: pkg_wizard-1.1.0-py3-none-any.whl
- Upload date:
- Size: 12.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b54e297b36aa8102a7f7842663e37f5d2a074fb63f2afc9ac808430b069dd223
|
|
| MD5 |
2bd883cb9aa4dff4e8fa6dbbf5957ce9
|
|
| BLAKE2b-256 |
cb89d1f45955f2085552a3031a8bf6210ffcc4a02a54633e4a84c520b803fd53
|