Skip to content
Russell Keith-Magee edited this page Jan 28, 2017 · 8 revisions

So you're looking for inspiration for your Google Summer of Code project application? Here's a collection of ideas to get you started. You don't have to take something from this list; If you've got an interesting idea of your own, feel free to propose it. This is a list of pre-approved ideas.

If you want to propose something of your own, keep in mind that we're looking for contributions to improve BeeWare libraries, not projects that use BeeWare libraries. Proposals to "build an app that does X using Toga" will not be accepted.

If you want any more details about any of the projects on this list, jump onto our Gitter channel and ask!

VOC

VOC is the transpiler that converts Python code into Java classifies. It is used to deploy Toga apps on Android.

  • Issue #38 Implement the methods on one or more builtin types (e.g., the methods you can invoke on a dict instance, like keys() and values()
  • Implement a language construct that isn't currently supported, such as context managers or lambdas (e.g., Issue #171 and Issue #347)
  • Issue #348 Integrate the Ouroboros standard library into the build.
  • Issue #74 Implement a part of the Python standard library that requires a native implementation (e.g., httplib)
  • Issue #301 Implement support for asynchronous operations, including yield from and async.
  • Issue #14 Advanced Add support for StackMapFrames in Java class files.
  • Issue #75 Advanced Optimize Java bytecode generated by VOC.

Batavia

Batavia is a CPython bytecode interpreter written in Javascript. It is used to deploy Toga applications into browsers.

  • Issue #46 Implement the methods on one or more builtin types (e.g., the methods you can invoke on a dict instance, like keys() and values()
  • Implement a language construct that isn't currently supported, such as context managers or lambdas
  • Issue #13 Integrate the Ouroboros standard library into the build.
  • Issue #71 Add support for Python 3.6 wordcode format.
  • Issue #410 Implement a part of the Python standard library that requires a native implementation (e.g., httplib)
  • Implement support for asynchronous operations, including yield from and async.
  • Issue #414 Advanced Implement a converter from Python bytecode to ASM.js.
  • Issue #415 Advanced Reimplement the bytecode engine using ASM.js

Ouroboros

  • Provide a pure python implementation of one or more modules from the standard library that are implemented in C.
  • Improve the packaging of Ouroboros
  • Create a Python compliance test suite. This could be achieved by porting CPython's test suite into a format that other Python implementations can execute.

Toga

  • Develop one or more widgets for a supported platform

Colosseum

  • Improve CSS standard compliance for the rendering engine.
Clone this wiki locally