A utility tool for Python project initialization and management
Project description
Python Project Manager
A command-line utility for initializing and managing Python projects.
Features
- Virtual environment creation and management
- Git repository initialization with customizable .gitignore
- Remote Git repository configuration (GitHub, GitLab, etc.)
- Dependencies management
Prerequisites
- Python 3.8 or higher
- Git installed and configured on your system
- Read/Write access to your remote Git repository (if using --repo-name)
Installation
pip install hodlon-python-project-manager
Usage
Basic usage:
# Initialize a new project with Git repository
pysetup --repo-name my-project
# Force recreate virtual environment
pysetup --force-venv
# Both options together
pysetup --repo-name my-project --force-venv
Detailed Usage Examples
Create a New Project with Virtual Environment
# Create a new project with virtual environment
pysetup
# View detailed output
pysetup --verbose
Configure Remote Git Repository
# GitHub (default)
pysetup --repo-name my-awesome-project
# GitLab
GIT_HOST_URL="https://gitlab.com" pysetup --repo-name my-awesome-project
Force Virtual Environment Recreation
Useful if your virtual environment is corrupted or you want to start fresh:
pysetup --force-venv
Repository Naming Rules
Repository names can only contain:
- Alphanumeric characters (a-z, A-Z, 0-9)
- Hyphens (-)
- Underscores (_)
- Dots (.)
Generated Project Structure
After running pysetup, your project will have the following structure:
my-project/
├── .gitignore # Default Git configuration for Python
├── .venv/ # Python virtual environment
└── requirements.txt # Dependencies file (if exists)
Configuration
The tool can be configured using environment variables:
GIT_HOST_URL: URL of your Git host (default: https://github.com)DEFAULT_BRANCH: Default Git branch name (default: main)VENV_DIR: Virtual environment directory name (default: .venv)REQUIREMENTS_FILE: Requirements file name (default: requirements.txt)
Example:
# Using GitHub
GIT_HOST_URL="https://github.com" pysetup --repo-name my-project
# Using GitLab
GIT_HOST_URL="https://gitlab.com" pysetup --repo-name my-project
# Using a self-hosted Git service
GIT_HOST_URL="https://git.company.com" pysetup --repo-name my-project
Development
- Clone the repository:
git clone https://github.com/HodlON42/python-project-manager.git
cd python-project-manager
- Create a virtual environment and install development dependencies:
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate.bat
pip install -e ".[test]"
- Run tests:
pytest # Run all tests
pytest --cov # Run tests with coverage report
Contributing
Please see CONTRIBUTING.md for guidelines.
License
This project is licensed under the GNU AGPL License - see LICENSE file for details.
Security
- Git commands are executed using
shell=Truefor compatibility. Input validation is performed to mitigate risks. - Repository names are used as-is in Git commands. Ensure you use valid repository names.
- For security issues, please refer to CONTRIBUTING.md
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 hodlon_python_project_manager-1.0.0.tar.gz.
File metadata
- Download URL: hodlon_python_project_manager-1.0.0.tar.gz
- Upload date:
- Size: 46.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
07c92fc8bd0d678af7468e0da8d9f4d61d2314a6f992467845d8c9cdad05d6c5
|
|
| MD5 |
4186a613cfcbdb0c948106a2541a869d
|
|
| BLAKE2b-256 |
3dc7ae4097ad382c0219a5bf35dd7c57c08e7e5e46738bef8d55c539b54c890e
|
File details
Details for the file hodlon_python_project_manager-1.0.0-py3-none-any.whl.
File metadata
- Download URL: hodlon_python_project_manager-1.0.0-py3-none-any.whl
- Upload date:
- Size: 33.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
84f90c09e299d0c1829ef54b7094e768cd25c41ded701fcfc224ba10d3d6007a
|
|
| MD5 |
62a98367ab6b06a74848a53823a89f1c
|
|
| BLAKE2b-256 |
b7baf13ce783506224f809b077f335dd5ca0d0084d7c9a3e3d10fd1b837e2f5d
|