{ "info": { "author": "Allan Johns", "author_email": "nerdvegas@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Topic :: Software Development", "Topic :: System :: Software Distribution" ], "description": "Introduction\n------------\n\nRez is a cross-platform, LGPL Licensed python library and set of utilities for building and installing packages, and resolving environments containing these packages at runtime, avoiding version conflicts. The main tools are:\n\n- **rez-env** - Creates a configured shell containing a set of requested packages. Supports **bash** and **tcsh**, and mimics the startup sequences of the native shell.\n\n- **rez-build** - Builds a package of any type (python, C++ etc), and installs it locally for testing. Supports **cmake**.\n\n- **rez-release** - Builds and centrally deploys a package, and updates the associated source control repository (creating tags etc). Supports **git**, **mercurial** and **svn**.\n\nUnlike many packaging systems, Rez is able to install many different versions of the same packages. When you use the rez-env tool, a new environment is dynamically created, containing the requested packages. Rez resolves environments at runtime, rather than install time - however, you are able to store a resolve to disk, and reuse it at a later date.\n\nHere's an example which places the user into a resolved shell containing the requested packages:\n\n::\n\n ]$ rez-env requests-2.2+ python-2.6 'pymongo-0+<2.7'\n \n You are now in a rez-configured environment.\n \n resolved by ajohns@nn188.somewhere.com, on Wed Feb 26 15:56:20 2014, using Rez v2.0.0\n \n implicit packages:\n platform-linux\n arch-x86_64\n \n requested packages:\n requests-2.2+\n python-2.6\n pymongo-0+<2.7\n \n resolved packages:\n python-2.6.8 /software/ext/python/2.6.8\n platform-linux /software/ext/platform/linux\n requests-2.2.1 /software/ext/requests/2.2.1/python-2.6\n pymongo-2.6.3 /software/ext/pymongo/2.6.3\n arch-x86_64 /software/ext/arch/x86_64\n \n > ]$ _\n \nHere's an example which creates an environment containing the package 'houdini' version 12.5 or greater, and runs the command 'hescape -h' inside that environment:\n\n::\n\n ]$ rez-env -c 'hescape -h' houdini-12.5+\n Usage: hescape [-foreground] [-s editor] [filename ...]\n -h: output this usage message\n -f: force the use of asset definitions in OTL files on the command line\n -s: specify starting desktop by name\n -foreground: starts process in foreground\n \nResolved environments can also be created programmatically:\n\n::\n\n >>> from rez.resolved_context import ResolvedContext\n >>>\n >>> r = ResolvedContext([\"houdini-12.5+\", \"houdini-0+<13\", \"java\", \"!java-1.8+\"])\n >>>\n >>> r.print_info()\n resolved by ajohns@nn188.somewhere.com, on Wed Feb 26 13:03:30 2014, using Rez v2.0.0\n \n implicit packages:\n platform-linux\n arch-x86_64\n \n requested packages:\n houdini-12.5+\n houdini-0+<13\n java\n \n resolved packages:\n java-1.7.21 /software/ext/java/1.7.21\n platform-linux /software/ext/platform/linux\n arch-x86_64 /software/ext/arch/x86_64\n houdini-12.5.562 /software/ext/houdini/12.5.562\n >>>\n >>> import subprocess\n >>> p = r.execute_shell(command='which hescape', stdout=subprocess.PIPE)\n >>> stdout,stderr = p.communicate()\n >>>\n >>> print stdout\n '/software/ext/houdini/12.5.562/bin/hescape'\n \n \nFeatures\n--------\n\n- Supports Linux and OSX;\n- Allows for a fast and efficient build-install-test cycle;\n- Creates shells of type: bash, tcsh, other (shells can be added as plugins);\n- Contains a deployment system supporting git, mercurial and svn (as plugins);\n- Environment resolves can be saved to disk and reused at a later date (a bit like VirtualEnv);\n- Highly pluggable, supports five different plugin types to do things from adding new shell types, to adding new build systems;\n- Contains a version resolving algorithm, for avoiding version clashes;\n- Visualises resolved environments in a rendered dot-graph;\n- Packages are found in a search path, so different packages can be deployed to different locations;\n- Supports alphanumeric version numbers;\n- Has a powerful version requirements syntax, able to describe any version range, and a conflict operator for rejecting version ranges;\n- Package 'variants' - a way to define different flavors of the same package version, for example a plugin built for multiple versions of the host app;\n- Custom release hooks (such as post-release operations) can be added as plugins;\n- Has a time lock feature, which allows old resolves to be recreated (newer packages are ignored);\n- Package definitions are a single, succinct file;\n- Packages define their effect on the environment (adding to PATH etc) in a platform- and shell- agnostic way, using a dedicated python API;\n- Has a memcached-based caching system, for caching environment resolves.\n\n\nInstallation\n------------\n\nTo install Rez, simply:\n\n::\n\n pip install rez\n \nOr, to install from source:\n\n::\n\n python setup.py install\n \nTo see that it's working:\n\n::\n\n ]$ rez-env -c 'hello_world' hello_world\n Hello Rez World!\n \nDocumentation\n-------------\n\nTODO\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/nerdvegas/rez", "keywords": "package resolve version build install software management", "license": "LGPL", "maintainer": null, "maintainer_email": null, "name": "rez", "package_url": "https://pypi.org/project/rez/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/rez/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/nerdvegas/rez" }, "release_url": "https://pypi.org/project/rez/2.0.ALPHA.52/", "requires_dist": null, "requires_python": null, "summary": "A cross-platform packaging system that can build and install multiple version of packages, and dynamically configure resolved environments at runtime.", "version": "2.0.ALPHA.52" }, "last_serial": 1106181, "releases": { "2.0.ALPHA.52": [ { "comment_text": "", "digests": { "md5": "b3fd1f7a219025ddd5630b0633a4c796", "sha256": "db0dbca5beef7970d4d2471511253e4b8c2d2e013b4b48c112411eaf8aeda1bb" }, "downloads": -1, "filename": "rez-2.0.ALPHA.52-py2-none-any.whl", "has_sig": false, "md5_digest": "b3fd1f7a219025ddd5630b0633a4c796", "packagetype": "bdist_wheel", "python_version": "2.6", "requires_python": null, "size": 431317, "upload_time": "2014-05-28T01:27:51", "url": "https://files.pythonhosted.org/packages/ac/c3/3df197588b2057a105cfafd10114c820aa6c0123509bce84aee78b8cc547/rez-2.0.ALPHA.52-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1dd894edc0c9e7a3009593eba416f2f6", "sha256": "ec6faf4fbe01827cb41bfcb22393a3c19a5b8364986095a96405f58a565caa04" }, "downloads": -1, "filename": "rez-2.0.ALPHA.52.tar.gz", "has_sig": false, "md5_digest": "1dd894edc0c9e7a3009593eba416f2f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 301377, "upload_time": "2014-05-28T01:27:48", "url": "https://files.pythonhosted.org/packages/70/96/d4951f478896d81927aecc31d85e85e54b98525d1c17d6fce89301b99805/rez-2.0.ALPHA.52.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b3fd1f7a219025ddd5630b0633a4c796", "sha256": "db0dbca5beef7970d4d2471511253e4b8c2d2e013b4b48c112411eaf8aeda1bb" }, "downloads": -1, "filename": "rez-2.0.ALPHA.52-py2-none-any.whl", "has_sig": false, "md5_digest": "b3fd1f7a219025ddd5630b0633a4c796", "packagetype": "bdist_wheel", "python_version": "2.6", "requires_python": null, "size": 431317, "upload_time": "2014-05-28T01:27:51", "url": "https://files.pythonhosted.org/packages/ac/c3/3df197588b2057a105cfafd10114c820aa6c0123509bce84aee78b8cc547/rez-2.0.ALPHA.52-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1dd894edc0c9e7a3009593eba416f2f6", "sha256": "ec6faf4fbe01827cb41bfcb22393a3c19a5b8364986095a96405f58a565caa04" }, "downloads": -1, "filename": "rez-2.0.ALPHA.52.tar.gz", "has_sig": false, "md5_digest": "1dd894edc0c9e7a3009593eba416f2f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 301377, "upload_time": "2014-05-28T01:27:48", "url": "https://files.pythonhosted.org/packages/70/96/d4951f478896d81927aecc31d85e85e54b98525d1c17d6fce89301b99805/rez-2.0.ALPHA.52.tar.gz" } ] }