Skip to content

Latest commit

 

History

History
263 lines (236 loc) · 6.25 KB

README.md

File metadata and controls

263 lines (236 loc) · 6.25 KB

Rez contains a set of embedded dependencies, listed in the table below. The reason they're embedded into the project is because rez itself is often used as a rez package, which means its dependencies would need to be rez packages also. Were these to be sourced from pip, we would need to convert them from pip packages into rez packages. This is doable (via the rez-pip tool and API) but represents a significantly larger barrier of entry to installation.

Embedding requirements like this is not ideal however, and a move to external requirements is not off the cards. We would need to update the process for installing rez as a rez package (currently done via install.py -p), and ensure that the rez-to-pip conversion process for its dependencies is seamless and well tested.

Vendored Packages

Package Version License Note
argcomplete 6f943d76400d6755c2152deff4f2c5c5fa4d9e7c (Jul 20, 2014) Apache 2.0 https://github.com/kislyuk/argcomplete
Our version is patched.
atomicwrites 1.2.1 (Aug 30, 2018) MIT https://github.com/untitaker/python-atomicwrites
attrs 19.1.0 (Mar 3, 2019) MIT https://github.com/python-attrs/attrs
Added (July 2019) to enable the use of packaging lib that depends on it.
colorama 0.4.1 (Nov 25, 2018) BSD 3-Clause https://github.com/tartley/colorama
distlib 0.2.9.post0 (May 14, 2019) PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 https://bitbucket.org/pypa/distlib/src/master/
Updated (June 2019) to enable wheel distribution based installations.
distro 1.5.0 (Mar 31, 2020) Apache 2.0 https://github.com/python-distro/distro
enum ? BSD https://pypi.org/project/enum34/
By looking at the code, it's probably enum34. If so, the latest version is 1.1.6 (May 15, 2016)
lockfile 0.9.1 (Sep 19, 2010) MIT https://github.com/openstack-archive/pylockfile
Deprecated project, recommends upgrading to https://github.com/harlowja/fasteners
memcache (python-memcached) 1.59 (Dec 15, 2017) PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 https://github.com/linsomniac/python-memcached
We could try to move to a more maintained package like pymemcache from pinterest. NOTE: A port to redis may be a better option, people are more familiar with it and it already has a good python client that supports conn pooling.
packaging 19.0 (Jan 20, 2019) Duel license, Apache 2.0, BSD 2-Clause https://github.com/pypa/packaging
Added (July 2019) to enable PEP440 compatible versions handling.
pika 1.2.0 (Feb 5, 2021) BSD 3-Clause https://github.com/pika/pika
progress 1.5 (Mar 6, 2019) ISC https://github.com/verigak/progress
Upgraded from 1.2 to 1.5 as of Oct 16 2019
pydot 1.4.2.dev0 (Oct 28, 2020) MIT https://github.com/pydot/pydot
  • Updated (July 2019) in order to update pyparsing lib which in turn is required by the packaging library. Updated (Aug 2019) for py3.
  • Updated (Nov 2020) for finding right dot executable on Windows + Anaconda, see pydot/pydot#205 for detail. Also, pydot has not bumping version for a long time, log down commit change here: a10ced4 -> 03533f3
pygraph (python-graph-core) 1.8.2 (Jul 14, 2012) MIT https://github.com/pmatiello/python-graph
No longer maintained, moved to https://github.com/Shoobx/python-graph
pyparsing 2.4.0 (Apr 8, 2019) MIT https://github.com/pyparsing/pyparsing
Updated (July 2019) along with pydot to allow for packaging lib to be used.
schema 0.3.1 (Apr 28, 2014) (https://github.com/keleshev/schema/blob/916ba05e22b7b370b3586f97c40695e7b9e7fe33) MIT https://github.com/keleshev/schema
Our version is patched.
six 1.12.0 (Dec 9, 2018) MIT https://github.com/benjaminp/six
Updated (July 2019) to coincide with packaging lib addition that depends on. Also now required to support py2/3 interoperability.
yaml lib (PyYAML) 5.1 (May 30, 2011) MIT https://github.com/yaml/pyyaml
No changes but must maintain separate version between py2 and py3 for time being.
yaml lib3 (PyYAML) 5.1 (May 30, 2011) MIT https://github.com/yaml/pyyaml
No changes but must maintain separate version between py2 and py3 for time being.