>>> 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]>] >>> Feedback welcome. Regards, Vinay Sajip _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org http://mail.python.org/mailman/listinfo/distutils-sig