This project is classified as in the attic. It is no longer actively maintained

VOC serves two major functions:

  • Compiles Python 3.4+ source files into Java class files, enabling you to run Python code on a JVM (including Android's VM).
  • Provides an API to let you programmatically create Java class files.

It isn't a fully compliant Python 3.4 implementation just yet - there are some language features (like nonlocal and some builtin functions) 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.

If you'd like to contribute to VOC development, we have a guide for first time contributors.

How to help

VOC has been archived.

So, why is it called "VOC"?

VOC is a backronym for "Vestigial Output Compiler". Or "Vexing Obtuse Compiler". Or "Valuable Obscure Compiler". Or "Varigated Ocelot Calibrator". It's your choice.

Historically, VOC was the Vereenigde Oostindische Compagnie (VOC), or Dutch East India Company, 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).

While VOC was a very profitable business for it's shareholders, it operated as a colonial power. Modern historians have expressed criticism of their business practices, which included exploitation of indigenous populations (including use of slave labour), slave trade, use of violence, and environmental destruction (including deforestation).

VOC also played a role in the European discovery of Australia, and there are many VOC shipwrecks on the coast of Western Australia.

The name VOC was chosen by the project because the project founder is from Western Australia, and VOC has a strong non-colonial presence in that state's history. It was also a convenient pun, as VOC was an enterprise Java company.

It should not be considered an endorsement or glorification of the exploitative business practices of the company.

Source Code


Project Type:
Early Development
Java, Python
Platform independent