Coordinate package versions across an organisation

Viewed 85

I work for a medium sized firm where we have a number ~10 python packages and projects we have developed internally. They partially depend on each other and often have the same package requirements, say pandas, sklearn etc..

We are now at a stage where contradicting requirements are causing problems as we upgrade various systems.

We use the azure platform and the artifacts feed on it, so any way of fixing the versions there would be the most preferable option, but I hav enot found a way of doing that in the docs, it would appear you must have at least 5 different versions back.

Ideally I'd like to have the requirement files just specify the package name and then set the versions used on upgrade by controlling what versions are available on the server. Is there a nice solution for that?

The options I see are:

  • specify pyrc to use a private Pypi server

    • host all packages used on this server so that pypi is never called
    • control the versions on the server
  • make requirents.txt a binary that on reading returns a list with the correct versions, updated from some central server.

  • An addition to pip and setup.py that sends the names of packages desired to a central server and gets back a list of version fixed packages as needed.

Any other less faffy ideas?

0 Answers
Related