SlideShare a Scribd company logo
How We Do
Python
Python, a way
© BestofMedia Grenoble, Science Team
● Python Runtime
● Development environment
○ bom_utils
○ Zero-Application-Server
○ AWS
● Packaging
● CI
● Deployment
How does the science team speak
python?
© BestofMedia Grenoble, Science Team
● VirtualEnv vs GlobalEnv
● GlobalEnv
○ tainted on every install
○ high risk of base installation instability (python is
highly used as system scripting)
● VirtualEnv & PYTHONPATH
○ Sandboxed: don't break the box
○ Can be legion
Python Runtime
© BestofMedia Grenoble, Science Team
● Ubuntu/Debian box with python2.6
● Targeted sci-env
● Eclipse with pydev
Et voilà!
Development environment
© BestofMedia Grenoble, Science Team
● timothy (easy hadoop using dumbo - to be
open-sourced)
● common libs
○ bss (our proprietary documents warehouse)
○ ldap
○ mail
○ ...
bom_utils
© BestofMedia Grenoble, Science Team
● Boto (aws python lib) encapsulated into
bom_utils
○ And now for some names dropping:
■ SNS, SQS, S3, EC2, EMR, CloudWatch
AWS
© BestofMedia Grenoble, Science Team
● One Application to serve them all
● Automatic logging configuration
● On AWS:
○ Automatic Monitoring & alerting
● to be open-sourced
Zero-Application-Server
© BestofMedia Grenoble, Science Team
● Once, there was Maven
○ easy to put to Jenkins/Hudson
○ BOM was all Maven world
○ but:
■ Verbose
■ not really suited for python
■ Heavy & sloooooooow
● Then, bdist-deb came to the rescue
○ pythonic
○ light
○ just a line of freestyle Jenkins job
○ to be open-sourced
Packaging
© BestofMedia Grenoble, Science Team
● One commit job, one release job
● unittest, pylint, coverage
CI
© BestofMedia Grenoble, Science Team
● One project:
○ one egg
○ one deb (can contain other eggs, like projects
shipping their version of internal libs)
● Deb deployed using old internal conf
server
○ migration to our new in house system in the pipe
Deployment
© BestofMedia Grenoble, Science Team
Any more questions?
© BestofMedia Grenoble, Science Team

More Related Content

What's hot (20)

PDF
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...
niallo
 
PDF
Docker & PHP - Practical use case
rjsmelo
 
PDF
Ruxmon.2015-08.-.proxenet
Christophe Alladoum
 
PDF
Making CLIs with Node.js
Joseph Lust
 
PDF
Atmosphere packages and the chuck norris effect
Fabian Kromer
 
PDF
Http2 on go1.6rc2
Jxck Jxck
 
PDF
Extensible web #html5j
Jxck Jxck
 
PDF
Introduction to Node.js
Setyo Nugroho
 
PPTX
Halton Software Peer 2 Peer Meetup #10
David Ashton
 
PDF
Swift for back end: A new generation of full stack languages?
Koombea
 
PDF
wxFormBuilder - Tutorial on “A GUI for making GUIs” for Python
Umar Yusuf
 
PDF
Extensible web
Jxck Jxck
 
PDF
Writing a Python C extension
Sqreen
 
PDF
A Close Look at ARM Code Size
Samsung Open Source Group
 
PPTX
Pipenv - The Python Companion You Wish You Always Had
Avi Aminov
 
PDF
Introduction to IoT.JS
Samsung Open Source Group
 
PDF
Development and deployment with composer and kite
Christian Opitz
 
PDF
Kotlin Coroutines and Android sitting in a tree - 2018 version
Kai Koenig
 
