0

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

phd
  • 82,685
  • 13
  • 120
  • 165
AdamHommer
  • 657
  • 7
  • 22

0 Answers0