Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shore up all the boilerplate in setup.py #118

Closed
wants to merge 60 commits into from
Closed

Shore up all the boilerplate in setup.py #118

wants to merge 60 commits into from

Conversation

rocktavious
Copy link
Contributor

There is alot of boilerplate code in the modules setup.py. This shores them up with setuptools.autocythonize.

Simply put, it leverages setuptools find_packages to find all the locations where your pyx files could live, and autogenerates disutils Extension objects for them. This is then appended into setup keyword arg ext_modules, but first if the files need cythonizing this is done.

This also exposes a cythonize command so you can do a full "clean" build of the cython files.

Since this is an addon to ext_modules, you can still define other Extensions if needs be (if you need to control the includes or compile arg per extension, this is purely to remove all the boilerplate listing of files, extensions and packages, and is to cover the 90% of standard use cases for compiling cython files.

This will also help kivent in the future with its packaging, as It would be nice to eventually breakout each module into its own repo, and have each be pip installable, leveraging namespace packaging, similar to the zope framework, but this is something i'll save for a different pull request.

@Kovak
Copy link
Contributor

Kovak commented Feb 23, 2016

can you change this PR to coming into 2.2-dev? It looks really nice, I need to make sure it doesn't break anything with py4a, but I don't expect it to.

You can drop the polygen module as it has been subsumed into the core module.

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