🎯 Why Build for BerryPy?
📱 Active Community
Reach passionate BB10 users actively using their devices in 2025
🐍 Python Powered
Build with Flask, FastAPI, or any Python web framework
🚀 Easy Distribution
Package once, distribute via BerryStore
🫐 What is BerryPy?
BerryPy is a web-based application platform for BlackBerry BB10/QNX devices.
- App Store interface for browsing apps
- Process management
- Auto-start configuration
- Catalog system with icons
- Runs at
http://127.0.0.1:8001
Current Apps:
- 🤖 AI-Chat
- 🚀 RocketChat
- ✈️ Telegram
- 🖥️ Webshell
- 📺 YouTube
- 🐙 BB10Git
- 📋 copyclip
- ⚙️ Term49-Settings
⚙️ How It Works
┌──────────────────┐
│ BB10 Browser │
└────────┬─────────┘
▼
┌──────────────────┐
│ BerryPy Server │
│ • Manage apps │
│ • Process ctrl │
└────────┬─────────┘
▼
┌──────────────────┐
│ BerryStore │
│ • Web apps │
│ • CLI tools │
│ • catalog.json │
└──────────────────┘
📦 Web Apps
Python web applications (Flask, FastAPI, etc.)
- Installed to
~/apps/ - Run on their own port
- Managed by BerryPy
🔧 CLI Tools
Command-line utilities
- Installed to
~/bin/ - Available in PATH
- QNX compatible
🚀 Creating Your First App
1
Create Python App
# app.py
from flask import Flask
app = Flask(__name__)
PORT = 8100
@app.route('/')
def home():
return 'Hello BB10!'
if __name__ == '__main__':
app.run(host='0.0.0.0',
port=PORT)
💡 Tip: Define
PORT so BerryPy can detect it!
2
Add Home Screen Icon
<!-- In HTML <head> -->
<link rel="icon"
href="https://berrystore
.sw7ft.com/apps/app-icons
/yourapp.png">
<link rel="apple-touch-icon"
href="https://berrystore
.sw7ft.com/apps/app-icons
/yourapp.png">
3
Create Icon (48x48px)
- Exactly 48x48 pixels
- PNG format
- Clear, simple design
- Lowercase filename
4
Package App
YourApp.zip
├── app.py
├── templates/
│ └── index.html
├── static/
│ ├── style.css
│ └── script.js
└── requirements.txt
Create with:
zip -r YourApp.zip \
app.py templates/ \
static/ requirements.txt
5
Add to Catalog
Update catalog.json:
{
"YourApp": {
"name": "Your App",
"description": "...",
"category": "Tools",
"version": "1.0.0",
"author": "You",
"icon": "yourapp.png",
"requirements": [
"flask"
]
}
}
⚠️ BB10/QNX Rules
🚨 CRITICAL: BB10 uses QNX, not Linux! Using Linux commands will fail.
Common Mistakes:
| Rule | ❌ Wrong | ✅ Right |
|---|---|---|
| Shebang | #!/bin/bash | #!/bin/sh |
| Process | ps -p | pidin -p |
| Test | [[ ]] | [ ] |
| Compare | == | = |
✅ Testing on BB10
You MUST test on an actual BB10 device:
# Copy to device
scp YourApp.zip \
bb10:~/apps/
# SSH and test
ssh bb10
cd ~/apps/
unzip YourApp.zip -d \
YourApp
cd YourApp
python3 app.py
Test Checklist:
- ✓ App starts without errors
- ✓ UI renders in BB10 browser
- ✓ Touch works properly
- ✓ Port detected correctly
- ✓ No Linux commands used
- ✓ Icon displays
📤 Submit Your App
- Fork repo: github.com/sw7ft/berrypy
-
Add files:
- YourApp.zip →
/apps/ - yourapp.png →
/apps/app-icons/ - Update catalog.json
- YourApp.zip →
- Create Pull Request
- Wait for review