Skip to content

Commit 85156df

Browse files
authored
Update README.md
Signed-off-by: 1minds3t <1minds3t@proton.me>
1 parent 3150e57 commit 85156df

1 file changed

Lines changed: 163 additions & 49 deletions

File tree

README.md

Lines changed: 163 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -325,103 +325,217 @@ uv 0.8.11
325325
`omnipkg` works out of the box with **automatic SQLite fallback** when Redis isn't available. Redis is optional for enhanced performance.
326326
327327
Ready to end dependency hell?
328-
uv pip install omnipkg && omnipkg demo to see the magic in under 30 seconds.
328+
```bash
329+
uv pip install omnipkg && omnipkg demo
330+
```
331+
332+
---
333+
334+
<!-- PLATFORM_SUPPORT_START -->
335+
## 🌐 Verified Platform Support
336+
337+
[![Platforms Verified](https://img.shields.io/badge/platforms-24%20verified-success?logo=linux&logoColor=white)](https://github.com/1minds3t/omnipkg/actions/workflows/cross-platform-build-verification.yml)
338+
[![Linux](https://img.shields.io/badge/Linux-15+%20distros-FCC624?logo=linux&logoColor=black)](https://github.com/1minds3t/omnipkg/actions/workflows/cross-platform-build-verification.yml)
339+
[![macOS](https://img.shields.io/badge/macOS-Intel-000000?logo=apple&logoColor=white)](https://github.com/1minds3t/omnipkg/actions/workflows/cross-platform-build-verification.yml)
340+
[![Windows](https://img.shields.io/badge/Windows-x86__64-0078D4?logo=windows&logoColor=white)](https://github.com/1minds3t/omnipkg/actions/workflows/cross-platform-build-verification.yml)
341+
342+
**omnipkg** is a pure Python package (noarch) with **no C-extensions**, ensuring universal compatibility across all platforms and architectures.
343+
344+
### 📊 Platform Matrix
345+
346+
#### Linux (Native)
347+
| Platform | Architecture | Status | Installation Notes |
348+
|----------|--------------|--------|-------------------|
349+
| Linux x86_64 | x86_64 | ✅ | Native installation |
350+
351+
#### macOS (Native)
352+
| Platform | Architecture | Status | Installation Notes |
353+
|----------|--------------|--------|-------------------|
354+
| macOS Intel | x86_64 (Intel) | ✅ | Native installation |
355+
356+
#### Windows (Native)
357+
| Platform | Architecture | Status | Installation Notes |
358+
|----------|--------------|--------|-------------------|
359+
| Windows Server | x86_64 | ✅ | Latest Server |
360+
361+
#### Debian/Ubuntu
362+
| Platform | Architecture | Status | Installation Notes |
363+
|----------|--------------|--------|-------------------|
364+
| Debian 12 (Bookworm) | x86_64 | ✅ | `--break-system-packages` required |
365+
| Debian 11 (Bullseye) | x86_64 | ✅ | Standard install |
366+
| Ubuntu 24.04 (Noble) | x86_64 | ✅ | `--break-system-packages` required |
367+
| Ubuntu 22.04 (Jammy) | x86_64 | ✅ | Standard install |
368+
| Ubuntu 20.04 (Focal) | x86_64 | ✅ | Standard install |
369+
370+
#### RHEL/Fedora
371+
| Platform | Architecture | Status | Installation Notes |
372+
|----------|--------------|--------|-------------------|
373+
| Fedora 39 | x86_64 | ✅ | Standard install |
374+
| Fedora 38 | x86_64 | ✅ | Standard install |
375+
| Rocky Linux 9 | x86_64 | ✅ | Standard install |
376+
| Rocky Linux 8 | x86_64 | ✅ | Requires Python 3.9+ (default is 3.6) |
377+
| AlmaLinux 9 | x86_64 | ✅ | Standard install |
378+
379+
#### Other Linux
380+
| Platform | Architecture | Status | Installation Notes |
381+
|----------|--------------|--------|-------------------|
382+
| Arch Linux | x86_64 | ✅ | `--break-system-packages` required |
383+
| Alpine Linux | x86_64 | ✅ | Requires build deps (gcc, musl-dev) |
384+
385+
#### ARM64 (aarch64) - QEMU Verified
386+
| Platform | Architecture | Status | Installation Notes |
387+
|----------|--------------|--------|-------------------|
388+
| Debian 12 (Bookworm) | ARM64 | ✅ | QEMU emulation |
389+
| Ubuntu 24.04 (Noble) | ARM64 | ✅ | QEMU emulation, `--break-system-packages` |
390+
| Ubuntu 22.04 (Jammy) | ARM64 | ✅ | QEMU emulation |
391+
| Fedora 39 | ARM64 | ✅ | QEMU emulation |
392+
| Rocky Linux 9 | ARM64 | ✅ | QEMU emulation |
393+
| Alpine Linux | ARM64 | ✅ | QEMU emulation, build deps required |
394+
395+
### 📝 Special Installation Notes
396+
397+
#### Ubuntu 24.04+ / Debian 12+ (PEP 668)
398+
Modern Debian/Ubuntu enforce PEP 668 to protect system packages:
399+
```bash
400+
# Use --break-system-packages flag
401+
python3 -m pip install --break-system-packages omnipkg
402+
403+
# Or use a virtual environment (recommended for development)
404+
python3 -m venv .venv
405+
source .venv/bin/activate
406+
pip install omnipkg
407+
```
408+
409+
#### Rocky/Alma Linux 8 (Python 3.6 → 3.9)
410+
EL8 ships with Python 3.6, which is too old for modern `pyproject.toml`:
411+
```bash
412+
# Install Python 3.9 first
413+
sudo dnf install -y python39 python39-pip
414+
415+
# Make python3 point to 3.9
416+
sudo ln -sf /usr/bin/python3.9 /usr/bin/python3
417+
sudo ln -sf /usr/bin/pip3.9 /usr/bin/pip3
418+
419+
# Now install omnipkg
420+
python3 -m pip install omnipkg
421+
```
422+
423+
#### Alpine Linux (Build Dependencies)
424+
Alpine requires build tools for dependencies like `psutil`:
425+
```bash
426+
# Install build tools first
427+
apk add --no-cache gcc python3-dev musl-dev linux-headers
428+
429+
# Then install omnipkg
430+
python3 -m pip install --break-system-packages omnipkg
431+
```
432+
433+
#### Arch Linux
434+
```bash
435+
# Arch uses --break-system-packages for global installs
436+
python -m pip install --break-system-packages omnipkg
437+
```
438+
439+
### 🐍 Python Version Support
440+
441+
[![Python Versions](https://img.shields.io/pypi/pyversions/omnipkg?logo=python&logoColor=white)](https://pypi.org/project/omnipkg/)
442+
[![noarch](https://img.shields.io/badge/architecture-noarch-blue?logo=python&logoColor=white)](https://anaconda.org/conda-forge/omnipkg)
443+
444+
**Supported:** Python 3.7 - 3.14 (including beta/rc releases)
445+
446+
**Architecture:** `noarch` (pure Python, no compiled extensions)
447+
448+
This means omnipkg runs on **any** architecture where Python is available:
449+
450+
#### Verified Architectures
451+
- ✅ **x86_64** (Intel/AMD) - Verified in CI on 18+ platforms
452+
- ✅ **ARM32** (armv6/v7) - [Verified on piwheels.org](https://www.piwheels.org/project/omnipkg/)
453+
- ✅ **ARM64** (aarch64) - Verified via QEMU on 6+ platforms
454+
- ✅ **RISC-V, POWER, s390x** - Anywhere Python runs!
455+
456+
<!-- PLATFORM_SUPPORT_END -->
457+
458+
---
329459
330460
### Installation Options
331461
332-
**Available via UV, pip, conda-forge, Docker, brew, Github, and piwheels, support for Linux, Windows, Mac, and Rasperry Pi**
462+
**Available via UV, pip, conda-forge, Docker, brew, GitHub, and piwheels**
333463
334-
#### ⚡ UV
464+
#### ⚡ UV (Recommended)
335465
336466
<a href="https://github.com/astral-sh/uv">
337467
<img src="https://img.shields.io/badge/uv-install-blueviolet?logo=uv&logoColor=white" alt="uv Install">
338468
</a>
339-
340469
```bash
341470
uv pip install omnipkg
342471
```
343472
344-
#### 📦 PyPi
473+
#### 📦 PyPI
345474
346-
<a href="https://pypi.org/project/omnipkg/">
347-
<img src="https://img.shields.io/pypi/v/omnipkg?color=blue&logo=pypi" alt="PyPI">
348-
</a>
349-
475+
<a href="https://pypi.org/project/omnipkg/">
476+
<img src="https://img.shields.io/pypi/v/omnipkg?color=blue&logo=pypi" alt="PyPI">
477+
</a>
350478
```bash
351479
pip install omnipkg
352480
```
353481
354482
#### 🏠 Official Conda-Forge Channel
355483
356-
<a href="https://anaconda.org/conda-forge/omnipkg">
357-
<img src="https://anaconda.org/conda-forge/omnipkg/badges/platforms.svg" alt="Platforms / Noarch">
484+
<a href="https://anaconda.org/conda-forge/omnipkg">
485+
<img src="https://anaconda.org/conda-forge/omnipkg/badges/platforms.svg" alt="Platforms / Noarch">
358486
</a>
359-
<a href="https://anaconda.org/conda-forge/omnipkg">
360-
<img src="https://img.shields.io/badge/conda--forge-omnipkg-brightgreen?logo=anaconda&logoColor=white" alt="Conda-forge">
361-
</a>
362-
363487
```bash
364-
# Easiest guaranteed way
365488
conda install -c conda-forge omnipkg
366-
367-
# Or with mamba if you prefer speed
368-
mamba install -c conda-forge omnipkg
369489
```
370490
371-
<a href="https://anaconda.org/minds3t/omnipkg">
372-
<img src="https://img.shields.io/badge/conda--channel-minds3t-blue?logo=anaconda&logoColor=white" alt="Minds3t Conda Channel">
373-
</a>
374-
491+
#### 🐋 Docker
375492
376-
```bash
377-
conda install -c minds3t omnipkg
378-
# Or with mamba
379-
mamba install -c minds3t omnipkg
380-
```
381-
382-
#### 🐋 Docker
383493
<a href="https://hub.docker.com/r/1minds3t/omnipkg">
384-
<img src="https://img.shields.io/docker/pulls/1minds3t/omnipkg?logo=docker" alt="Docker Pulls">
494+
<img src="https://img.shields.io/docker/pulls/1minds3t/omnipkg?logo=docker" alt="Docker Pulls">
385495
</a>
386-
387496
```bash
388-
# Pull from Docker Hub
389497
docker pull 1minds3t/omnipkg:latest
390-
391-
# Pull from GitHub Container Registry (GHCR)
392-
docker pull ghcr.io/1minds3t/omnipkg:latest
393498
```
394499
395500
#### 🍺 Homebrew
396501
```bash
397-
# Add the tap first
398502
brew tap 1minds3t/omnipkg
399-
# Install omnipkg
400503
brew install omnipkg
401504
```
402505
403-
#### 🥧 piwheels (for Raspberry Pi)
404-
405-
<a href="https://www.piwheels.org/project/omnipkg/">
406-
<img src="https://img.shields.io/badge/piwheels-install-97BF0D?logo=raspberrypi&logoColor=white" alt="piwheels Install">
407-
</a>
506+
#### 🥧 piwheels (Raspberry Pi)
408507
409-
For users on Raspberry Pi, you can use the optimized wheels from piwheels for faster installation.
508+
<!-- PIWHEELS_STATS_START -->
509+
[![piwheels](https://img.shields.io/badge/piwheels-ARM32%20verified-97BF0D?logo=raspberrypi&logoColor=white)](https://www.piwheels.org/project/omnipkg/)
410510
511+
**Latest Version:** `2.0.3` | **Python:** 3.9, 3.11, 3.13 | [View on piwheels](https://www.piwheels.org/project/omnipkg/)
411512
```bash
412-
pip install --index-url=https://www.piwheels.org/simple/ omnipkg
513+
# Install on Raspberry Pi (ARM32)
514+
pip3 install omnipkg==2.0.3
515+
516+
# Or use piwheels index directly
517+
pip3 install --index-url=https://www.piwheels.org/simple/ omnipkg
413518
```
414519
415-
### 🌱 GitHub
520+
**Verified Platforms:**
521+
- 🍓 Raspberry Pi (armv6/armv7)
522+
- Bullseye (Debian 11) - Python 3.9
523+
- Bookworm (Debian 12) - Python 3.11
524+
- Trixie (Debian 13) - Python 3.13
525+
526+
**Optimized wheels built and tested by [piwheels.org](https://www.piwheels.org/project/omnipkg/) on real Raspberry Pi hardware.**
527+
528+
<!-- PIWHEELS_STATS_END -->
529+
530+
#### 🌱 GitHub
416531
```bash
417-
# Clone the repo
418532
git clone https://github.com/1minds3t/omnipkg.git
419533
cd omnipkg
420-
421-
# Install in editable mode (optional for dev)
422534
pip install -e .
423535
```
424536
537+
---
538+
425539
### Instant Demo
426540
```bash
427541
omnipkg demo

0 commit comments

Comments
 (0)