Python Project Template with GitHub and PyPI Integration
This template provides a complete setup for Python projects with automated GitHub repository creation and PyPI package publishing capabilities.
Key Features
- Automated GitHub repository setup
- PyPI package publishing workflow
- Code formatting with Black, Ruff, and isort
- Code quality checks with Flake8 and Pyright
- Test coverage with Pytest
- Project archiving functionality
- Comprehensive workflow automation
Core Scripts
prepare_environment.py
The main setup script that:
- Configures project structure
- Sets up GitHub repository
- Installs dependencies
- Creates necessary configuration files
Key components of the script:
- Package management functions
- GitHub repository setup
- Project file generation
- Version control initialization
Configuration Dictionary Structure
The script uses a comprehensive project_info dictionary that contains:
project_info = {
"templates": {
# File templates for pyproject.toml, setup.py, etc.
},
"classifiers": {
# PyPI project classifiers
},
"setup": {
"paths": {
# Project file paths configuration
},
"classifiers": {
# Project-specific classifiers
},
"version": "0.1.1",
"description": "",
"user_config": {
# User information
},
"urls": {
# Project URLs
},
"requirements": [
# Project dependencies
],
"nix_packages": [
# Nix environment packages
],
"required_packages": [
# Essential packages for setup
]
}
}
Other Utility Scripts
- pypi_upload.py: Handles PyPI package versioning and publishing
- create_zip.py: Creates project archives
Getting Started
-
Ensure environment variables are set:
- GITHUB_TOKEN
- REPLIT_TOKEN
- PYPI_TOKEN (for publishing)
-
Run the prepare environment script:
python scripts/prepare_environment.py -
Use the Tools menu in Replit to run workflows for:
- Code formatting
- Testing
- Package publishing
- Project archiving
Project Structure
├── scripts/ # Utility scripts
├── src/ # Source code
├── tests/ # Test files
├── logs/ # Log outputs
├── zip/ # Archive storage
└── assets/ # Project assets
Metadata
Release files for GitPyPi-3.12 0.1.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gitpypi_3_12-0.1.8.tar.gz | 3.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| GitPyPi_3.12-0.1.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 7.7 kB
Release files / gitpypi_3_12-0.1.8.tar.gz
| Download URL | gitpypi_3_12-0.1.8.tar.gz |
|---|---|
| Size | 3.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d37424a0e471174554ce467c3469383950e9380247b4b924b9bd2ab62c14ed65
|
|
BLAKE2b-256 checksum How to use checksums |
f96b939e5b350c2d503b9a2b7c148a14f8b98ad3bce644509ef61534bacfa537
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.11.10
|
Release files / GitPyPi_3.12-0.1.8-py3-none-any.whl
| Download URL | GitPyPi_3.12-0.1.8-py3-none-any.whl |
|---|---|
| Size | 3.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ee4f599173509cda724716a6d8edf564a36564fae7347675b58e19a09dc44331
|
|
BLAKE2b-256 checksum How to use checksums |
3e17def11749a29c5c57721c1ae190f6744ff5f4d65fa57f248671133d69e7a6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.11.10
|