Internals¶
Deep technical documentation about how Jython works under the hood. This section is for people who want to understand the compiler, the type system, method dispatch, performance characteristics, and the design decisions behind them. It also includes the Jython Enhancement Proposal (JEP) process and forward-looking design work for Jython 3.x.
Enhancement Proposals¶
JepIndex – Index of all Jython Enhancement Proposals (JEPs)
JepGuidelines – How to write and submit a JEP
NewProposal – Template and process for creating a new proposal
Compiler & Bytecode¶
JythonCompiler – How Jython compiles Python source to Java bytecodes
CodeSpeedupExperiments – Experiments in speeding up generated code, including PyByteCode work
CodeSpeedupExperiments (notes) – Additional notes on code speedup experiments
Type System & Object Model¶
NewStyleClasses – Implementation of new-style classes in Jython
ImplementNewType – How to implement a new Python type in Java
ImplementSequenceType – Implementing sequence protocol types
GeneratedDerivedClasses – How Jython generates derived classes at runtime
PythonTypesInJava – Representing Python types on the Java side
ExposeAnnotations – Using annotations to expose Java methods to Python
Method Dispatch & Conversions¶
MethodDispatch – How Jython resolves and dispatches method calls between Python and Java
IntegerConversion – Integer type conversion between Python and Java
Collections & Buffers¶
CollectionsIntegration – Integrating Python collections with Java’s Collections framework, including PySequence
CollectionsIntegration (notes) – Additional notes on collections integration
BufferProtocol – Implementation of the buffer protocol
Standard Library Internals¶
DateTimeModule – Notes on the datetime module implementation
SysPackageManager – How Jython discovers and manages Java packages
PackageScanning – The package scanning mechanism for finding Java classes
ThreadLocalVariables – Thread-local variable handling in Jython
Performance¶
PerformanceEnhancements – Performance improvement efforts and techniques
PyFileBenchmarks – Benchmarks for file I/O operations
ComparisonJavaJython – Performance and feature comparisons between Java and Jython
Future & Migration¶
Jython3000 – Ideas and plans for backwards-incompatible changes in Jython 3.x
BiggerTasks – Larger work items tracked for Jython 2.3 and beyond
ReplaceJythonc – Plans to replace the legacy jythonc compiler