librariesio / libraries.io

:books: The Open Source Discovery Service
https://libraries.io
GNU Affero General Public License v3.0
1.12k stars 202 forks source link

Missing dependencies for Sphinx #2213

Open abitrolly opened 6 years ago

abitrolly commented 6 years ago

https://pypi.org/pypi/sphinx/json /info/requires_dist lists these dependencies.

0 | "whoosh (>=2.0); extra == 'websupport'"
1 | "sqlalchemy (>=0.9); extra == 'websupport'"
2 | "typed-ast; (python_versi…\") and extra == 'test'"
3 | "mypy; (python_version>=\"3\") and extra == 'test'"
4 | "enum34; (python_version<\"3\") and extra == 'test'"
5 | "flake8-import-order; extra == 'test'"
6 | "flake8 (>=3.5.0); extra == 'test'"
7 | "html5lib; extra == 'test'"
8 | "pytest-cov; extra == 'test'"
9 | "pytest; extra == 'test'"
10 | "mock; extra == 'test'"
11 | "colorama (>=0.3.5); sys_platform==\"win32\""
12 | "typing; python_version<\"3.5\""
13 | "sphinxcontrib-websupport"
14 | "packaging"
15 | "setuptools"
16 | "requests (>=2.0.0)"
17 | "imagesize"
18 | "alabaster (<0.8,>=0.7)"
19 | "babel (!=2.0,>=1.3)"
20 | "snowballstemmer (>=1.1)"
21 | "docutils (>=0.11)"
22 | "Pygments (>=2.0)"
23 | "Jinja2 (>=2.3)"
24 | "six (>=1.5)"

https://libraries.io/pypi/Sphinx lists 0. image

brainwane commented 5 years ago

I see that Sphinx specifies some of its requirements in an install_requires array within setup.py https://github.com/sphinx-doc/sphinx/blob/a498960de9039b0d0c8d24f75f32fa4acd5b75e1/setup.py#L17 -- that is not working right now because of https://github.com/librariesio/bibliothecary/issues/76 .

Also Sphinx specifies some requirements in tox.ini which is not working because of https://github.com/librariesio/bibliothecary/issues/415 .

abitrolly commented 5 years ago

libraries.io should use PyPI API for getting dependency information from JSON endpoint instead of bibliothecary - trying to parse Python code with Ruby is a dead end.

https://github.com/librariesio/libraries.io/blob/master/app/models/package_manager/pypi.rb - I don't see where it calls bibliothecary, but it should process https://pypi.org/pypi/Sphinx/json instead.