Skip to content

sw7ft/berrypy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🫐 BerryPy

Modern web-based application manager for BlackBerry BB10/QNX devices

Version Platform License Python


πŸ“± What is BerryPy?

BerryPy transforms your BlackBerry BB10 into a powerful app platform. Install, manage, and monitor Python applications directly from your browser.

✨ Key Features

  • 🎨 Beautiful UI - Purple-themed interface optimized for BB10 browsers
  • πŸ“¦ App Store - Browse and install apps from berrystore.sw7ft.com
  • ⚑ Process Manager - Start, stop, and monitor running applications
  • πŸ”„ Auto-Start - Configure apps to launch automatically on boot
  • πŸ’œ Custom Icons - Visual app identification with 48x48px icons
  • πŸ“° News Feed - Stay updated with the latest app releases
  • πŸ€– Android Support - Manage APK installations

🌐 Access

Once running, access BerryPy at: http://127.0.0.1:8001


πŸš€ Quick Start

For Users

# Install Python
qpkg install python3

# Install BerryPy
qpkg install berrypy

# Start BerryPy
berrypy start

# Open browser to http://127.0.0.1:8001

πŸ“– Full installation guide: docs/INSTALL.md


For Developers

# Clone repository
git clone https://github.com/sw7ft/BerryPy.git
cd BerryPy

# Build package
./build-port.sh

# Output: web-berrypy-2.0.zip (80KB)

πŸ“– Developer guide: CONTRIBUTING.md


🎯 How It Works

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  BlackBerry Browser                 β”‚
β”‚  http://127.0.0.1:8001             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                  β”‚
                  β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  BerryPy Flask Server               β”‚
β”‚  β€’ Manage apps                      β”‚
β”‚  β€’ Process control                  β”‚
β”‚  β€’ Download/Install                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                  β”‚
                  β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  BerryStore (berrystore.sw7ft.com)  β”‚
β”‚  β€’ Web apps  β†’ ~/apps/              β”‚
β”‚  β€’ CLI tools β†’ ~/usr/local/bin/     β”‚
β”‚  β€’ APK files β†’ Downloads            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ› οΈ Development

Project Structure

BerryPy/
β”œβ”€β”€ taskapp/                  # πŸ“¦ Application source
β”‚   β”œβ”€β”€ taskapp.py           #    Main Flask server
β”‚   β”œβ”€β”€ taskmgr.html         #    Web interface
β”‚   β”œβ”€β”€ about.html           #    About page
β”‚   β”œβ”€β”€ android.html         #    Android APK manager
β”‚   β”œβ”€β”€ auto-config.html     #    Auto-start configuration
β”‚   β”œβ”€β”€ news.json            #    News feed data
β”‚   β”œβ”€β”€ news_manager.py      #    News system
β”‚   └── app-icons/           #    48x48 PNG icons
β”‚
β”œβ”€β”€ port/                    # 🎯 Official BerryCore Port
β”‚   β”œβ”€β”€ web-berrypy-2.0.zip  #    Ready-to-install package
β”‚   └── README.md            #    Port documentation
β”‚
β”œβ”€β”€ build-port.sh            # πŸ”¨ Package builder script
β”œβ”€β”€ taskapp.zip              # πŸ“¦ Original source archive
β”‚
β”œβ”€β”€ docs/                    # πŸ“– Documentation
β”‚   β”œβ”€β”€ QUICK-START.md       #    5-minute setup guide
β”‚   β”œβ”€β”€ INSTALL.md           #    Detailed installation
β”‚   β”œβ”€β”€ ARCHITECTURE.md      #    System design
β”‚   β”œβ”€β”€ CHANGELOG.md         #    Version history
β”‚   β”œβ”€β”€ QNX-COMPATIBILITY.md #    BB10/QNX specifics
β”‚   β”œβ”€β”€ ICON_UPDATES.md      #    Icon system guide
β”‚   └── overview.md          #    Detailed overview
β”‚
β”œβ”€β”€ CONTRIBUTING.md          # 🀝 Contribution guidelines
β”œβ”€β”€ LICENSE                  # πŸ“œ MIT License
└── README.md               # πŸ“„ This file

Building

# Build BerryCore package
./build-port.sh

# Output: web-berrypy-2.0.zip (80KB)
# Automatically copied to port/ directory

Package contents:

web-berrypy-2.0.zip
β”œβ”€β”€ bin/berrypy              # Launcher script
β”œβ”€β”€ share/berrypy/           # Application files
β”‚   β”œβ”€β”€ taskapp.py
β”‚   β”œβ”€β”€ taskmgr.html
β”‚   β”œβ”€β”€ app-icons/
β”‚   └── ...
└── doc/                     # Documentation

