Welcome to |project| documentation ================================== .. centered:: Version |version| released |today| |project| provides an implementation of a useful subset of Python syntax and types in Java and Objective C. The sweet spot is where you need a `DSL `__ (eg expressions, variables, conditionals, methods/macros, callbacks) and would like to use Python's syntax and types (eg heterogeneous lists and dicts). Think of it as adding those things to `JSON `__ rather than cutting down Python. It was originally written in order to have a richer configuration file for an Android app library. For example you could make the brightness setting have a value of 7 except on Thursday afternoons, unless the program has been running for 24 hours. If you are looking for a fuller implementation of Python then try the `Jython Project `__ for Java, or regular `CPython `__. |project| is hosted at https://github.com/rogerbinns/jia-mini-python Works with `Java 1.5+ `__, and iOS/MacOS with Clang and `ARC `__. You need `Python 2.6+/3.1+ `__ on a host computer to translate Python text into the bytecode used. As a JAR file |project| comes in at 32kb, `Rhino `__ (Javascript interpreter) comes in at 1.1MB or more and various Lua implementations are at least ½ MB. x86 CPython is over 1½ MB (plus numerous extra files), while Objective C |project| is under 100kb. |project| doesn't include a language parser or `REPL `__ as you use :doc:`jmp-compile` to do the parsing. This keeps things small - just the way we like it. Contents: .. toctree:: :maxdepth: 2 example lang java objc python jmp-compile quirks internals faq changes copyright Indices and tables ================== * :ref:`genindex` * :ref:`search`