pybuilder icon indicating copy to clipboard operation
pybuilder copied to clipboard

Alternative aproach to building wheels

Open kshpytsya opened this issue 6 years ago • 2 comments

Would a functionality (probably implemented as an external plugin) of directly building wheels, instead of going the setup.py bdist_wheel route, similar to what is done by flit, be of interest? Publishing would, of course, be accomplished with twine. Is there any reason as to why such approach would go against the grain of general design of 'pybuilder'?

kshpytsya avatar Mar 03 '18 12:03 kshpytsya

If you are proposing this as an external plugin then the question is whether you be interested in it. External plugin is just that - external: anyone can build one, anyone can use one, anyone can publish one.

If you're thinking about integrating this into a core, then plugin is not external, but then the question arises as to why. What's wrong with bdist_wheel? I presume flit is still using the same wheel packaging regardless. So are we talking about changes in metadata?

Twine is already used to upload inside PyB.

arcivanov avatar Mar 03 '18 16:03 arcivanov

I do realize all the differences between external and internal plugins. As to why, the answer is simple: setup.py bdist_wheel seems to be quite a roundabout (and slow) way of producing a wheel when it can be easily produced directly, without any intermediate files. BTW, I could not find, either in documentation, or anywhere on github (global search) any examples of non-pure-Python packages (i.e. with compiled C code) using pybuilder. Are they supported? I do not see any provisions for that in setup.py generated by distutils_plugin.py. The only suspicious place being pre_install_script and post_install_script, of which I could find no real examples as well. As for twine, yes, I see it being used in a yet to be released version.

kshpytsya avatar Mar 03 '18 19:03 kshpytsya