PDF
The BlackBox Project: Safely store secrets in Git/Mercurial (originally for P...
Tom Limoncelli
 
PDF
ORTC SVC SimulCast
Jxck Jxck
 
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...
niallo
 
Docker & PHP - Practical use case
rjsmelo
 
Ruxmon.2015-08.-.proxenet
Christophe Alladoum
 
Making CLIs with Node.js
Joseph Lust
 
Atmosphere packages and the chuck norris effect
Fabian Kromer
 
Http2 on go1.6rc2
Jxck Jxck
 
Extensible web #html5j
Jxck Jxck
 
Introduction to Node.js
Setyo Nugroho
 
Halton Software Peer 2 Peer Meetup #10
David Ashton
 
Swift for back end: A new generation of full stack languages?
Koombea
 
wxFormBuilder - Tutorial on “A GUI for making GUIs” for Python
Umar Yusuf
 
Extensible web
Jxck Jxck
 
Writing a Python C extension
Sqreen
 
A Close Look at ARM Code Size
Samsung Open Source Group
 
Pipenv - The Python Companion You Wish You Always Had
Avi Aminov
 
Introduction to IoT.JS
Samsung Open Source Group
 
Development and deployment with composer and kite
Christian Opitz
 
Kotlin Coroutines and Android sitting in a tree - 2018 version
Kai Koenig
 
The BlackBox Project: Safely store secrets in Git/Mercurial (originally for P...
Tom Limoncelli
 
ORTC SVC SimulCast
Jxck Jxck
 

Similar to How we do python (20)

PDF
Python Versions and Dependencies Made Easy
Sebastian Witowski
 
PPTX
What is Python? An overview of Python for science.
Nicholas Pringle
 
PDF
Effectively using Open Source with conda
Travis Oliphant
 
PDF
Python intro for Plone users
Carlos de la Guardia
 
PDF
Plone is great... Python is too!
Jazkarta, Inc.
 
PDF
Django district pip, virtualenv, virtualenv wrapper & more
Jacqueline Kazil
 
PPTX
Introduction to Python Programming in Civil Engineering
Rushikesh Kolhe
 
PPTX
Python in the Atmospheric sciences
Scott Collis
 
PDF
Python for DevOps Learn Ruthlessly Effective Automation 1st Edition Noah Gift
shanitlicai
 
PDF
PyBCN - pipenv - python dev workflow for humans
Andreu Vallbona Plazas
 
PDF
Py Day Mallorca - Pipenv - Python Dev Workflow for Humans
Andreu Vallbona Plazas
 
PDF
stackconf 2025 | Snakes are my new favourite by Felix Frank.pdf
NETWAYS
 
PDF
PyParis2018 - Python tooling for continuous deployment
Arthur Lutz
 
PDF
Build and deploy scientific Python Applications
Ramakrishna Reddy
 
PDF
session5-Getting stated with Python.pdf
AyushDutta32
 
PPTX
Run Python on windows
Sitthykun LY
 
PPTX
First of all, what is Python? According t
bhatamith15
 
PPTX
Python on pi
swee meng ng
 
Python Versions and Dependencies Made Easy
Sebastian Witowski
 
What is Python? An overview of Python for science.
Nicholas Pringle
 
Effectively using Open Source with conda
Travis Oliphant
 
Python intro for Plone users
Carlos de la Guardia
 
Plone is great... Python is too!
Jazkarta, Inc.
 
Django district pip, virtualenv, virtualenv wrapper & more
Jacqueline Kazil
 
Introduction to Python Programming in Civil Engineering
Rushikesh Kolhe
 
Python in the Atmospheric sciences
Scott Collis
 
Python for DevOps Learn Ruthlessly Effective Automation 1st Edition Noah Gift
shanitlicai
 
PyBCN - pipenv - python dev workflow for humans
Andreu Vallbona Plazas
 
Py Day Mallorca - Pipenv - Python Dev Workflow for Humans
Andreu Vallbona Plazas
 
stackconf 2025 | Snakes are my new favourite by Felix Frank.pdf
NETWAYS
 
PyParis2018 - Python tooling for continuous deployment
Arthur Lutz
 
Build and deploy scientific Python Applications
Ramakrishna Reddy
 
session5-Getting stated with Python.pdf
AyushDutta32
 
Run Python on windows
Sitthykun LY
 
First of all, what is Python? According t
bhatamith15
 
Python on pi
swee meng ng
 
Ad

Recently uploaded (20)

PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Ad

How we do python

  • 1. How We Do Python Python, a way © BestofMedia Grenoble, Science Team
  • 2. ● Python Runtime ● Development environment ○ bom_utils ○ Zero-Application-Server ○ AWS ● Packaging ● CI ● Deployment How does the science team speak python? © BestofMedia Grenoble, Science Team
  • 3. ● VirtualEnv vs GlobalEnv ● GlobalEnv ○ tainted on every install ○ high risk of base installation instability (python is highly used as system scripting) ● VirtualEnv & PYTHONPATH ○ Sandboxed: don't break the box ○ Can be legion Python Runtime © BestofMedia Grenoble, Science Team
  • 4. ● Ubuntu/Debian box with python2.6 ● Targeted sci-env ● Eclipse with pydev Et voilà! Development environment © BestofMedia Grenoble, Science Team
  • 5. ● timothy (easy hadoop using dumbo - to be open-sourced) ● common libs ○ bss (our proprietary documents warehouse) ○ ldap ○ mail ○ ... bom_utils © BestofMedia Grenoble, Science Team
  • 6. ● Boto (aws python lib) encapsulated into bom_utils ○ And now for some names dropping: ■ SNS, SQS, S3, EC2, EMR, CloudWatch AWS © BestofMedia Grenoble, Science Team
  • 7. ● One Application to serve them all ● Automatic logging configuration ● On AWS: ○ Automatic Monitoring & alerting ● to be open-sourced Zero-Application-Server © BestofMedia Grenoble, Science Team
  • 8. ● Once, there was Maven ○ easy to put to Jenkins/Hudson ○ BOM was all Maven world ○ but: ■ Verbose ■ not really suited for python ■ Heavy & sloooooooow ● Then, bdist-deb came to the rescue ○ pythonic ○ light ○ just a line of freestyle Jenkins job ○ to be open-sourced Packaging © BestofMedia Grenoble, Science Team
  • 9. ● One commit job, one release job ● unittest, pylint, coverage CI © BestofMedia Grenoble, Science Team
  • 10. ● One project: ○ one egg ○ one deb (can contain other eggs, like projects shipping their version of internal libs) ● Deb deployed using old internal conf server ○ migration to our new in house system in the pipe Deployment © BestofMedia Grenoble, Science Team
  • 11. Any more questions? © BestofMedia Grenoble, Science Team