-
Notifications
You must be signed in to change notification settings - Fork 93
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
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…direct, stop_direct
…mera, better zoom support
uncaught KeyError in cdefed metchod
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
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.