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 | Provenance | Actions |
|---|---|---|---|---|
| gitpypi_3_12-0.1.8.tar.gz | 3.8 kB | Without provenance | Details for gitpypi_3_12-0.1.8.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| GitPyPi_3.12-0.1.8-py3-none-any.whl | Python 3 | none | any | Details for GitPyPi_3.12-0.1.8-py3-none-any.whl |
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
|
Security for GitPyPi-3.12 0.1.8
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.