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

PPTX
Opensourceman ( url for slides with animations https://goo.gl/R638tW )
PDF
Enterprise python
PPTX
From NodeJS to Rust
PDF
PDF
Distributed locks in Ruby - Correctness vs Efficiency - Knapsack Pro case stu...
PDF
Salt and pepper — native code in the browser Browser using Google native Client
PDF
Working with npm packages
PDF
PHP QA Tools
Opensourceman ( url for slides with animations https://goo.gl/R638tW )
Enterprise python
From NodeJS to Rust
Distributed locks in Ruby - Correctness vs Efficiency - Knapsack Pro case stu...
Salt and pepper — native code in the browser Browser using Google native Client
Working with npm packages
PHP QA Tools

What's hot (20)

PDF
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...
PDF
Docker & PHP - Practical use case
PDF
Ruxmon.2015-08.-.proxenet
PDF
Making CLIs with Node.js
PDF
Atmosphere packages and the chuck norris effect
PDF
Http2 on go1.6rc2
PDF
Extensible web #html5j
PDF
Introduction to Node.js
PPTX
Halton Software Peer 2 Peer Meetup #10
PDF
Swift for back end: A new generation of full stack languages?
PDF
wxFormBuilder - Tutorial on “A GUI for making GUIs” for Python
PDF
Extensible web
PDF
Writing a Python C extension
PDF
A Close Look at ARM Code Size
PPTX
Pipenv - The Python Companion You Wish You Always Had
PDF
Introduction to IoT.JS
PDF
Development and deployment with composer and kite
PDF
Kotlin Coroutines and Android sitting in a tree - 2018 version
PDF
The BlackBox Project: Safely store secrets in Git/Mercurial (originally for P...
PDF
ORTC SVC SimulCast
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...
Docker & PHP - Practical use case
Ruxmon.2015-08.-.proxenet
Making CLIs with Node.js
Atmosphere packages and the chuck norris effect
Http2 on go1.6rc2
Extensible web #html5j
Introduction to Node.js
Halton Software Peer 2 Peer Meetup #10
Swift for back end: A new generation of full stack languages?
wxFormBuilder - Tutorial on “A GUI for making GUIs” for Python
Extensible web
Writing a Python C extension
A Close Look at ARM Code Size
Pipenv - The Python Companion You Wish You Always Had
Introduction to IoT.JS
Development and deployment with composer and kite
Kotlin Coroutines and Android sitting in a tree - 2018 version
The BlackBox Project: Safely store secrets in Git/Mercurial (originally for P...
ORTC SVC SimulCast
Ad

Similar to How we do python (20)

PDF
Ari xivo astricon_2016
PPTX
Rusty Python
ODP
Beginning python programming
ODP
Buildout: creating and deploying repeatable applications in python
PPTX
Python Django Basics
PDF
Why learn python in 2017?
PPTX
PPTX
Introduction to Python Programming in Civil Engineering
PDF
Programming with Python - Basic
PDF
PyPy London Demo Evening 2013
PDF
Open Source Monitoring in 2019
ODP
Python dev tool introduction
PDF
Mob modcon 2015-android rom cooking tutorial
PDF
NetflixOSS meetup lightning talks and roadmap
PDF
TYPO3 v8 LTS in the cloud
PDF
Lessons Learned: Using Concourse In Production
PDF
Python. Why to learn?
PDF
Hello, Python
ODP
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...
PDF
IoT Prototyping using BBB and Debian
Ari xivo astricon_2016
Rusty Python
Beginning python programming
Buildout: creating and deploying repeatable applications in python
Python Django Basics
Why learn python in 2017?
Introduction to Python Programming in Civil Engineering
Programming with Python - Basic
PyPy London Demo Evening 2013
Open Source Monitoring in 2019
Python dev tool introduction
Mob modcon 2015-android rom cooking tutorial
NetflixOSS meetup lightning talks and roadmap
TYPO3 v8 LTS in the cloud
Lessons Learned: Using Concourse In Production
Python. Why to learn?
Hello, Python
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...
IoT Prototyping using BBB and Debian
Ad

Recently uploaded (20)

PPTX
MYSQL Presentation for SQL database connectivity
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
Big Data Technologies - Introduction.pptx
PDF
cuic standard and advanced reporting.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Approach and Philosophy of On baking technology
PDF
Electronic commerce courselecture one. Pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Machine learning based COVID-19 study performance prediction
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Empathic Computing: Creating Shared Understanding
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
MYSQL Presentation for SQL database connectivity
NewMind AI Monthly Chronicles - July 2025
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Big Data Technologies - Introduction.pptx
cuic standard and advanced reporting.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Unlocking AI with Model Context Protocol (MCP)
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Approach and Philosophy of On baking technology
Electronic commerce courselecture one. Pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Machine learning based COVID-19 study performance prediction
Spectral efficient network and resource selection model in 5G networks
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Empathic Computing: Creating Shared Understanding
Network Security Unit 5.pdf for BCA BBA.
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Mobile App Security Testing_ A Comprehensive Guide.pdf

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