I want to upload some open source code to pypi which contains binary content written in cython. This means that if I want to save users from compile source code themselfs, I need to release different binary libs for different system versions and python versions.
As I tested, pypi can accept the same version (say 0.1.0
) of ".whl"
files as long as they have different file names. However, no matter what system I'm on, the file names I pack out are all the same, for example mypackage-0.1.0-py3-none-any.whl
, which I want them to show up as mypackage-0.1.0-py39-py39-win_amd64.whl
What should I do? thanks!
====
Edit:
My build up system is a very simple copy from official doc, here's all of it.
from setuptools import setup, find_packages
setup(
name="hash-c",
version='0.0.1',
author="REDMOND",
description='Some description',
long_description='Some description',
long_description_content_type="text/markdown",
packages = find_packages(),
package_data={
'hash_c': ['libc.cp38_amd64.pyd',],
},
install_requires = [],
classifiers=[
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3 :: Only',
'License :: OSI Approved :: MIT License',
'Operating System :: POSIX :: Linux',
'Operating System :: Microsoft :: Windows',
],
python_requires='>=3.6',
keywords=["hash-c"]
)
I placed a compile dll file in folder tree:
.
├── hash_c
│ ├── __init__.py
│ └── lib.cp38_amd64.pyd
└── setup.py