Wiki

Clone wiki

blackberry-py / Home

What Is "BlackBerry Python"?

It's a collection of open source tools and code to let you build Python-based apps for BlackBerry devices that include the Python 3.2 runtime (currently, the PlayBook and BlackBerry 10).

This is a community-run project not officially associated with BlackBerry.

We produce two main packages: Tart and a QNX port of PySide.

"BlackBerry Tart" is a framework and collection of tools for building apps using a combination of Python (for the business logic) and BlackBerry's Cascades UI framework (for the user interface). Tart works only on BlackBerry 10 and is now the primary focus of the project. As of summer 2013 numerous apps have been written with the Tart framework so it's considered to be out of the experimental stage, but still under active development.

The other package is a BlackBerry port of PySide, which wraps Qt and QtQuick with Python classes and lets you write the entire app using just Python (and a bunch of libraries you bundle with the app). If you are developing for the PlayBook or have another reason to stick with PySide, head over to our PySide introduction.

Quick Start

  1. Install the BlackBerry Native SDK. This has the required packaging, signing and deploying tools. Newcomers may need to read our NDK Tutorial, once it's written...
  2. Install Tart. This is distributed as a zip file which you can extract into your project working folder and immediately use.
  3. Write an app! Start by building HelloWorld, or you could clone one of the other sample apps.
  4. Follow through the longer version in the Tart Quick Start.

Optionally, you may want to start with step #0: "Learn Python". If so, some of these links may be helpful to you. Note that Python is one of the easiest modern programming languages to learn, so don't let a lack of experience with it stop you.

Documentation

You're reading it! We have no API docs yet, but as of summer 2013, the project documentation is undergoing a major update. Check in again. We'll provide a log of major changes as we go.

You can read an overview of all available documentation in this wiki.

We use an MIT License for code that's part of the project itself, while the PySide binary distributions incorporate third-party packages (Qt and PySide) under their own LGPL licenses.

Downloads

See the Tart Change History or go straight to our downloads page.

Development

Contributions are welcome! Whether you know C, C++, Python, QML, JavaScript, PySide, or OpenGL, there's likely a place you could contribute. You could also help improve the documentation, or even just help focus the work by adding issues, or participating in the mailing list.

To compile Tart and build a custom binary distribution, read about Building Tart.

If you'll be contributing please note that the project is distributed under an MIT license and your contributions must be compatible with that. Additionally we'll be requiring that you accept a Contributor Agreement so keep that in mind. It's not in place yet but, once it is, we'll need contributors to accept it or will have to back out their changes.

Contact us:

Updated

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.