πŸ“¦ Official package: port/web-berrypy-2.0.zip

Testing

⚠️ CRITICAL: Always test on actual BB10/QNX device before submitting PRs.

# Deploy to BB10 device
scp web-berrypy-2.0.zip bb10:/tmp/

# SSH to device and install
ssh bb10
cd $NATIVE_TOOLS
unzip -o /tmp/web-berrypy-2.0.zip

# Test
berrypy start
# Open browser to http://127.0.0.1:8001

🀝 Contributing

We welcome contributions from the BlackBerry community!

Get Started

  1. Fork the repository
  2. Clone your fork
  3. Create a feature branch
  4. Make your changes
  5. Test on BB10 device
  6. Submit a pull request

πŸ“– Full guide: CONTRIBUTING.md

Important BB10/QNX Rules

When developing for BB10/QNX, always follow these critical rules:

Rule ❌ Wrong βœ… Correct
Shebang #!/bin/bash #!/bin/sh
Process Check ps -p $PID pidin -p $PID
Shell Syntax [[ ]] [ ]
String Compare == =

Why? BB10/QNX doesn't have bash or GNU utilities. Using Linux-specific commands will fail!

πŸ“– Details: docs/QNX-COMPATIBILITY.md


πŸ“š Documentation

Guide Description
Quick Start Get BerryPy running in 5 minutes
Installation Detailed installation instructions
Architecture How BerryPy works internally
QNX Compatibility BB10/QNX development guide
Changelog Version history and updates
Icon System Adding custom app icons

🎨 Supported Apps

BerryPy comes with pre-configured icons for popular apps:

  • πŸ€– AI-Chat - AI-powered chat assistant
  • πŸ™ BB10Git - GitHub repository manager
  • πŸ“‹ copyclip - Clipboard sync tool
  • πŸ’¬ RocketChat - Team communication
  • ✈️ Telegram - Messaging client
  • βš™οΈ Term49-Settings - Terminal configuration
  • πŸ–₯️ Webshell - Web-based terminal
  • πŸ“Ί YouTube - Video player

All icons are 48x48px PNG format, optimized for BB10 displays.

Want to add an icon? See docs/ICON_UPDATES.md


πŸ”§ Commands

BerryPy includes a convenient command-line interface:

berrypy start      # Start the BerryPy server
berrypy stop       # Stop the server gracefully
berrypy restart    # Restart the server
berrypy status     # Check if running
berrypy logs       # View recent log entries
berrypy url        # Display access URL
berrypy help       # Show help information

πŸ› Troubleshooting

Common Issues

BerryPy won't start:

# Check if Python is installed
which python3
python3 --version

# Check logs
berrypy logs

# Try manual start
cd $NATIVE_TOOLS/share/berrypy
python3 taskapp.py

Can't access web interface:

# Verify BerryPy is running
berrypy status

# Check if port 8001 is in use
pidin | grep 8001

# Restart BerryPy
berrypy restart

Apps won't install:

# Check network connectivity
ping berrystore.sw7ft.com

# Verify disk space
df -h

# Check logs for errors
berrypy logs

πŸ“– More troubleshooting: docs/INSTALL.md


βš™οΈ Requirements

  • Device: BlackBerry BB10 (any model with QNX)
  • BerryCore: Package manager (required)
  • Python: 3.11 or higher (install via qpkg install python3)
  • Storage: ~80KB for BerryPy (apps vary)
  • Network: Internet connection for app downloads

For Development:

  • SSH access to device
  • Git for version control

πŸ—ΊοΈ Roadmap

Future features under consideration:

  • App Updates - Check for and install app updates
  • Ratings/Reviews - Community app feedback
  • Search & Filters - Find apps faster
  • Dark Theme - Alternative color scheme
  • Backup/Restore - Save app configurations
  • Multi-language - Internationalization support

Want to contribute? Pick a feature and submit a PR!


πŸ“œ License

BerryPy is open source software licensed under the MIT License.

Copyright (c) 2025 SW7FT

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction...

πŸ”— Links


πŸ™ Acknowledgments

Special thanks to:

  • The BlackBerry community for keeping BB10 alive
  • Contributors who help improve BerryPy
  • App developers on BerryStore
  • Everyone keeping QNX development active

πŸ“Έ Screenshots

Coming soon! Add screenshots of your BerryPy interface to showcase features.


Made with πŸ’œ for BlackBerry enthusiasts everywhere

Keep your BB10 alive with BerryPy

⭐ Star this repo β€’ πŸ› Report Bug β€’ πŸ’‘ Request Feature

About

BerryPy python web app management for blackberry 10 devices

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published