A lightning-fast Python project generator with perfect GitHub workflows. Zero config, instant setup.
Project description
proJay
A lightning-fast Python project generator with perfect GitHub workflows. Zero config, instant setup.
🕶 Features
- Ultra-Minimal: Single file, zero dependencies
- Instant Setup: One command to rule them all
- Perfect Structure: Production-ready in seconds
- GitHub Power: CI/CD, Release automation, Branch protection
- PyPI Ready: Configured for instant publishing
- Cross-Platform: Windows & Unix support with dedicated scripts
- Optimized Build: Automatic source minification during the release process to reduce package size without impacting runtime
💊 Quick Start
pip install proJay
python -m go your_project_name
🔴 Generated Structure
your_project/
├── .github/
│ ├── ISSUE_TEMPLATE/
│ │ └── bug_report.yml # Bug report template
│ ├── workflows/
│ │ ├── ci.yml # Multi-OS CI pipeline
│ │ └── release.yml # Automated PyPI releases with minification
│ ├── dependabot.yml # Daily updates
│ ├── pull_request_template.md # PR template
│ └── settings.yml # Branch protection
├── main.py # Entry point
├── setup.py # PyPI configuration
├── requirements.txt # Dependencies
├── go.ps1/go.sh # Setup scripts
├── LICENSE # MIT License
├── README.md # Documentation
└── .gitignore # Clean workspace
🌐 Scripts & Automation
-
Setup Scripts
- Windows:
go.ps1 - Unix:
go.sh - Automatic virtual environment creation
- Dependencies installation
- Environment activation
- Windows:
-
CI Pipeline
- Multi-OS testing (Windows, Linux, macOS)
- Python 3.8 to 3.13 support
- Dependencies verification
- Quality checks and clean build verification
-
DependaBot
- Daily pip updates
- GitHub Actions updates
- Automated PRs with labels
- Review assignments
- Grouped updates
-
Release Pipeline
- Version validation
- Code minification (appliquée automatiquement lors du build pour optimiser le code source)
- Package size checks
- PyPI publishing
- GitHub release creation with auto-generated release notes
📂 Project Usage
# Generate project
python -m go my_project --init-git
# Setup environment
cd my_project
# On Windows
.\go.ps1
# On Unix
./go.sh
# Add remote & push
git remote add origin https://github.com/username/my_project
git push -u origin main
# Create release
git tag v0.1.0
git push origin v0.1.0
⚡ Development
- Clone your generated project
- Run the setup script (
go.ps1orgo.sh) - Activate the virtual environment:
- Windows:
venv\Scripts\activate - Unix:
source venv/bin/activate
- Windows:
- Install dependencies:
pip install -r requirements.txt - Start coding in
main.py
🔄 Continuous Integration
Automatic checks on every push:
- Cross-platform compatibility
- Python version compatibility
- Code quality analysis
- Build verification and clean workspace checks
- Package size limits
🚀 Release Process
- Update version in
setup.py - Create and push tag
- Automatic steps:
- Code Minification: The source code is minified during the release build process (this step optimise le code pour réduire la taille sans impacter l'exécution)
- Package building
- Version validation
- Size verification
- PyPI publishing
- GitHub release creation with auto-generated release notes
🔵 46 6F 6C 6C 6F 77 20 74 68 65 20 77 68 69 74 65 20 72 61 62 62 69 74 🐇
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
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 projay-1.0.7.tar.gz.
File metadata
- Download URL: projay-1.0.7.tar.gz
- Upload date:
- Size: 6.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc732b95719f05bdce78e155220a5d78efd8c8107d362e5143474645615584eb
|
|
| MD5 |
8ddf4c946052c743fa84ddd6ba30c16d
|
|
| BLAKE2b-256 |
37cab769e27fe735810fa3ed95ccbced212988f64a0ef904b383dfdab56ff719
|
Provenance
The following attestation bundles were made for projay-1.0.7.tar.gz:
Publisher:
release.yml on FeelTheFonk/proJay
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
projay-1.0.7.tar.gz -
Subject digest:
cc732b95719f05bdce78e155220a5d78efd8c8107d362e5143474645615584eb - Sigstore transparency entry: 173505698
- Sigstore integration time:
-
Permalink:
FeelTheFonk/proJay@c51dabc9d9e0be7876bec51b170adbff48fc2d59 -
Branch / Tag:
refs/tags/v1.0.7 - Owner: https://github.com/FeelTheFonk
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c51dabc9d9e0be7876bec51b170adbff48fc2d59 -
Trigger Event:
push
-
Statement type:
File details
Details for the file proJay-1.0.7-py3-none-any.whl.
File metadata
- Download URL: proJay-1.0.7-py3-none-any.whl
- Upload date:
- Size: 8.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
48cfbf4e67128fea2d924f600b61537f0f22db80752b17e8e650b08e87a2e130
|
|
| MD5 |
ee8f4d5066e164ff5559a671e006c921
|
|
| BLAKE2b-256 |
bff624373b5e9fd80eefd3fe9e3b39676d8b9259fb300b80b6b1230adf9e53e8
|
Provenance
The following attestation bundles were made for proJay-1.0.7-py3-none-any.whl:
Publisher:
release.yml on FeelTheFonk/proJay
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
projay-1.0.7-py3-none-any.whl -
Subject digest:
48cfbf4e67128fea2d924f600b61537f0f22db80752b17e8e650b08e87a2e130 - Sigstore transparency entry: 173505699
- Sigstore integration time:
-
Permalink:
FeelTheFonk/proJay@c51dabc9d9e0be7876bec51b170adbff48fc2d59 -
Branch / Tag:
refs/tags/v1.0.7 - Owner: https://github.com/FeelTheFonk
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c51dabc9d9e0be7876bec51b170adbff48fc2d59 -
Trigger Event:
push
-
Statement type: