Skip to main content

Generic Python packager for Android / iOS and Desktop

Project description

This tool is currently in alpha.

Buildozer is a tool for creating application packages easily.

The goal is to have one “buildozer.spec” file in your app directory, describing your application requirements and settings such as title, icon, included modules etc. Buildozer will use that spec to create a package for Android, iOS, Windows, OSX and/or Linux.

Buildozer currently supports packaging for Android via the python-for-android project, and for iOS via the kivy-ios project. Support for other operating systems is intended in the future.

Note that this tool has nothing to do with the eponymous online build service buildozer.io.

Usage example

  1. Install buildozer:

    # latest dev
    git clone https://github.com/kivy/buildozer
    cd buildozer
    sudo python2.7 setup.py install
    
    # via pip (latest stable)
    sudo pip install buildozer
  2. Go into your application directory and do:

    buildozer init
    # edit the buildozer.spec, then
    buildozer android debug deploy run

Example of commands:

# buildozer target command
buildozer android clean
buildozer android update
buildozer android deploy
buildozer android debug
buildozer android release

# or all in one (compile in debug, deploy on device)
buildozer android debug deploy

# set the default command if nothing set
buildozer setdefault android debug deploy run

Usage

Usage: buildozer [--verbose] [target] [command1] [command2]

Available targets:
  android            Android target, based on python-for-android project
  ios                iOS target, based on kivy-ios project. (not working yet.)

Global commands (without target):
  clean              Clean the whole Buildozer environment.
  help               Show the Buildozer help.
  init               Create a initial buildozer.spec in the current directory
  setdefault         Set the default command to do when no arguments are given
  version            Show the Buildozer version

Target commands:
  clean              Clean the target environment
  update             Update the target dependencies
  debug              Build the application in debug mode
  release            Build the application in release mode
  deploy             Deploy the application on the device
  run                Run the application on the device

buildozer.spec

See buildozer/default.spec for an up-to-date spec file.

Default config

You can override the value of any buildozer.spec config token by setting an appropriate environment variable. These are all of the form $SECTION_TOKEN, where SECTION is the config file section and TOKEN is the config token to override. Dots are replaced by underscores.

For example, here are some config tokens from the [app] section of the config, along with the environment variables that would override them.

  • title -> $APP_TITLE

  • package.name -> $APP_PACKAGE_NAME

  • android.p4a_dir -> $APP_ANDROID_P4A_DIR

Support

If you need assistance, you can ask for help on our mailing list:

We also have an IRC channel:

  • Server : irc.freenode.net

  • Port : 6667, 6697 (SSL only)

  • Channel : #kivy

Contributing

We love pull requests and discussing novel ideas. Check out our contribution guide and feel free to improve buildozer.

The following mailing list and IRC channel are used exclusively for discussions about developing the Kivy framework and its sister projects:

IRC channel:

  • Server : irc.freenode.net

  • Port : 6667, 6697 (SSL only)

  • Channel : #kivy-dev

License

Buildozer is released under the terms of the MIT License. Please refer to the LICENSE file.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

buildozer-0.31.tar.gz (68.0 kB view details)

Uploaded Source

File details

Details for the file buildozer-0.31.tar.gz.

File metadata

  • Download URL: buildozer-0.31.tar.gz
  • Upload date:
  • Size: 68.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for buildozer-0.31.tar.gz
Algorithm Hash digest
SHA256 7ef8a3be5362fc3e047cdeeaff46954ab667b9ae12023a525ed04ea3e697e41f
MD5 76a7e63a0aaedbe5f449628c8ae6b530
BLAKE2b-256 e2d7012f668a1f3cd6ea3d379e432796ed72e02020a86c66ee8c669360ae8d00

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page