{ "info": { "author": "Russell Keith-Magee", "author_email": "russell@keith-magee.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Topic :: Software Development", "Topic :: Utilities" ], "description": "Batavia\n=======\n\nTools to run Python bytecode in the browser.\n\nThis is experimental code. If it breaks, you get to keep all the shiny pieces.\n\nWhat it does:\n\n* Implements a Python 3.4 Bytecode machine that can handle function calls\n and basic class definitions.\n\n* Unmarshals Base64 encoded bytecode into Code objects\n\n* Implements most of the common Python VM opcodes\n\n* Allows access to the DOM using `import dom`,\n\nWhat it doesn't do:\n\n* Make a good distinction between integer and floating point math\n\n* Any attempt at unicode handling.\n\n* Raise errors (especially TypeErrors during math operations) in exactly\n the same way as Python\n\n* Support all Python's builtin functions\n\n* Support the full Python standard library\n\n* Allow for class inheritance\n\nQuickstart\n----------\n\nThe `testserver` directory contains a minimal Django project that will serve\nPython bytecode to your browser and execute it. To run this project, you'll\nneed to be running Python 3.4. Install Django 1.8 into your virtual\nenvironment; then, at a shell prompt::\n\n $ cd testserver\n $ ./manage.py runserver\n\nYou can then load http://127.0.0.1:8000 in your browser. When the page loads,\nyou will see a set of buttons corresponding to Python modules that\nhave been embedded in the page:\n\n* The PyStone performance benchmark. The Python bytecode is embedded as a\n string in the HTML file.\n\n* `sample.py`, a simple Python example demonstrating basic VM features.\n The PYC content that is dynamically generated on the server and served\n to the client. This file imports a second file, `other.py`, to\n demonstrate how imports work.\n\nClick one of the buttons, and the code will run; stdout/stderr has been\nredirected to the webpage, so if the script has any output, you'll see it.\n\nTo start tinkering, make changes to `testserver/sample.py`, reload the page,\nand click the button.\n\nDocumentation\n-------------\n\nDocumentation for Batavia can be found on `Read The Docs`_.\n\nWhy \"Batavia?\"\n--------------\n\nOn 27 October, 1628, *Commandeur* Francisco Pelsaert took command of the\n*Batavia*, and with 340 passengers and crew, set sail from Texel. Their\ndestination? The Spice Islands - or more specifically, island of Java in the\nDutch East Indies (now part of Indonesia).\n\nThe Batavia was... a Java ship (rimshot!).\n\nInterestingly, during the voyage, Ariaen Jacobsz and *onderkoopman* Jeronimus\nCornelisz incited a mutiny, because they didn't want to go to Java - they\nwanted to escape to start a new life somewhere else. As a result of the\nmutiny, on 4 June 1629, the Batavia ran aground on Morning Reef, part of the\nHoutman Abrolhos, about 450km North of Perth, Western Australia, where this\nproject was conceived.\n\nThe `full story of the Batavia`_ is known to most Western Australian\nschoolchildren, and is a harrowing tale of intrigue, savagery, and murder. It\nserves as a reminder of what can happen when you force people to go to Java\n:-)\n\nThe wreck of the Batavia was recovered in the 1970s, and now stands in the\n`shipwrecks gallery of the Western Australian Maritime Museum`_.\n\n.. _full story of the Batavia: https://en.wikipedia.org/wiki/Batavia_(ship)\n.. _shipwrecks gallery of the Western Australian Maritime Museum: http://museum.wa.gov.au/museums/shipwrecks\n\nCommunity\n---------\n\nBatavia is part of the `BeeWare suite`_. You can talk to the community through:\n\n* `@pybeeware on Twitter`_\n\n* The `BeeWare Users Mailing list`_, for questions about how to use the BeeWare suite.\n\n* The `BeeWare Developers Mailing list`_, for discussing the development of new features in the BeeWare suite, and ideas for new tools for the suite.\n\nContributing\n------------\n\nIf you experience problems with Batavia, `log them on GitHub`_. If you\nwant to contribute code, please `fork the code`_ and `submit a pull request`_.\n\n.. _BeeWare suite: http://pybee.org\n.. _Read The Docs: http://batavia.readthedocs.org\n.. _@pybeeware on Twitter: https://twitter.com/pybeeware\n.. _BeeWare Users Mailing list: https://groups.google.com/forum/#!forum/beeware-users\n.. _BeeWare Developers Mailing list: https://groups.google.com/forum/#!forum/beeware-developers\n.. _log them on Github: https://github.com/pybee/batavia/issues\n.. _fork the code: https://github.com/pybee/batavia\n.. _submit a pull request: https://github.com/pybee/batavia/pulls", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://pybee.org/batavia", "keywords": null, "license": "New BSD", "maintainer": null, "maintainer_email": null, "name": "batavia", "package_url": "https://pypi.org/project/batavia/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/batavia/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://pybee.org/batavia" }, "release_url": "https://pypi.org/project/batavia/0.0.0/", "requires_dist": null, "requires_python": null, "summary": "Tools to run Python bytecode on the Javascript VM.", "version": "0.0.0" }, "last_serial": 1679040, "releases": { "0.0.0": [] }, "urls": [] }