Skip to content

Publish an sdist on PyPI #250

@jayvdb

Description

@jayvdb

Overview of issue:

PyPI only currently has wheels. i.e. https://pypi.org/project/apigentools/#files

These are not suitable for using with packaging tools.

Also it is not easy to use github tarballs as an alternative, as the following error occurs:

[   17s] + /usr/bin/python3.8 setup.py build '--executable=/usr/bin/python3.8 -s'
[   17s] Traceback (most recent call last):
[   17s]   File "setup.py", line 27, in <module>
[   17s]     setup(
[   17s]   File "/usr/lib/python3.8/site-packages/setuptools/__init__.py", line 87, in setup
[   17s]     return distutils.core.setup(**attrs)
[   17s]   File "/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 139, in setup
[   17s]     _setup_distribution = dist = klass(attrs)
[   17s]   File "/usr/lib/python3.8/site-packages/setuptools/dist.py", line 476, in __init__
[   17s]     _Distribution.__init__(
[   17s]   File "/usr/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 275, in __init__
[   17s]     self.finalize_options()
[   17s]   File "/usr/lib/python3.8/site-packages/setuptools/dist.py", line 900, in finalize_options
[   17s]     ep(self)
[   17s]   File "/usr/lib/python3.8/site-packages/setuptools/dist.py", line 920, in _finalize_setup_keywords
[   17s]     ep.load()(self, ep.name, value)
[   17s]   File "/usr/lib/python3.8/site-packages/setuptools_scm/integration.py", line 75, in version_keyword
[   17s]     _assign_version(dist, config)
[   17s]   File "/usr/lib/python3.8/site-packages/setuptools_scm/integration.py", line 51, in _assign_version
[   17s]     _version_missing(config)
[   17s]   File "/usr/lib/python3.8/site-packages/setuptools_scm/__init__.py", line 106, in _version_missing
[   17s]     raise LookupError(
[   17s] LookupError: setuptools-scm was unable to detect version for /home/abuild/rpmbuild/BUILD/apigentools-1.6.4.
[   17s] 
[   17s] Make sure you're either building from a fully intact git repository or PyPI tarballs. Most other sources (such as GitHub's tarballs, a git checkout without the .git folder) don't contain the necessary metadata and will not work.
[   17s] 
[   17s] For example, if you're using pip, instead of https://github.com/user/proj/archive/master.zip use git+https://github.com/user/proj.git#egg=proj

That suggestion doesnt work when building a package in an offline VM to ensure proper build isolation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    staleStale - Bot reminder

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions