On Thu, Oct 18, 2012 at 5:36 AM, Vinay Sajip <[email protected]> wrote: >>>> This bit of text prevents Gmane from thinking that I'm top-posting :-( > > I've added a convenience function to distlib.locators called locate(), to > which > you pass a requirement. The returned Distribution object allows you to query > its requirements. Example of usage: > >>>> from distlib.locators import locate >>>> from pprint import pprint >>>> flask = locate('flask') >>>> flask > <Distribution Flask (0.9) > [http://pypi.python.org/packages/source/F/Flask/Flask-0.9.tar.gz]> >>>> flask.get_requirements('install') > ['Werkzeug (>= 0.7)', 'Jinja2 (>= 2.4)'] >>>> reqs = flask.get_requirements('install') >>>> werkzeug, jinja2 = [locate(r) for r in reqs] >>>> werkzeug > <Distribution Werkzeug (0.8.3) > [http://pypi.python.org/packages/source/W/Werkzeug/Werkzeug-0.8.3.tar.gz]> >>>> jinja2 > <Distribution Jinja2 (2.6) > [http://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.6.tar.gz]> >>>> authy = locate('authy') >>>> authy.get_requirements('install') > ['httplib2 (>= 0.7, < 0.8)', 'simplejson'] >>>> reqs = authy.get_requirements('install') >>>> rds = [locate(r) for r in reqs] >>>> pprint(rds) > [<Distribution httplib2 (0.7.6) > [http://httplib2.googlecode.com/files/httplib2-0.7.6.tar.gz]>, > <Distribution simplejson (2.6.2) > [http://pypi.python.org/packages/source/s/simplejson/simplejson-2.6.2.tar.gz]>] >>>>
Rather handy. _______________________________________________ Distutils-SIG maillist - [email protected] http://mail.python.org/mailman/listinfo/distutils-sig
