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.
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
|
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. |