defining requirements on pypi
Hi, I feel like these are stupid questions but I cannot seem to find a straight answer. In brief, 1) what is egg-info/requires.txt used for? 2) how do I properly define requirements for pypi? The details are: I'm updating some packages on pypi and am having difficulty defining requirements. One of the packages in question is: pypi.python.org/pypi/jsui I'm initially defining the requirements in a requirements.txt that then gets parsed in setup.py and install_requires gets set to the contents of requirements.txt. Some of the output from python setup.py sdist build is below. The resulting requires.txt in jsui.egg-info is: flask wsrpc However, when I upload this to pypi with "python setup.py sdist upload" I'm not seeing these requirements listed nor does pip installing the package install the requirements. Thanks for your help. ==== python setup.py sdist build partial output ==== running sdist running egg_info writing requirements to jsui.egg-info/requires.txt writing jsui.egg-info/PKG-INFO writing top-level names to jsui.egg-info/top_level.txt writing dependency_links to jsui.egg-info/dependency_links.txt reading manifest file 'jsui.egg-info/SOURCES.txt' writing manifest file 'jsui.egg-info/SOURCES.txt' running check warning: check: missing required meta-data: url creating jsui-0.0.1 creating jsui-0.0.1/jsui creating jsui-0.0.1/jsui.egg-info making hard links in jsui-0.0.1... hard linking README -> jsui-0.0.1 hard linking setup.py -> jsui-0.0.1 hard linking jsui/__init__.py -> jsui-0.0.1/jsui hard linking jsui/serve.py -> jsui-0.0.1/jsui hard linking jsui.egg-info/PKG-INFO -> jsui-0.0.1/jsui.egg-info hard linking jsui.egg-info/SOURCES.txt -> jsui-0.0.1/jsui.egg-info hard linking jsui.egg-info/dependency_links.txt -> jsui-0.0.1/jsui.egg-info hard linking jsui.egg-info/requires.txt -> jsui-0.0.1/jsui.egg-info hard linking jsui.egg-info/top_level.txt -> jsui-0.0.1/jsui.egg-info Writing jsui-0.0.1/setup.cfg Creating tar archive removing 'jsui-0.0.1' (and everything under it) running build running build_py
On Wed, Aug 27, 2014 at 2:51 PM, Brett Graham
Hi,
I feel like these are stupid questions but I cannot seem to find a straight answer.
In brief,
1) what is egg-info/requires.txt used for? 2) how do I properly define requirements for pypi?
The details are:
I'm updating some packages on pypi and am having difficulty defining requirements.
One of the packages in question is: pypi.python.org/pypi/jsui
I'm initially defining the requirements in a requirements.txt that then gets parsed in setup.py and install_requires gets set to the contents of requirements.txt. Some of the output from python setup.py sdist build is below. The resulting requires.txt in jsui.egg-info is:
flask wsrpc
However, when I upload this to pypi with "python setup.py sdist upload" I'm not seeing these requirements listed nor does pip installing the package install the requirements
when I install jsui from pypi, it finds and installs flask and wsrpc. what you've done is working. in general though, I wouldn't parse "install_requires" from a requirements file. It's mixing use cases. see the "install_requires vs requirements files" section in the Python Packaging User Guide https://packaging.python.org/en/latest/technical.html#install-requires-vs-re...
Thanks for testing it and extra info!
It sounds like I 'fixed' the problem in the not-recommended way of
including requirements.txt in the MANIFEST.in.
I've been using a pretty hefty setup.py:
https://github.com/braingram/simple_setup that attempts to auto-parse and
detect 'everything' (finding packages, data, scripts, author info, version,
requirements) with the hope of dropping it in a directory with a python
module and magically having it pypi compatible. It sounds like it may be a
pipe dream :)
On Thu, Aug 28, 2014 at 2:41 PM, Marcus Smith
On Wed, Aug 27, 2014 at 2:51 PM, Brett Graham
wrote: Hi,
I feel like these are stupid questions but I cannot seem to find a straight answer.
In brief,
1) what is egg-info/requires.txt used for? 2) how do I properly define requirements for pypi?
The details are:
I'm updating some packages on pypi and am having difficulty defining requirements.
One of the packages in question is: pypi.python.org/pypi/jsui
I'm initially defining the requirements in a requirements.txt that then gets parsed in setup.py and install_requires gets set to the contents of requirements.txt. Some of the output from python setup.py sdist build is below. The resulting requires.txt in jsui.egg-info is:
flask wsrpc
However, when I upload this to pypi with "python setup.py sdist upload" I'm not seeing these requirements listed nor does pip installing the package install the requirements
when I install jsui from pypi, it finds and installs flask and wsrpc. what you've done is working.
in general though, I wouldn't parse "install_requires" from a requirements file. It's mixing use cases.
see the "install_requires vs requirements files" section in the Python Packaging User Guide
https://packaging.python.org/en/latest/technical.html#install-requires-vs-re...
Pypi only parses requirements from wheels for display but this doesn't
affect installation.
On Aug 28, 2014 7:49 AM, "Brett Graham"
Hi,
I feel like these are stupid questions but I cannot seem to find a straight answer.
In brief,
1) what is egg-info/requires.txt used for? 2) how do I properly define requirements for pypi?
The details are:
I'm updating some packages on pypi and am having difficulty defining requirements.
One of the packages in question is: pypi.python.org/pypi/jsui
I'm initially defining the requirements in a requirements.txt that then gets parsed in setup.py and install_requires gets set to the contents of requirements.txt. Some of the output from python setup.py sdist build is below. The resulting requires.txt in jsui.egg-info is:
flask wsrpc
However, when I upload this to pypi with "python setup.py sdist upload" I'm not seeing these requirements listed nor does pip installing the package install the requirements.
Thanks for your help.
==== python setup.py sdist build partial output ====
running sdist running egg_info writing requirements to jsui.egg-info/requires.txt writing jsui.egg-info/PKG-INFO writing top-level names to jsui.egg-info/top_level.txt writing dependency_links to jsui.egg-info/dependency_links.txt reading manifest file 'jsui.egg-info/SOURCES.txt' writing manifest file 'jsui.egg-info/SOURCES.txt' running check warning: check: missing required meta-data: url
creating jsui-0.0.1 creating jsui-0.0.1/jsui creating jsui-0.0.1/jsui.egg-info making hard links in jsui-0.0.1... hard linking README -> jsui-0.0.1 hard linking setup.py -> jsui-0.0.1 hard linking jsui/__init__.py -> jsui-0.0.1/jsui hard linking jsui/serve.py -> jsui-0.0.1/jsui hard linking jsui.egg-info/PKG-INFO -> jsui-0.0.1/jsui.egg-info hard linking jsui.egg-info/SOURCES.txt -> jsui-0.0.1/jsui.egg-info hard linking jsui.egg-info/dependency_links.txt -> jsui-0.0.1/jsui.egg-info hard linking jsui.egg-info/requires.txt -> jsui-0.0.1/jsui.egg-info hard linking jsui.egg-info/top_level.txt -> jsui-0.0.1/jsui.egg-info Writing jsui-0.0.1/setup.cfg Creating tar archive removing 'jsui-0.0.1' (and everything under it) running build running build_py
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig
PyPI doesn’t parse anything, metadata is passed alongside the file upload. This means that for sdists it would just need modified to communicate that information to PyPI. PyPI won’t show metadata for Wheels either unless you upload them with Twine.
On Aug 28, 2014, at 6:02 PM, Daniel Holth
wrote: Pypi only parses requirements from wheels for display but this doesn't affect installation.
On Aug 28, 2014 7:49 AM, "Brett Graham"
mailto:brettgraham@gmail.com> wrote: Hi, I feel like these are stupid questions but I cannot seem to find a straight answer.
In brief,
1) what is egg-info/requires.txt used for? 2) how do I properly define requirements for pypi?
The details are:
I'm updating some packages on pypi and am having difficulty defining requirements.
One of the packages in question is: pypi.python.org/pypi/jsui http://pypi.python.org/pypi/jsui
I'm initially defining the requirements in a requirements.txt that then gets parsed in setup.py and install_requires gets set to the contents of requirements.txt. Some of the output from python setup.py sdist build is below. The resulting requires.txt in jsui.egg-info is:
flask wsrpc
However, when I upload this to pypi with "python setup.py sdist upload" I'm not seeing these requirements listed nor does pip installing the package install the requirements.
Thanks for your help.
==== python setup.py sdist build partial output ====
running sdist running egg_info writing requirements to jsui.egg-info/requires.txt writing jsui.egg-info/PKG-INFO writing top-level names to jsui.egg-info/top_level.txt writing dependency_links to jsui.egg-info/dependency_links.txt reading manifest file 'jsui.egg-info/SOURCES.txt' writing manifest file 'jsui.egg-info/SOURCES.txt' running check warning: check: missing required meta-data: url
creating jsui-0.0.1 creating jsui-0.0.1/jsui creating jsui-0.0.1/jsui.egg-info making hard links in jsui-0.0.1... hard linking README -> jsui-0.0.1 hard linking setup.py -> jsui-0.0.1 hard linking jsui/__init__.py -> jsui-0.0.1/jsui hard linking jsui/serve.py -> jsui-0.0.1/jsui hard linking jsui.egg-info/PKG-INFO -> jsui-0.0.1/jsui.egg-info hard linking jsui.egg-info/SOURCES.txt -> jsui-0.0.1/jsui.egg-info hard linking jsui.egg-info/dependency_links.txt -> jsui-0.0.1/jsui.egg-info hard linking jsui.egg-info/requires.txt -> jsui-0.0.1/jsui.egg-info hard linking jsui.egg-info/top_level.txt -> jsui-0.0.1/jsui.egg-info Writing jsui-0.0.1/setup.cfg Creating tar archive removing 'jsui-0.0.1' (and everything under it) running build running build_py
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org mailto:Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig https://mail.python.org/mailman/listinfo/distutils-sig
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig
--- Donald Stufft PGP: 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA
PyPI won’t show metadata for Wheels either unless you upload them with Twine
Why is that, exactly? Is there something alternate tools would need to do to achieve the same thing?
Regards,
Vinay Sajip
________________________________
From: Donald Stufft
Pypi only parses requirements from wheels for display but this doesn't affect installation. On Aug 28, 2014 7:49 AM, "Brett Graham"
wrote: Hi,
I feel like these are stupid questions but I cannot seem to find a straight answer.
In brief,
1) what is egg-info/requires.txt used for? 2) how do I properly define requirements for pypi?
The details are:
I'm updating some packages on pypi and am having difficulty defining requirements.
One of the packages in question is: pypi.python.org/pypi/jsui
I'm initially defining the requirements in a requirements.txt that then gets parsed in setup.py and install_requires gets set to the contents of requirements.txt. Some of the output from python setup.py sdist build is below. The resulting requires.txt in jsui.egg-info is:
flask wsrpc
However, when I upload this to pypi with "python setup.py sdist upload" I'm not seeing these requirements listed nor does pip installing the package install the requirements.
Thanks for your help.
==== python setup.py sdist build partial output ====
running sdist running egg_info writing requirements to jsui.egg-info/requires.txt writing jsui.egg-info/PKG-INFO writing top-level names to jsui.egg-info/top_level.txt writing dependency_links to jsui.egg-info/dependency_links.txt reading manifest file 'jsui.egg-info/SOURCES.txt' writing manifest file 'jsui.egg-info/SOURCES.txt' running check warning: check: missing required meta-data: url
creating jsui-0.0.1 creating jsui-0.0.1/jsui creating jsui-0.0.1/jsui.egg-info making hard links in jsui-0.0.1... hard linking README -> jsui-0.0.1 hard linking setup.py -> jsui-0.0.1 hard linking jsui/__init__.py -> jsui-0.0.1/jsui hard linking jsui/serve.py -> jsui-0.0.1/jsui hard linking jsui.egg-info/PKG-INFO -> jsui-0.0.1/jsui.egg-info hard linking jsui.egg-info/SOURCES.txt -> jsui-0.0.1/jsui.egg-info hard linking jsui.egg-info/dependency_links.txt -> jsui-0.0.1/jsui.egg-info hard linking jsui.egg-info/requires.txt -> jsui-0.0.1/jsui.egg-info hard linking jsui.egg-info/top_level.txt -> jsui-0.0.1/jsui.egg-info Writing jsui-0.0.1/setup.cfg Creating tar archive removing 'jsui-0.0.1' (and everything under it) running build running build_py _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig
_______________________________________________
Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig
--- Donald Stufft PGP: 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig
Send the data when they upload.
On Aug 28, 2014, at 6:46 PM, Vinay Sajip
wrote: PyPI won’t show metadata for Wheels either unless you upload them with Twine
Why is that, exactly? Is there something alternate tools would need to do to achieve the same thing?
Regards,
Vinay Sajip
From: Donald Stufft
To: Daniel Holth Cc: Brett Graham ; DistUtils mailing list Sent: Thursday, 28 August 2014, 23:11 Subject: Re: [Distutils] defining requirements on pypi PyPI doesn’t parse anything, metadata is passed alongside the file upload. This means that for sdists it would just need modified to communicate that information to PyPI. PyPI won’t show metadata for Wheels either unless you upload them with Twine.
On Aug 28, 2014, at 6:02 PM, Daniel Holth
mailto:dholth@gmail.com> wrote: Pypi only parses requirements from wheels for display but this doesn't affect installation. On Aug 28, 2014 7:49 AM, "Brett Graham"
mailto:brettgraham@gmail.com> wrote: Hi, I feel like these are stupid questions but I cannot seem to find a straight answer.
In brief,
1) what is egg-info/requires.txt used for? 2) how do I properly define requirements for pypi?
The details are:
I'm updating some packages on pypi and am having difficulty defining requirements.
One of the packages in question is: pypi.python.org/pypi/jsui http://pypi.python.org/pypi/jsui
I'm initially defining the requirements in a requirements.txt that then gets parsed in setup.py and install_requires gets set to the contents of requirements.txt. Some of the output from python setup.py sdist build is below. The resulting requires.txt in jsui.egg-info is:
flask wsrpc
However, when I upload this to pypi with "python setup.py sdist upload" I'm not seeing these requirements listed nor does pip installing the package install the requirements.
Thanks for your help.
==== python setup.py sdist build partial output ====
running sdist running egg_info writing requirements to jsui.egg-info/requires.txt writing jsui.egg-info/PKG-INFO writing top-level names to jsui.egg-info/top_level.txt writing dependency_links to jsui.egg-info/dependency_links.txt reading manifest file 'jsui.egg-info/SOURCES.txt' writing manifest file 'jsui.egg-info/SOURCES.txt' running check warning: check: missing required meta-data: url
creating jsui-0.0.1 creating jsui-0.0.1/jsui creating jsui-0.0.1/jsui.egg-info making hard links in jsui-0.0.1... hard linking README -> jsui-0.0.1 hard linking setup.py -> jsui-0.0.1 hard linking jsui/__init__.py -> jsui-0.0.1/jsui hard linking jsui/serve.py -> jsui-0.0.1/jsui hard linking jsui.egg-info/PKG-INFO -> jsui-0.0.1/jsui.egg-info hard linking jsui.egg-info/SOURCES.txt -> jsui-0.0.1/jsui.egg-info hard linking jsui.egg-info/dependency_links.txt -> jsui-0.0.1/jsui.egg-info hard linking jsui.egg-info/requires.txt -> jsui-0.0.1/jsui.egg-info hard linking jsui.egg-info/top_level.txt -> jsui-0.0.1/jsui.egg-info Writing jsui-0.0.1/setup.cfg Creating tar archive removing 'jsui-0.0.1' (and everything under it) running build running build_py
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org mailto:Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig https://mail.python.org/mailman/listinfo/distutils-sig
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org mailto:Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig https://mail.python.org/mailman/listinfo/distutils-sig
--- Donald Stufft PGP: 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org mailto:Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig https://mail.python.org/mailman/listinfo/distutils-sig
--- Donald Stufft PGP: 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA
participants (5)
-
Brett Graham
-
Daniel Holth
-
Donald Stufft
-
Marcus Smith
-
Vinay Sajip