-
Notifications
You must be signed in to change notification settings - Fork 140
Updated Python packaging + CI #146
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
Conversation
no upload to pypi, scary
Great! So currently I guess it only checks if posebench crashes or not?
I agree. I can see if I can move it.
Potentially we could also set it up to only run on a subset of datasets as well. So it does not have to download everything at once. |
|
Yeah, I can make a subset dataset which should be fine to dl many times. |
|
Regarding
I agree, but would hold off on this until dev is merged. In dev we have split the options into AbsolutePoseOptions etc. Ideally we have the option to still pass dicts into the pybinds, but they are automatically wrapped to corresponding structs with error messages if there are extra/invalid fields. In particular for cameras, which are often stored/serialized, it is nicer to represent them as dicts instead of these pybind classes. So I would want to keep this functionality. |
pyproject.toml
Outdated
|
|
||
| [project.optional-dependencies] | ||
| test = [ | ||
| "posebench @ git+https://github.com/Parskatt/posebench.git; python_version < \"3.14\"", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As a reminder to change in the future: https://github.com/PoseLib/posebench
|
@Parskatt great, progress! Press the button "Ready for review" when you think this is ready and we go over; it looks already quite good. |
|
Thanks! I need to sort out a few things with python 3.14, but then should be ready. Don't want to feature-creep this PR too much. |
|
(Hopefully) final update:
There are now a few new files.
I think these additions are fine, and pretty easy to revert later if we want to change the project structure. |
|
yes, we should keep |
Is this ready to merge now? Or do you have more changes planned? |
|
@vlarsson should be ready to merge. @pablospe I used |
|
should we create a new tag: |
|
CI will trigger for both release and push, so just changing the version in appropriate places will build wheels with correct tags. Then I'll push the wheels manually. |
|
I created an issue and assigned to copilot :P even though it was easy, it is amazing it worked out :) |
Introduction
This PR introduces CI for publishing wheels to pypi (I've refrained from autopushing to pypi as it's immutable, so if you screw up you have to bump package version), and additionally comes with some bugfixes to the python bindings, and automatic python stub generation (courtesy of pycolmap). The CI is currently running over at my fork, so any updates to this PR can be tested there first, before merging into master here.
Changes
target_compile_optionsacross cmakelists asEigen::Vector2d::Zero()to satisfy picky compilersposelibpackage folder, instead of just the raw .so.pyproject.tomlto specify build-dependencies of the python packageposelib::Camera(and also fixed segfault bug).TODO / Possible improvements
benchmarkfor python module to be able to test for regressions etc. We might also consider running entireposebenchRelated PRs/Issues:
#72
#73
#99