A transpiler that converts Python bytecode into Java bytecode.
This is experimental code. If it breaks, you get to keep all the shiny pieces.
What it does:
- Provides an API to let you programmatically create Java class files.
- Compiles Python 3.4 source files into Java class files, enabling you to run Python code on a JVM (including Android's VM).
It isn't a completely compliant Python 3.4 implementation - there are some language features (like generators and context managers) that still need to be implemented, and there is only a bare bones standard library implementation. However, it is possible to convert simple Python programs, and even write simple Android applications.
To take VOC for a spin, run through the Getting Started guide, then start with the first tutorial.
Documentation for VOC can be found on Read The Docs.
The Vereenigde Oostindische Compagnie (VOC), or Dutch East India Company, is often considered the be the world's first multinational corporation. It was also the first company to issue shares, and facilitate the trading of those shares. It was granted a 21 year monopoly to carry out trade activities in Asia, primarily the Spice Islands - the Dutch East Indies. They established a major trading port at Batavia - now Jakarta, on the island of Java (now part of Indonesia). As a result of their monopoly, the VOC became an incredibly valuable company, issuing an 18% annual dividend for almost 200 years.
VOC was... the world's first Enterprise using Java. (rimshot!)
VOC is also a backronym for "Vestigial Output Compiler". Or "Vexing Obtuse Compiler". Or "Valuable Obscure Compiler". Or "Varigated Ocelot Calibrator". It's your choice.
VOC is part of the BeeWare suite. You can talk to the community through:
- @pybeeware on Twitter
- The BeeWare Users Mailing list, for questions about how to use the BeeWare suite.
- The BeeWare Developers Mailing list, for discussing the development of new features in the BeeWare suite, and ideas for new tools for the suite.
If you experience problems with VOC, log them on GitHub. If you want to contribute code, please fork the code and submit a pull request.