### Special Note About Pyjamas Development

Pyjamas is Free Software, and is made up of its contributions from users, for its users. As a Free Software Project, its existence and continued development depends exclusively on financial and technical contributions.

If you use Pyjamas for a non-commercial project, consider contributing patches, examples, or documentation updates. If you use it for a commercial project, consider contracting the Lead Developers to assist your development. This helps ensure the Pyjamas codebase remains stable and consistent with your project's development. If you just like Pyjamas and wish to see it move forward, consider sponsoring or making a donation to help support the continuing efforts toward the Pyjamas Roadmap.

## Pyjamas Roadmap

As Pyjamas comprises several projects, each has its own future and direction.

### Pyjamas Compiler

- Add support for exec and eval (like Skulpt).
- Improve the python interoperability support for --strict, with the goal of providing full and complete python interoperability for this mode.
- Provide a complete suite of interoperable python modules.
- Be able to run and pass the standard http://python.org test suite, under pyv8run and pysmrun (all 25,000 regression tests).
- Add decorators to all functions which allow the declaration of the types of parameters and the return result, and enhance the compiler so that it optimises the generated code. One of the flaws of the python programming language is that every operation (+, -, len etc.) requires double-checking the type of the object, and http://python.org always check whether the two types are integers, then moves into complex detection and type coercion second. Converting this logic to javascript has proved to be very expensive for --strict. Emacs and PyQT4 solve this by allowing the type of parameters and the return result to be declared in advance.
- Complete the enhancements work listed in the TODO file.

### Pyjamas Widget Set

- Continue to track GWT Widgets
- Seek out cool and useful projects to convert to Pyjamas, such as gwt-g3d (WebGL 3D API using new HTML5 features)
- Make automated conversion of GWT-compliant code into Pyjamas code much easier.

### Pyjamas Desktop

- Add more runtimes, especially for MacOSX and embedded systems.
- Provide easy-to-install dependencies for all platforms across all computing architectures (webkitgtk is not easy to install on Win32 or MacOSX, neither is pywebkitgtk).
- Change the startup API so that it uses the HTML loader file to detect the module (just like pyjs)
- Provide the means to open several web engine windows (support for Window.open) and still have them load and run pyjamas applications.