devpi

Cheese shops for the rest of us

 

PyWeb-IL #81, 6/5/2019

by: Benny Daon

@daonb

About Me

  • Been here since PyWeb-IL#1
  • Co-founder of Open Knesset & Hasadna
  • Freelancing as a grey beard pythonista

The cheese shop

178,760 projects and 326,945 users for now

devpi Powers

  • Fast cheese shop cache
  • Manage multiple private indexes
  • Index inheritance
  • Web interface
  • Clients include pipenv, pip or easy_install
  • Replications

  • Integrations with tox & Jenkins

  • Extendable through `custom_data`

devpi  basic architecture

                             Server
     Client             +---------------+
+--------------+        |               |
|              |        | devpi-server  |
| devpi-client +------->+               |
|              |        | devpi-web     |
| devpi-common +<-------+               |
|              |        | devpi-common  |
+--------------+        |               |
                        +---------------+

Index Inhertiance

pypi.org +-----> root/pypi
                     |     +----->benny/dev
                     v     |
                root/master+----->meir/dev
                           |
                           +----->ram/dev

Replication

  • One or more real time via http replicas
  • Maintains full "fail-over" copy
  • replica offers full master interface
  • all writes go through master

Demo!

Deployment

$ devpi-server --gen-config

devpi

By Benny Daon

devpi

  • 1,010