bobfang1992 / pytomlpp

A python wrapper for tomlplusplus
https://bobfang1992.github.io/pytomlpp/pytomlpp.html
MIT License
86 stars 11 forks source link

upload a source dist to PyPI #47

Closed ioistired closed 3 years ago

ioistired commented 3 years ago

Currently only pre-built wheels are uploaded on pypi, meaning unsupported platforms cannot install this package at all even if they can compile it. Please upload a source dist (setup.py sdist; twine upload dist/*) because as it stands I cannot install this on my ARM phone.

ml-factobotics commented 3 years ago

I cannot install this on my ARM phone.

I got workaround with pipenv and istallation from gh, add package as pytomlpp = {editable = true, ref = "master", git = "https://github.com/bobfang1992/pytomlpp.git"}

ioistired commented 3 years ago

yes, I'm using pytomlpp @ git+https://github.com/bobfang1992/pytomlpp.git@0.3.5. the problem is, not everyone wants to or is able to compile the package from source. additionally, packages uploaded to pypi must only depend on other pypi packages, not git repositories.

bobfang1992 commented 3 years ago

Hi thanks for the issue report, but I am not sure how to implement this... I was told I can only do binary dist. Any idea or documentation I can refer to?

bobfang1992 commented 3 years ago

I was told I can only do binary dist

I mean for pypi I can only do binary dist... not sure what needed to be done for source dist. Any documentation for me to get started on this?

marzer commented 3 years ago

@bobfang1992 seems cibuildwheel can automate the building and deploying of wheels for lots of platforms (per Delivering to PyPI)

is it just a matter of adding more platforms etc to the ci build matrix?

bobfang1992 commented 3 years ago

@bobfang1992 seems cibuildwheel can automate the building and deploying of wheels for lots of platforms (per Delivering to PyPI)

is it just a matter of adding more platforms etc to the ci build matrix?

Probably. I think people don't need source dist, they need this project to be on more platforms. I can take a look at this sometime. Hopefully it is just about changing the configuration a bit.

ioistired commented 3 years ago

You should have both. You cannot account for every possible platform. And suppose a new python version is released, it would need to be rebuilt for the new version, and without a source dist, it'll be un-installable from pypi on that new version.

I was told I can only do binary dist

Who told you this? It's just not true.

You can use twine to upload sdists like so:

$ ./setup.py sdist
$ twine upload dist/*
ioistired commented 3 years ago

Oh no, I didn't test to make sure that the sdist actually builds. It looks like it's not including the toml++ source in the package. Looking into it now

ioistired commented 3 years ago

I just pushed a895a2e54b01840b64d673155e2d1f98f978ec33 which attempts to fix this. It's copying .cpp and .hpp files correctly but not the .h files :sweat:

marzer commented 3 years ago

You don't need to copy any .cpp files from toml++, it's a header-only library. The only cpp files you'd be copying would be unit tests, heh.

bobfang1992 commented 3 years ago

Let me know when you are ready for another PR @ioistired . Thannks!