SlideShare a Scribd company logo
Django on Jython Leo Soto
Not exactly “ Summer  of Code”  but... ...worked incredibly well! And that's why I'm here :)
Why Django  on Jython ? Integration Deployment Performance
Jython
Jython Implementation of Python Compiles to Java bytecode No  foo.pyc It's  foo$py.class
Jython Makes Java look like Python And Python like Java to Java programs No GIL, no ref counting
>>> from __future__ import GIL Traceback (most recent call last): ... SyntaxError: Never going to happen! (<stdin>, line 1)
State of Jython 2.5 99.4% of ~5700 test cases passing  ~20% faster on PyStone [FWIW]  2.5 alpha 2 last weekend for DjangoCon September/October beta  December/January final
Java - What We Like Great systems programming language Well-defined memory, concurrency model Standard libraries - concurrent collections
Java Ecosystem Excel, thru Apache POI support of OLE Full text search with Lucene Scalability with Hadoop, Hbase Scala, JRuby, Rhino...
Biggest Benefit Just use what is good out there in the Java ecosystem
Now...
Why in the name of... J2EE was a big, horrible mistake But lessons have been learned And it’s possible to use that infrastructure
“We write Java so you don’t  have  to.”
Combination In Python code: Django app framework Models, templates, forms Business logic - as complex as necessary In Java code (optional) Performant infrastructure
Deployment Options Java App Servers!
modjy Servlets <=> WSGI
WAR! Web ARchive format Standard deployment of Java webapps Just a zip file with a standard directory layout
A Django WAR: jython manage.py war --include-java-libs=XXX.jar
WAR format for DoJ |-- WEB-INF |  |-- lib  ← JDBC driver |  `-- lib-python  |  |-- Lib  ← Python Std. library |  |-- django  |  |-- doj  |  |-- modjy-django |  `-- mysite  ← Your code! `-- media  ← (and media files)
What’s missing PIL! so no Photolog Oracle, MySQL, SQLServer backends But that’s easy zxJDBC: JDBC <=> DB-API
Django Backend Dev Features Operations Client Creation and Introspection Validation Wrapper
 
Demo
Thanks!

More Related Content

PDF
Use groovy & grails in your spring boot projects
PDF
GR8Conf 2015 - Spring Boot and Groovy. What more do you need?
PPTX
Geb+spock: let your functional tests live long and prosper
PPS
Groovy & Grails
PDF
GradleのREPLプラグイン紹介 #jggug
PDF
"How to Use Bazel to Manage Monorepos: The Grammarly Front-End Team’s Experie...
PDF
TypeScriptについて
PDF
Daniel Steigerwald - Este.js - konec velkého Schizma
Use groovy & grails in your spring boot projects
GR8Conf 2015 - Spring Boot and Groovy. What more do you need?
Geb+spock: let your functional tests live long and prosper
Groovy & Grails
GradleのREPLプラグイン紹介 #jggug
"How to Use Bazel to Manage Monorepos: The Grammarly Front-End Team’s Experie...
TypeScriptについて
Daniel Steigerwald - Este.js - konec velkého Schizma

What's hot (20)

PDF
JHipster Conf 2018 : Connect your JHipster apps to the world of APIs with Ope...
PDF
Hot and spicy Java with Lombok. Live!
PDF
Towards component based web UI with ReactJS
PPTX
Building Reliable Applications Using React, .NET & Azure
PPTX
Streamlining .net core development using Docker
PPT
Parkjihoon phonegap research_for_bada
PDF
welcome to gopherlabs - why go (golang)?
PDF
Повний тестздець SPA + REST
PDF
Docker jako prostředí pro automatizaci testů
PDF
JavaCro'14 - Profile any environment with Java Flight Recorder – Johan Janssen
PPTX
React Django Presentation
PDF
Use Ruby to Write (and Test) Your Next Android App
PDF
PHP Mega Meetup, Sep, 2020, Anti patterns in php
PDF
OpenAPIを利用したPythonWebアプリケーション開発
PPT
Headless BDD & Responsive Test Automation
PPTX
MeteorJS - How to start
PDF
Pythonistaで始めるiOSプロトタイプ開発
PDF
gRPC 프레임워크를 만들며 알아보는 파이썬 - 파이콘2020
PDF
PDF
Automate Yo' Self
JHipster Conf 2018 : Connect your JHipster apps to the world of APIs with Ope...
Hot and spicy Java with Lombok. Live!
Towards component based web UI with ReactJS
Building Reliable Applications Using React, .NET & Azure
Streamlining .net core development using Docker
Parkjihoon phonegap research_for_bada
welcome to gopherlabs - why go (golang)?
Повний тестздець SPA + REST
Docker jako prostředí pro automatizaci testů
JavaCro'14 - Profile any environment with Java Flight Recorder – Johan Janssen
React Django Presentation
Use Ruby to Write (and Test) Your Next Android App
PHP Mega Meetup, Sep, 2020, Anti patterns in php
OpenAPIを利用したPythonWebアプリケーション開発
Headless BDD & Responsive Test Automation
MeteorJS - How to start
Pythonistaで始めるiOSプロトタイプ開発
gRPC 프레임워크를 만들며 알아보는 파이썬 - 파이콘2020
Automate Yo' Self
Ad

Viewers also liked (6)

PPT
Energy Sources
ODP
Django on Jython Summer of Code Results
PPT
Chapter7 onlinelearning
DOC
Hécate, Christian Cano
PPT
Presentation It
PPS
Airefuegovientoytierra
Energy Sources
Django on Jython Summer of Code Results
Chapter7 onlinelearning
Hécate, Christian Cano
Presentation It
Airefuegovientoytierra
Ad

Similar to Django On Jython (for Portland and Boulder Python user groups presentations) (20)

ODP
Django on Jython, PyCon 2009
PDF
Jython on Django
PDF
Jython 2.7 and techniques for integrating with Java - Frank Wierzbicki
PDF
Python Django Intro V0.1
PDF
Why Django
PDF
Jython in workflow and rules engines
PPT
Communication between Java and Python
KEY
Python x Django
PDF
Jython: Integrating Python and Java
PPT
Django, What is it, Why is it cool?
PPTX
Python Django Basics
PPT
What do you mean it needs to be Java based? How jython saved the day.
KEY
PHP to Python with No Regrets
PPT
Python @ PiTech - March 2009
PDF
Django Tutorial_ Let’s take a deep dive into Django’s web framework.pdf
PDF
Programming Gives You Superpowers
ODP
Introduce Django
PDF
Python, Django. Why to learn?
PPT
Python Introduction
PDF
Clojure at DataStax: The Long Road From Python to Clojure
Django on Jython, PyCon 2009
Jython on Django
Jython 2.7 and techniques for integrating with Java - Frank Wierzbicki
Python Django Intro V0.1
Why Django
Jython in workflow and rules engines
Communication between Java and Python
Python x Django
Jython: Integrating Python and Java
Django, What is it, Why is it cool?
Python Django Basics
What do you mean it needs to be Java based? How jython saved the day.
PHP to Python with No Regrets
Python @ PiTech - March 2009
Django Tutorial_ Let’s take a deep dive into Django’s web framework.pdf
Programming Gives You Superpowers
Introduce Django
Python, Django. Why to learn?
Python Introduction
Clojure at DataStax: The Long Road From Python to Clojure

More from Leonardo Soto (20)

PDF
El arte oscuro de estimar v3
PDF
Caching tips
PDF
Una historia de ds ls en ruby
KEY
El Lado Cool de Java
KEY
Dos Años de Rails
KEY
Dos años de Rails
KEY
Mi Arsenal de Testing en Rails
KEY
Mapas en la web con Cloudmade
KEY
Startechconf
KEY
RabbitMQ
KEY
Decent exposure: Controladores sin @ivars
PDF
The Hashrocket Way
PDF
Sounds.gd lighting talk (RubyConf Uruguay)
PDF
Un tour por Java, Scala, Python, Ruby y Javascript
KEY
Lo que odiamos de la agilidad
KEY
Javascript funcional
KEY
App Engine
KEY
Introducción a Git
KEY
Tres Gemas De Ruby
El arte oscuro de estimar v3
Caching tips
Una historia de ds ls en ruby
El Lado Cool de Java
Dos Años de Rails
Dos años de Rails
Mi Arsenal de Testing en Rails
Mapas en la web con Cloudmade
Startechconf
RabbitMQ
Decent exposure: Controladores sin @ivars
The Hashrocket Way
Sounds.gd lighting talk (RubyConf Uruguay)
Un tour por Java, Scala, Python, Ruby y Javascript
Lo que odiamos de la agilidad
Javascript funcional
App Engine
Introducción a Git
Tres Gemas De Ruby

Recently uploaded (20)

PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Transforming Manufacturing operations through Intelligent Integrations
PDF
How Onsite IT Support Drives Business Efficiency, Security, and Growth.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
AI And Its Effect On The Evolving IT Sector In Australia - Elevate
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Modernizing your data center with Dell and AMD
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
PDF
Chapter 2 Digital Image Fundamentals.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
KodekX | Application Modernization Development
PPTX
Cloud computing and distributed systems.
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
PPTX
Big Data Technologies - Introduction.pptx
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
CIFDAQ's Market Wrap: Ethereum Leads, Bitcoin Lags, Institutions Shift
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Transforming Manufacturing operations through Intelligent Integrations
How Onsite IT Support Drives Business Efficiency, Security, and Growth.pdf
Review of recent advances in non-invasive hemoglobin estimation
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
AI And Its Effect On The Evolving IT Sector In Australia - Elevate
NewMind AI Weekly Chronicles - August'25 Week I
Modernizing your data center with Dell and AMD
Dropbox Q2 2025 Financial Results & Investor Presentation
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
Chapter 2 Digital Image Fundamentals.pdf
NewMind AI Monthly Chronicles - July 2025
KodekX | Application Modernization Development
Cloud computing and distributed systems.
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
Big Data Technologies - Introduction.pptx
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
CIFDAQ's Market Wrap: Ethereum Leads, Bitcoin Lags, Institutions Shift
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf

Django On Jython (for Portland and Boulder Python user groups presentations)

  • 1. Django on Jython Leo Soto
  • 2. Not exactly “ Summer of Code” but... ...worked incredibly well! And that's why I'm here :)
  • 3. Why Django on Jython ? Integration Deployment Performance
  • 5. Jython Implementation of Python Compiles to Java bytecode No foo.pyc It's foo$py.class
  • 6. Jython Makes Java look like Python And Python like Java to Java programs No GIL, no ref counting
  • 7. >>> from __future__ import GIL Traceback (most recent call last): ... SyntaxError: Never going to happen! (<stdin>, line 1)
  • 8. State of Jython 2.5 99.4% of ~5700 test cases passing ~20% faster on PyStone [FWIW] 2.5 alpha 2 last weekend for DjangoCon September/October beta December/January final
  • 9. Java - What We Like Great systems programming language Well-defined memory, concurrency model Standard libraries - concurrent collections
  • 10. Java Ecosystem Excel, thru Apache POI support of OLE Full text search with Lucene Scalability with Hadoop, Hbase Scala, JRuby, Rhino...
  • 11. Biggest Benefit Just use what is good out there in the Java ecosystem
  • 13. Why in the name of... J2EE was a big, horrible mistake But lessons have been learned And it’s possible to use that infrastructure
  • 14. “We write Java so you don’t have to.”
  • 15. Combination In Python code: Django app framework Models, templates, forms Business logic - as complex as necessary In Java code (optional) Performant infrastructure
  • 16. Deployment Options Java App Servers!
  • 18. WAR! Web ARchive format Standard deployment of Java webapps Just a zip file with a standard directory layout
  • 19. A Django WAR: jython manage.py war --include-java-libs=XXX.jar
  • 20. WAR format for DoJ |-- WEB-INF | |-- lib ← JDBC driver | `-- lib-python | |-- Lib ← Python Std. library | |-- django | |-- doj | |-- modjy-django | `-- mysite ← Your code! `-- media ← (and media files)
  • 21. What’s missing PIL! so no Photolog Oracle, MySQL, SQLServer backends But that’s easy zxJDBC: JDBC <=> DB-API
  • 22. Django Backend Dev Features Operations Client Creation and Introspection Validation Wrapper
  • 23.  
  • 24. Demo