pypa / hatch

Modern, extensible Python project management
https://hatch.pypa.io/latest/
MIT License
5.9k stars 292 forks source link

PKG-INFO Missing Metadata #1688

Open benieric opened 3 weeks ago

benieric commented 3 weeks ago

Hello @ofek, the sagemaker-python-sdk recently migrated our build system to use pyproject.toml and hatchling in this PR - https://github.com/aws/sagemaker-python-sdk/pull/3529

But it looks like the metadata is not being packaged correctly, when uploading to PyPI - https://pypi.org/project/sagemaker/2.229.0/#description

When I download the distribution and check the PKG-INFO I see some of the metadata is missing:

╭─ ~/workplace/tmp/sagemaker-2.229.0 ··················································································································  py3.10.14 3.10.14 02:13:24 PM ─╮
╰─❯ cat PKG-INFO                                                                                                                                                                        ─╯
Metadata-Version: 2.1
Name: sagemaker
Version: 2.229.0
Summary: UNKNOWN
Home-page: UNKNOWN
License: UNKNOWN
Description: UNKNOWN
Platform: UNKNOWN
Provides-Extra: all
Provides-Extra: feature-processor
Provides-Extra: huggingface
Provides-Extra: local
Provides-Extra: scipy
Provides-Extra: test
ofek commented 3 weeks ago

What is the build job that produces the final artifacts?

benieric commented 3 weeks ago

I think it could be due to python version? Because, when I run the same locally using Py3.10, the PKG-INFO shows as expected.

The job we run is in a CodeBuild project which runs the following commands:

"pip install wheel",

"python3 setup.py sdist bdist_wheel",

...

"python3 -m twine upload $PACKAGE_FILES -u $PYPI_USER -p $PYPI_PASSWORD",
benieric commented 3 weeks ago
git clone git@github.com:aws/sagemaker-python-sdk.git
cd sagemaker-python-sdk
python setup.py sdist
cd dist
tar -xvf sagemaker-2.229.1.dev0.tar.gz
cd sagemaker-2.229.1.dev0
╭─ ~/workplace/sagemaker-python-sdk/dist/sagemaker-2.229.1.dev0 master ················································································  py3.10.14 3.10.14 02:53:24 PM ─╮
╰─❯ cat PKG-INFO                                                                                                                                                                        ─╯
Metadata-Version: 2.1
Name: sagemaker
Version: 2.229.1.dev0
Summary: Open source library for training and deploying models on Amazon SageMaker.
Author: Amazon Web Services
Project-URL: Homepage, https://github.com/aws/sagemaker-python-sdk
Keywords: AI,AWS,Amazon,ML,MXNet,Tensorflow
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Python: >=3.8
Description-Content-Type: text/x-rst
License-File: LICENSE.txt
License-File: NOTICE.txt
...
benieric commented 3 weeks ago

Our job runs in py3.8

root@feb069ce3127:/# python3 --version
Python 3.8.18
ofek commented 3 weeks ago

Oh, are you able to change the build process to do python -m build rather than python setup.py ...?

ofek commented 3 weeks ago

Were you able to get it working?