Skip to content

Avoid negative wording when describing Cython. - #1059

Merged
bhrutledge merged 3 commits into
pypa:mainfrom
scoder:patch-1
Mar 11, 2022
Merged

Avoid negative wording when describing Cython.#1059
bhrutledge merged 3 commits into
pypa:mainfrom
scoder:patch-1

Conversation

@scoder

@scoder scoder commented Mar 9, 2022

Copy link
Copy Markdown
Contributor

No description provided.

Comment thread source/guides/packaging-binary-extensions.rst Outdated
Comment thread source/guides/packaging-binary-extensions.rst Outdated
Co-authored-by: Brian Rutledge <brian@bhrutledge.com>

@bhrutledge bhrutledge left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for taking the time to do this.

@henryiii

Copy link
Copy Markdown
Contributor

Probably should also update the pybind11 description a bit eventually, since it also "gives a wide range of freedom in designing and optimizing the wrapper code" and supports PyPy, but with a lot less boiler plate code than Cython and a new language.

@henryiii

Copy link
Copy Markdown
Contributor

Distributing a Cython application does increase the complexity of distribution further than a vanilla extension or pybind11, since it requires a pre-process step or requires vending a multithousand line c/c++ file in that will likely need to be regenerated on the next Python version with a new Cython release, and requires the whole oldest-support-numpy issues. Cython was really not designed for wrapping code.

I'm not against the change at all, but just guessing why the originally language was the way it was, and maybe the new language is just a tiny bit too nice. :P

@bhrutledge
bhrutledge enabled auto-merge (squash) March 11, 2022 19:28
@bhrutledge
bhrutledge merged commit a44a309 into pypa:main Mar 11, 2022
@scoder

scoder commented Mar 12, 2022

Copy link
Copy Markdown
Contributor Author

I think the main difference between Cython and pybind11 is just that one requires users to properly know Python and a bit of C (more or less, depending on what you want to do with it), whereas the other requires proper C++ knowledge. For the rest, they pretty much do the same thing, and we shouldn't try to push one over the other. In a Python world, you'd naturally expect more users to have a good understanding of Python than a good (enough) understanding of C++. But that's really just a matter of personal preference and available skills. Not of capabilities (or "complexity" or "designed-for-ness") of the tools. I really fail to see a difference there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants