Skip to main content

Build native mobile apps in python

Project description

# enaml-native Build native mobile apps in python using enaml and native widgets! [![Build Status](https://travis-ci.org/codelv/enaml-native.svg?branch=master)](https://travis-ci.org/codelv/enaml-native) [![codecov](https://codecov.io/gh/codelv/enaml-native/branch/master/graph/badge.svg)](https://codecov.io/gh/codelv/enaml-native)

[![Python Playground](https://img.youtube.com/vi/2IfRrqOWGPA/0.jpg)](https://youtu.be/2IfRrqOWGPA)

The goal of this project is to be an alternative to using [kivy](https://kivy.org/) for building mobile apps with python.

I made this because wanted to have a more “React Native” like environment that: 1. Uses python 2. Uses native widgets (Android / iOS) 3. Can be run from Android Studio / XCode (ie no bootstraps) 4. Uses enaml’s models, and declarative and dynamic widget framework instead of kvlang 5. Versioned “packages” and “recipes” than can be installed/updated/removed to make repeatable builds

> Android apps are currently working and have a lot of components. iOS is currently broken, and is limited to only a few components at the moment

### Docs and Examples ###

See the [project site](https://www.codelv.com/projects/enaml-native/). There’s also some short tutorials and examples on [youtube](https://www.youtube.com/playlist?list=PLXUaMWWFaOjT2WdIrJdTYjEMJmrjuvVz0).

> Need help? Try the gitter group https://gitter.im/enaml-native/Lobby

### Add-on Packages ###

Enaml-native was redesigned so separate “packages” can be created and installed to add new native widgets and other apis. Similar to the [kivy-garden](https://github.com/kivy-garden/) but it borrows the concepts of the [react-native package manager](https://github.com/rnpm/rnpm).

Packages can be created using the enaml-native init-package <your-package-name> command. Once made they can be installed with pip or the enaml-native install command (recommended).

#### Packages ####

Created a package? Send a PR and add it here!

### Features ### 1. Enaml’s features: declarative syntax, conditional and looper rendering, automatic data binding 2. Layouts with flexbox 3. Live app code reloading (like react-native’s live reload) 4. Versioned package management and native library linking

### Apps ###

Apps using enaml-native can be found [here](https://www.codelv.com/projects/enaml-native/apps/).

### Demos ### 1. Try out the beta demo app here [on google play](https://play.google.com/store/apps/details?id=com.frmdstryr.enamlnative.demo) 2. Try out code without installing the android SDK or NDK via the [Python Playground](https://play.google.com/store/apps/details?id=com.frmdstryr.pythonplayground)!

### Thanks to ###

This project is built on top of several existing projects:

  1. [enaml](https://github.com/nucleic/enaml)

  2. [python-for-android](https://github.com/kivy/python-for-android/)

  3. [pybridge](https://github.com/joaoventura/pybridge)

  4. [react-native](https://github.com/facebook/react-native) (inspiration)

  5. [pyjnius](https://github.com/kivy/pyjnius/)

  6. [kivy-ios](https://github.com/kivy/kivy-ios/)

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

enaml_native-2.11.14-py2-none-any.whl (600.1 kB view details)

Uploaded Python 2

File details

Details for the file enaml_native-2.11.14-py2-none-any.whl.

File metadata

File hashes

Hashes for enaml_native-2.11.14-py2-none-any.whl
Algorithm Hash digest
SHA256 7983b6462f6912df4a6f5ba27f693a6a30ac23fd302cff3b1bc0e690aa1178ac
MD5 b26e8c72be0dcc706c57dd9370d5132c
BLAKE2b-256 89d488d337e8a64e7135e70a712fbaead181bf6f63195d8742f75e110df3d388

See more details on using hashes here.

Supported by

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