👨‍💻 Build for BerryPy

Create apps for BlackBerry 10

🎯 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.

Current Apps:

⚙️ 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.)

🔧 CLI Tools

Command-line utilities

🚀 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 == =

📖 Full compatibility guide

✅ 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:

📤 Submit Your App

  1. Fork repo: github.com/sw7ft/berrypy
  2. Add files:
    • YourApp.zip → /apps/
    • yourapp.png → /apps/app-icons/
    • Update catalog.json
  3. Create Pull Request
  4. Wait for review

📚 Resources

Documentation:

Community:

🚀 Ready to Build?

Join the BB10 developer community!

View on GitHub →