Jython Developer’s Guide

Note

These instructions are a modified version of the CPython devguide

This guide is a comprehensive resource for contributing to Jython – for both new and experienced contributors. It is maintained by the same community that maintains Jython. We welcome your contributions to Jython!

Quick Start

Here are the basic steps needed to get set up and contribute a patch:

  1. Get the source code:

    hg clone http://hg.python.org/jython
    
  2. Build Jython:

    ant
    
  3. Run the tests:

    ant regrtest
    
  4. Make the patch.

  5. Submit it to the issue tracker.

Contributing

We encourage everyone to contribute to Jython and that’s why we have put up this developer’s guide. If you still have questions after reviewing the material in this guide, then the Python Mentors group is available to help guide new contributors through the process. The Developer FAQ is another useful source of information.

Guide for contributing to Jython:

It is recommended that the above documents be read in the order listed. You can stop where you feel comfortable and begin contributing immediately without reading and understanding these documents all at once. If you do choose to skip around within the documentation, be aware that it is written assuming preceding documentation has been read so you may find it necessary to backtrack to fill in missing concepts and terminology.

Other Interpreter Implementations

This guide is specifically for contributing to Jython: A Python interpreter focused on good integration with the Java Virtual Machine (JVM) environment.

There are other Python implementations, each with a different focus. Like CPython, they always have more things they would like to do than they have developers to work on them. Some major example that may be of interest are:

  • CPython: The Python reference interpreter, also called simply “Python”
  • PyPy: A Python interpreter focused on high speed (JIT-compiled) operation on major platforms
  • IronPython: A Python interpreter focused on good integration with the Common Language Runtime (CLR) provided by .NET and Mono
  • Stackless: A Python interpreter focused on providing lightweight microthreads while remaining largely compatible with CPython specific extension modules

Key Resources

Additional Resources

Full Table of Contents