Universal Deployment Platform for developers.
Project description
# 🦉 Opun8
<div align="center">
**Universal Deployment Platform — One Command. Zero Friction.**
[](https://pypi.org/project/opun8/)
[](https://pypi.org/project/opun8/)
[](https://opensource.org/licenses/MIT)
[](https://github.com/KakesDavid/opun8/stargazers)
Deploy to **Vercel**, **Netlify**, **Render**, and **GitHub** with a single command. Works on Windows, macOS, Linux, and Termux on Android.
[Documentation](https://opun8.dev/docs) · [Report Bug](https://github.com/KakesDavid/opun8/issues) · [Request Feature](https://github.com/KakesDavid/opun8/issues)
</div>
---
## ✨ Why Opun8?
Stop wrestling with different deployment workflows for every hosting provider. Opun8 brings Vercel, Render, Netlify, and GitHub into a single, unified CLI experience.
- 🚀 **One command** — Deploy to any platform with `opun8 deploy vercel` or `opun8 deploy render`
- 🧠 **Smart detection** — Auto-detects React, Next.js, Vue, Node.js, Python, and static HTML
- 🔐 **Secure auth** — OAuth 2.0 + PKCE with PAT fallback
- 📱 **Works anywhere** — Windows, macOS, Linux, and Termux on Android
- 🏆 **History & badges** — Track every deployment and earn achievements
- 📂 **Native folder picker** — No more typing paths manually
- ☁️ **Render support** — Deploy to Render directly from GitHub repositories
---
## 📦 Installation
### Prerequisites
- Python 3.8 or higher
### Install via pip
```bash
pip install opun8
Verify installation
opun8 --version
🚀 Quick Start
1. Navigate to your project
cd my-project
2. Detect your project
opun8 detect
✅ Detected: Next.js project
📦 Package manager: npm
🛠️ Build command: npm run build
📁 Output directory: .next
3. Authenticate with your provider
# For Vercel
opun8 vercel
# For Render
opun8 render
4. Deploy!
# Deploy to Vercel
opun8 deploy vercel
# Deploy to Render
opun8 deploy render
🚀 Deploying...
✅ Deployment complete!
🌐 Live at: https://my-project.vercel.app
📚 Commands
| Command | Description |
|---|---|
opun8 |
Show welcome screen |
opun8 --version |
Show version |
opun8 doctor |
Check environment |
opun8 detect |
Detect project type |
opun8 deploy vercel |
Deploy to Vercel |
opun8 deploy render |
Deploy to Render |
opun8 deploy netlify |
Deploy to Netlify (Coming soon) |
opun8 github |
Connect to GitHub |
opun8 vercel |
Connect to Vercel |
opun8 render |
Connect to Render |
opun8 history |
View deployment history |
opun8 badges |
View badge progress |
opun8 logout |
Logout from all services |
opun8 help |
Show all commands |
🎖️ Badge System
| Level | Badge | Name | Deployments |
|---|---|---|---|
| 1 | 🥉 | First Launch | 1 |
| 2 | 🥉 | Apprentice | 3 |
| 3 | 🥈 | Builder | 5 |
| 4 | 🥈 | Ship Captain | 10 |
| 5 | 🥇 | Deployment Master | 25 |
| 6 | 🥇 | Shipping Machine | 50 |
| 7 | 🏆 | Opun8 Legend | 100 |
☁️ Render Support
Opun8 now supports deploying to Render directly from GitHub repositories.
# Connect to Render
opun8 render
# Deploy current project to Render
opun8 deploy render
# Deploy a GitHub repository to Render
opun8 github
# Select a repository → Choose Render
Note: Render requires a connected GitHub repository. Local file uploads are not supported.
🔧 Development
Clone the repository
git clone https://github.com/KakesDavid/opun8.git
cd opun8
Create a virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
Install in editable mode
pip install -e .
Run tests
pytest
🤝 Contributing
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
Areas we need help with:
- Adding Netlify provider
- Improving documentation
- Writing tests
- Bug fixes
💖 Sponsors
Support Opun8 and help us build the future of universal deployment.
📄 License
This project is licensed under the MIT License — see the LICENSE file for details.
🙏 Acknowledgments
Built with ❤️ by Kakes David and the Opun8 community.
```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 opun8-0.1.3.tar.gz.
File metadata
- Download URL: opun8-0.1.3.tar.gz
- Upload date:
- Size: 103.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
244e5f0c97c5d14d612508d691888749974d5dbd9d740eb1e1ae9c740890cd6b
|
|
| MD5 |
59a25c0aba0c6f8c83ca16ac49ef6c8e
|
|
| BLAKE2b-256 |
41fca6234ba110c991c4700017ea8e266299658e1cb6d59ddfa4ed2b3a30d6ce
|
Provenance
The following attestation bundles were made for opun8-0.1.3.tar.gz:
Publisher:
publish.yml on KakesDavid/opun8
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
opun8-0.1.3.tar.gz -
Subject digest:
244e5f0c97c5d14d612508d691888749974d5dbd9d740eb1e1ae9c740890cd6b - Sigstore transparency entry: 2171769655
- Sigstore integration time:
-
Permalink:
KakesDavid/opun8@bbb7b9aff6e66b4526698c3dfdc1ad3f4c441628 -
Branch / Tag:
refs/tags/0.1.3 - Owner: https://github.com/KakesDavid
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bbb7b9aff6e66b4526698c3dfdc1ad3f4c441628 -
Trigger Event:
release
-
Statement type:
File details
Details for the file opun8-0.1.3-py3-none-any.whl.
File metadata
- Download URL: opun8-0.1.3-py3-none-any.whl
- Upload date:
- Size: 116.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2859be173c4f85b764ea8b96059ce182ac30ce98d1813dc9b2a540d299ab556b
|
|
| MD5 |
bc7bc5aa7512cdc6ca16df5e82dca90a
|
|
| BLAKE2b-256 |
4424e171529e65fce3e54ac4a378c08db8d9d9aa35fca23f929d03bf988acabf
|
Provenance
The following attestation bundles were made for opun8-0.1.3-py3-none-any.whl:
Publisher:
publish.yml on KakesDavid/opun8
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
opun8-0.1.3-py3-none-any.whl -
Subject digest:
2859be173c4f85b764ea8b96059ce182ac30ce98d1813dc9b2a540d299ab556b - Sigstore transparency entry: 2171769669
- Sigstore integration time:
-
Permalink:
KakesDavid/opun8@bbb7b9aff6e66b4526698c3dfdc1ad3f4c441628 -
Branch / Tag:
refs/tags/0.1.3 - Owner: https://github.com/KakesDavid
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bbb7b9aff6e66b4526698c3dfdc1ad3f4c441628 -
Trigger Event:
release
-
Statement type: