SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
Using the pip package manager
for Odoo
Daniel Reis | OpenDays 2014
Who am I
Daniel Reis
– Applications Manager at Securitas Portugal
– 15+ years in IT, most as a consultant
– 3 yrs working with Odoo/OpenERP
– Active participant in the Odoo Community
Why pip?
Python recommended tool to install
packages.
Good tooling support:
• – virtualenv
• – freeze, requirements.txt.
• Why not?
Issues to address
● How to build the pip packages?
– setup.py for server & addons.
– Package version numbers.
– Support for “series” (v7, v8) .
– Automate the builds for module repos.
● How to distribute packages?
– Use PyPi? Or create another index?
What do we need to consider?
i. Build module packagesi. Build module packages
ii. Distribute packagesii. Distribute packages
iii. Install and updateiii. Install and update
i. Getting packages built
Template setup.py for modules*
– Target into site-packages/openerp/addons/
– Versions: bzr revno; git/hg unix timestamp.→ →
– A build tool: pipo build command
Modified Server setup.py*
– Packaged as “openerp-base”
– Add basic web dependencies
* Based on Vo Minh Thu's work: https://github.com/noteed/openerpdist
pipo: pip for OpenERP
Module packager: build command.
Wrapper around pip (todo!):
– install and update modules.
– “glue” pip with server commands.
Source: https://github.com/dreispt/pipo
● $ pipo build ./addons-dir ./pkgs-dir
● $ pipo install openerp-sale
Pypi-line index distribution openerpapps.info
– Channels/series: openerp/8.0, ocb/7.0, …
– Server dependencies included in Index: skip PyPi.
Automated builds with pipo.py
– Only changed modules are rebuilt.
– Multiple vcs support: bzr, git, hg.
ii. Distributing the packages
Iii. Installation the pip way
● $ virtualenv --system-site-packages mydemo
● $ source mydemo/bin/activate
$ pip install --index-url 
http://openerpapps.info/simple/openerp/7.0 
openerp-sale
● Distribute “Apps”, or maybe “Repos”?
– autoinstall glue modules
– res.config module installation
● Painless pip install
– Wrap pip “boilerplate” options
– pip install/update server install/update→
● Painless server provisioning
– Script additional config tasks
● Missing CLI capabilities
– Update module list, uninstall
● Webclient GUI?
Issues still to address
Developers?
– Provide the simplest way to install Odoo
Integrators?
– Allow pip to be a part of dev and ops workflows.
End-users?
– Ease community Apps & Features discovery.
Where can we go?
Thank you !
@reis_pt | dgreis(at)sapo.pt

Contenu connexe

Tendances

Enhance your Maven plugins with Groovy
Enhance your Maven plugins with GroovyEnhance your Maven plugins with Groovy
Enhance your Maven plugins with Groovy
Harald Soevik
 

Tendances (19)

Js meetup | Yeoman generators
Js meetup | Yeoman generators Js meetup | Yeoman generators
Js meetup | Yeoman generators
 
WordPress Security : What We Learnt When We Were Hacked : WordCamp Mumbai 2017
WordPress Security : What We Learnt When We Were Hacked : WordCamp Mumbai 2017WordPress Security : What We Learnt When We Were Hacked : WordCamp Mumbai 2017
WordPress Security : What We Learnt When We Were Hacked : WordCamp Mumbai 2017
 
WordPress as a Headless CMS - Bronson Quick
WordPress as a Headless CMS - Bronson QuickWordPress as a Headless CMS - Bronson Quick
WordPress as a Headless CMS - Bronson Quick
 
Windows azure and linux
Windows azure and linuxWindows azure and linux
Windows azure and linux
 
Using Composer to create manageable WordPress websites
Using Composer to create manageable WordPress websitesUsing Composer to create manageable WordPress websites
Using Composer to create manageable WordPress websites
 
Modern Web Application Development Workflow - EclipseCon France 2014
Modern Web Application Development Workflow - EclipseCon France 2014Modern Web Application Development Workflow - EclipseCon France 2014
Modern Web Application Development Workflow - EclipseCon France 2014
 
Modern Web Applications Utilizing HTML5 (Dev Con TLV 06-2013)
Modern Web Applications Utilizing HTML5 (Dev Con TLV 06-2013)Modern Web Applications Utilizing HTML5 (Dev Con TLV 06-2013)
Modern Web Applications Utilizing HTML5 (Dev Con TLV 06-2013)
 
Magento & Cloud - Korostelov Avexey
Magento & Cloud - Korostelov AvexeyMagento & Cloud - Korostelov Avexey
Magento & Cloud - Korostelov Avexey
 
Firefox os how large open source project works
Firefox os   how large open source project worksFirefox os   how large open source project works
Firefox os how large open source project works
 
WordPress Developer tools
WordPress Developer toolsWordPress Developer tools
WordPress Developer tools
 
Wordpress Command-Line
Wordpress Command-LineWordpress Command-Line
Wordpress Command-Line
 
Enhance your Maven plugins with Groovy
Enhance your Maven plugins with GroovyEnhance your Maven plugins with Groovy
Enhance your Maven plugins with Groovy
 
How I Learned to Stop Worrying and Backup WordPress
How I Learned to Stop Worrying and Backup WordPressHow I Learned to Stop Worrying and Backup WordPress
How I Learned to Stop Worrying and Backup WordPress
 
Blazor Full-Stack
Blazor Full-StackBlazor Full-Stack
Blazor Full-Stack
 
Phing
PhingPhing
Phing
 
Improving WordPress Performance with Xdebug and PHP Profiling
Improving WordPress Performance with Xdebug and PHP ProfilingImproving WordPress Performance with Xdebug and PHP Profiling
Improving WordPress Performance with Xdebug and PHP Profiling
 
Introduction to phone gap
Introduction to phone gapIntroduction to phone gap
Introduction to phone gap
 
Blazor v1.1
Blazor v1.1Blazor v1.1
Blazor v1.1
 
AS3FlexDB
AS3FlexDBAS3FlexDB
AS3FlexDB
 

En vedette

Odoo - Recruiting and managing highly skilled talents
Odoo - Recruiting and managing highly skilled talentsOdoo - Recruiting and managing highly skilled talents
Odoo - Recruiting and managing highly skilled talents
Odoo
 
Odoo - Open Source CMS: A performance comparision
Odoo - Open Source CMS: A performance comparisionOdoo - Open Source CMS: A performance comparision
Odoo - Open Source CMS: A performance comparision
Odoo
 
Odoo mobile apps
Odoo mobile appsOdoo mobile apps
Odoo mobile apps
Odoo
 
The new Odoo warehouse management system
The new Odoo warehouse management systemThe new Odoo warehouse management system
The new Odoo warehouse management system
Odoo
 
Webdav, Caldav & Co. in Odoo
Webdav, Caldav & Co. in OdooWebdav, Caldav & Co. in Odoo
Webdav, Caldav & Co. in Odoo
Odoo
 
Discover Odoo POS in v8: your shop ready to use in 20 min
Discover Odoo POS in v8: your shop ready to use in 20 minDiscover Odoo POS in v8: your shop ready to use in 20 min
Discover Odoo POS in v8: your shop ready to use in 20 min
Odoo
 
Finite capacity planning and scheduling for manufacturing: Odoo – frePPLe con...
Finite capacity planning and scheduling for manufacturing: Odoo – frePPLe con...Finite capacity planning and scheduling for manufacturing: Odoo – frePPLe con...
Finite capacity planning and scheduling for manufacturing: Odoo – frePPLe con...
Odoo
 
Solution for Laboratory and Quality Management
Solution for Laboratory and Quality ManagementSolution for Laboratory and Quality Management
Solution for Laboratory and Quality Management
Odoo
 
Odoo - Presentation documentation v8
Odoo - Presentation documentation v8Odoo - Presentation documentation v8
Odoo - Presentation documentation v8
Odoo
 
How to integrate your design in Odoo v8 CMS
How to integrate your design in Odoo v8 CMSHow to integrate your design in Odoo v8 CMS
How to integrate your design in Odoo v8 CMS
Odoo
 
Odoo - CMS dynamic widgets
Odoo - CMS dynamic widgetsOdoo - CMS dynamic widgets
Odoo - CMS dynamic widgets
Odoo
 
Launching your Odoo SaaS offer
Launching your Odoo SaaS offerLaunching your Odoo SaaS offer
Launching your Odoo SaaS offer
Odoo
 

En vedette (16)

Odoo - Recruiting and managing highly skilled talents
Odoo - Recruiting and managing highly skilled talentsOdoo - Recruiting and managing highly skilled talents
Odoo - Recruiting and managing highly skilled talents
 
Odoo - Open Source CMS: A performance comparision
Odoo - Open Source CMS: A performance comparisionOdoo - Open Source CMS: A performance comparision
Odoo - Open Source CMS: A performance comparision
 
Odoo mobile apps
Odoo mobile appsOdoo mobile apps
Odoo mobile apps
 
The new Odoo warehouse management system
The new Odoo warehouse management systemThe new Odoo warehouse management system
The new Odoo warehouse management system
 
Webdav, Caldav & Co. in Odoo
Webdav, Caldav & Co. in OdooWebdav, Caldav & Co. in Odoo
Webdav, Caldav & Co. in Odoo
 
Discover Odoo POS in v8: your shop ready to use in 20 min
Discover Odoo POS in v8: your shop ready to use in 20 minDiscover Odoo POS in v8: your shop ready to use in 20 min
Discover Odoo POS in v8: your shop ready to use in 20 min
 
Finite capacity planning and scheduling for manufacturing: Odoo – frePPLe con...
Finite capacity planning and scheduling for manufacturing: Odoo – frePPLe con...Finite capacity planning and scheduling for manufacturing: Odoo – frePPLe con...
Finite capacity planning and scheduling for manufacturing: Odoo – frePPLe con...
 
Solution for Laboratory and Quality Management
Solution for Laboratory and Quality ManagementSolution for Laboratory and Quality Management
Solution for Laboratory and Quality Management
 
Odoo - Presentation documentation v8
Odoo - Presentation documentation v8Odoo - Presentation documentation v8
Odoo - Presentation documentation v8
 
Odoo 2016 - Retrospective
Odoo 2016 - RetrospectiveOdoo 2016 - Retrospective
Odoo 2016 - Retrospective
 
How to integrate your design in Odoo v8 CMS
How to integrate your design in Odoo v8 CMSHow to integrate your design in Odoo v8 CMS
How to integrate your design in Odoo v8 CMS
 
Odoo - Create themes for website
Odoo - Create themes for websiteOdoo - Create themes for website
Odoo - Create themes for website
 
Odoo - CMS dynamic widgets
Odoo - CMS dynamic widgetsOdoo - CMS dynamic widgets
Odoo - CMS dynamic widgets
 
Launching your Odoo SaaS offer
Launching your Odoo SaaS offerLaunching your Odoo SaaS offer
Launching your Odoo SaaS offer
 
How to manage a service company with Odoo
How to manage a service company with OdooHow to manage a service company with Odoo
How to manage a service company with Odoo
 
Be a Team Leader, not a Manager!
Be a Team Leader, not a Manager!Be a Team Leader, not a Manager!
Be a Team Leader, not a Manager!
 

Similaire à Using the pip package manager for Odoo

5 minute intro to virtualenv
5 minute intro to virtualenv5 minute intro to virtualenv
5 minute intro to virtualenv
amenasse
 

Similaire à Using the pip package manager for Odoo (20)

Welcome to the Cheese Shop: setuptools, virtualenv and PyPUG
Welcome to the Cheese Shop: setuptools, virtualenv and PyPUGWelcome to the Cheese Shop: setuptools, virtualenv and PyPUG
Welcome to the Cheese Shop: setuptools, virtualenv and PyPUG
 
10 11-hart installing pythonsoftware
10 11-hart installing pythonsoftware10 11-hart installing pythonsoftware
10 11-hart installing pythonsoftware
 
Python+gradle
Python+gradlePython+gradle
Python+gradle
 
Python virtualenv & pip in 90 minutes
Python virtualenv & pip in 90 minutesPython virtualenv & pip in 90 minutes
Python virtualenv & pip in 90 minutes
 
Tox as project descriptor.
Tox as project descriptor.Tox as project descriptor.
Tox as project descriptor.
 
TYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 core
TYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 coreTYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 core
TYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 core
 
5 minute intro to virtualenv
5 minute intro to virtualenv5 minute intro to virtualenv
5 minute intro to virtualenv
 
Virtualenv
VirtualenvVirtualenv
Virtualenv
 
Python Dependency Management - PyconDE 2018
Python Dependency Management - PyconDE 2018Python Dependency Management - PyconDE 2018
Python Dependency Management - PyconDE 2018
 
Picamera, Flask and the Twitter API Raspberry Pi workshop
Picamera, Flask and the Twitter API Raspberry Pi workshopPicamera, Flask and the Twitter API Raspberry Pi workshop
Picamera, Flask and the Twitter API Raspberry Pi workshop
 
How to Install Odoo 17 on Ubuntu.pdf
How to Install Odoo 17 on Ubuntu.pdfHow to Install Odoo 17 on Ubuntu.pdf
How to Install Odoo 17 on Ubuntu.pdf
 
Christian Strappazzon - Presentazione Python Milano - Codemotion Milano 2017
Christian Strappazzon - Presentazione Python Milano - Codemotion Milano 2017Christian Strappazzon - Presentazione Python Milano - Codemotion Milano 2017
Christian Strappazzon - Presentazione Python Milano - Codemotion Milano 2017
 
Arbeiten mit distribute, pip und virtualenv
Arbeiten mit distribute, pip und virtualenvArbeiten mit distribute, pip und virtualenv
Arbeiten mit distribute, pip und virtualenv
 
Fluo CICD OpenStack Summit
Fluo CICD OpenStack SummitFluo CICD OpenStack Summit
Fluo CICD OpenStack Summit
 
Arbeiten mit distribute, pip und virtualenv
Arbeiten mit distribute, pip und virtualenvArbeiten mit distribute, pip und virtualenv
Arbeiten mit distribute, pip und virtualenv
 
The Secrets of The FullStack Ninja - Part A - Session I
The Secrets of The FullStack Ninja - Part A - Session IThe Secrets of The FullStack Ninja - Part A - Session I
The Secrets of The FullStack Ninja - Part A - Session I
 
First python project
First python projectFirst python project
First python project
 
PyCourse - Self driving python course
PyCourse - Self driving python coursePyCourse - Self driving python course
PyCourse - Self driving python course
 
ASP.NET 5 on the Raspberry PI 2
ASP.NET 5 on the Raspberry PI 2ASP.NET 5 on the Raspberry PI 2
ASP.NET 5 on the Raspberry PI 2
 
Apigee deploy grunt plugin.1.0
Apigee deploy grunt plugin.1.0Apigee deploy grunt plugin.1.0
Apigee deploy grunt plugin.1.0
 

Plus de Odoo

Plus de Odoo (20)

Timesheet Workshop: The Timesheet App People Love!
Timesheet Workshop: The Timesheet App People Love!Timesheet Workshop: The Timesheet App People Love!
Timesheet Workshop: The Timesheet App People Love!
 
Odoo 3D Product View with Google Model-Viewer
Odoo 3D Product View with Google Model-ViewerOdoo 3D Product View with Google Model-Viewer
Odoo 3D Product View with Google Model-Viewer
 
Keynote - Vision & Strategy
Keynote - Vision & StrategyKeynote - Vision & Strategy
Keynote - Vision & Strategy
 
Opening Keynote - Unveilling Odoo 14
Opening Keynote - Unveilling Odoo 14Opening Keynote - Unveilling Odoo 14
Opening Keynote - Unveilling Odoo 14
 
Extending Odoo with a Comprehensive Budgeting and Forecasting Capability
Extending Odoo with a Comprehensive Budgeting and Forecasting CapabilityExtending Odoo with a Comprehensive Budgeting and Forecasting Capability
Extending Odoo with a Comprehensive Budgeting and Forecasting Capability
 
Managing Multi-channel Selling with Odoo
Managing Multi-channel Selling with OdooManaging Multi-channel Selling with Odoo
Managing Multi-channel Selling with Odoo
 
Product Configurator: Advanced Use Case
Product Configurator: Advanced Use CaseProduct Configurator: Advanced Use Case
Product Configurator: Advanced Use Case
 
Accounting Automation: How Much Money We Saved and How?
Accounting Automation: How Much Money We Saved and How?Accounting Automation: How Much Money We Saved and How?
Accounting Automation: How Much Money We Saved and How?
 
Rock Your Logistics with Advanced Operations
Rock Your Logistics with Advanced OperationsRock Your Logistics with Advanced Operations
Rock Your Logistics with Advanced Operations
 
Transition from a cost to a flow-centric organization
Transition from a cost to a flow-centric organizationTransition from a cost to a flow-centric organization
Transition from a cost to a flow-centric organization
 
Synchronization: The Supply Chain Response to Overcome the Crisis
Synchronization: The Supply Chain Response to Overcome the CrisisSynchronization: The Supply Chain Response to Overcome the Crisis
Synchronization: The Supply Chain Response to Overcome the Crisis
 
Running a University with Odoo
Running a University with OdooRunning a University with Odoo
Running a University with Odoo
 
Down Payments on Purchase Orders in Odoo
Down Payments on Purchase Orders in OdooDown Payments on Purchase Orders in Odoo
Down Payments on Purchase Orders in Odoo
 
Odoo Implementation in Phases - Success Story of a Retail Chain 3Sach food
Odoo Implementation in Phases - Success Story of a Retail Chain 3Sach foodOdoo Implementation in Phases - Success Story of a Retail Chain 3Sach food
Odoo Implementation in Phases - Success Story of a Retail Chain 3Sach food
 
Migration from Salesforce to Odoo
Migration from Salesforce to OdooMigration from Salesforce to Odoo
Migration from Salesforce to Odoo
 
Preventing User Mistakes by Using Machine Learning
Preventing User Mistakes by Using Machine LearningPreventing User Mistakes by Using Machine Learning
Preventing User Mistakes by Using Machine Learning
 
Becoming an Odoo Expert: How to Prepare for the Certification
Becoming an Odoo Expert: How to Prepare for the Certification Becoming an Odoo Expert: How to Prepare for the Certification
Becoming an Odoo Expert: How to Prepare for the Certification
 
Instant Printing of any Odoo Report or Shipping Label
Instant Printing of any Odoo Report or Shipping LabelInstant Printing of any Odoo Report or Shipping Label
Instant Printing of any Odoo Report or Shipping Label
 
How Odoo helped an Organization Grow 3 Fold
How Odoo helped an Organization Grow 3 FoldHow Odoo helped an Organization Grow 3 Fold
How Odoo helped an Organization Grow 3 Fold
 
From Shopify to Odoo
From Shopify to OdooFrom Shopify to Odoo
From Shopify to Odoo
 

Dernier

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Dernier (20)

Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 

Using the pip package manager for Odoo

  • 1. Using the pip package manager for Odoo Daniel Reis | OpenDays 2014
  • 2. Who am I Daniel Reis – Applications Manager at Securitas Portugal – 15+ years in IT, most as a consultant – 3 yrs working with Odoo/OpenERP – Active participant in the Odoo Community
  • 3. Why pip? Python recommended tool to install packages. Good tooling support: • – virtualenv • – freeze, requirements.txt. • Why not?
  • 4. Issues to address ● How to build the pip packages? – setup.py for server & addons. – Package version numbers. – Support for “series” (v7, v8) . – Automate the builds for module repos. ● How to distribute packages? – Use PyPi? Or create another index?
  • 5. What do we need to consider? i. Build module packagesi. Build module packages ii. Distribute packagesii. Distribute packages iii. Install and updateiii. Install and update
  • 6. i. Getting packages built Template setup.py for modules* – Target into site-packages/openerp/addons/ – Versions: bzr revno; git/hg unix timestamp.→ → – A build tool: pipo build command Modified Server setup.py* – Packaged as “openerp-base” – Add basic web dependencies * Based on Vo Minh Thu's work: https://github.com/noteed/openerpdist
  • 7. pipo: pip for OpenERP Module packager: build command. Wrapper around pip (todo!): – install and update modules. – “glue” pip with server commands. Source: https://github.com/dreispt/pipo ● $ pipo build ./addons-dir ./pkgs-dir ● $ pipo install openerp-sale
  • 8. Pypi-line index distribution openerpapps.info – Channels/series: openerp/8.0, ocb/7.0, … – Server dependencies included in Index: skip PyPi. Automated builds with pipo.py – Only changed modules are rebuilt. – Multiple vcs support: bzr, git, hg. ii. Distributing the packages
  • 9. Iii. Installation the pip way ● $ virtualenv --system-site-packages mydemo ● $ source mydemo/bin/activate $ pip install --index-url http://openerpapps.info/simple/openerp/7.0 openerp-sale
  • 10. ● Distribute “Apps”, or maybe “Repos”? – autoinstall glue modules – res.config module installation ● Painless pip install – Wrap pip “boilerplate” options – pip install/update server install/update→ ● Painless server provisioning – Script additional config tasks ● Missing CLI capabilities – Update module list, uninstall ● Webclient GUI? Issues still to address
  • 11. Developers? – Provide the simplest way to install Odoo Integrators? – Allow pip to be a part of dev and ops workflows. End-users? – Ease community Apps & Features discovery. Where can we go?
  • 12. Thank you ! @reis_pt | dgreis(at)sapo.pt