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

Python bindings #228

Merged
merged 5 commits into from May 16, 2019

Conversation

4 participants
@mosra
Copy link
Owner

commented Feb 12, 2018

Using pybind11.

TODO:

  • move the actual binding code to a new repository (solves compile times, makes it possible to have also corrade, extras, integration... in the same repo) -- mosra/magnum-bindings#1
  • enable -fPIC also for Application classes so we can add (shared library) bindings for these too
  • make it possible to have assertions as exceptions so python doesn't irreversibly blow up (runtime configurable/pluggable function pointer?) no, instead build with CORRADE_NO_ASSERT and replicate all assertions on the binding side as actual typed exceptions

@mosra mosra added this to TODO in Platforms via automation Feb 12, 2018

@mosra mosra moved this from TODO to In progress in Platforms Feb 12, 2018

@coveralls

This comment has been minimized.

Copy link

commented Feb 12, 2018

Coverage Status

Coverage remained the same at 77.368% when pulling 47d40dc on python into f89da14 on master.

@Squareys

This comment has been minimized.

Copy link
Contributor

commented Feb 12, 2018

This is pretty verbose :D (compared to swig or something.) Pretty cool though, as it also alows following python naming conventions.

I think this is super neat, but don't believe it should be a priority 🤔

@mosra mosra added this to the 2019.0b milestone Apr 17, 2019

@mosra mosra referenced this pull request Apr 20, 2019

Merged

Python doc generator #98

13 of 13 tasks complete

@mosra mosra removed this from In progress in Platforms Apr 22, 2019

@mosra mosra force-pushed the python branch from 47d40dc to a205583 Apr 22, 2019

@codecov-io

This comment has been minimized.

Copy link

commented Apr 23, 2019

Codecov Report

Merging #228 into master will not change coverage.
The diff coverage is 100%.

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #228   +/-   ##
=======================================
  Coverage   71.14%   71.14%           
=======================================
  Files         346      346           
  Lines       17346    17346           
=======================================
  Hits        12340    12340           
  Misses       5006     5006
Impacted Files Coverage Δ
src/Magnum/Math/BoolVector.h 100% <ø> (ø) ⬆️
src/Magnum/Math/Matrix4.h 100% <ø> (ø) ⬆️
src/Magnum/Math/Vector2.h 100% <ø> (ø) ⬆️
src/Magnum/GL/Attribute.h 100% <ø> (ø) ⬆️
src/Magnum/Math/Unit.h 100% <ø> (ø) ⬆️
src/Magnum/Math/Vector3.h 100% <ø> (ø) ⬆️
src/Magnum/Math/Matrix.h 100% <ø> (ø) ⬆️
src/Magnum/Math/Matrix3.h 100% <ø> (ø) ⬆️
src/Magnum/Math/Quaternion.h 100% <100%> (ø) ⬆️
src/Magnum/Math/RectangularMatrix.h 100% <100%> (ø) ⬆️
... and 1 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9ec10b8...bede124. Read the comment docs.

@mosra mosra referenced this pull request May 1, 2019

Merged

Python bindings #1

20 of 20 tasks complete

@mosra mosra added this to TODO in Project management via automation May 1, 2019

@mosra

This comment has been minimized.

Copy link
Owner Author

commented May 1, 2019

The actual binding code is moved to a new repo now, since it makes more sense (and also doesn't increase compile times of the core repo to twice as much). See mosra/magnum-bindings#1 for details.

This PR will only contain changes needed for the bindings code to work.

@mosra mosra moved this from TODO to In progress in Project management May 1, 2019

@mosra mosra force-pushed the python branch from a205583 to 75ae8b4 May 2, 2019

mosra added some commits Apr 21, 2019

Math: doc++
Fixing Engrish while doing the Python bindings.
Platform: enable PIC for all (static) Application libraries.
Python bindings (which are wrapping these in shared libs) need that.

@mosra mosra force-pushed the python branch from 75ae8b4 to bede124 May 16, 2019

@mosra mosra merged commit bede124 into master May 16, 2019

1 of 4 checks passed

continuous-integration/appveyor/branch Waiting for AppVeyor build to complete
Details
continuous-integration/appveyor/pr Waiting for AppVeyor build to complete
Details
continuous-integration/travis-ci/pr The Travis CI build is in progress
Details
continuous-integration/travis-ci/push The Travis CI build passed
Details

Project management automation moved this from In progress to Done May 16, 2019

@mosra mosra deleted the python branch May 16, 2019

@mosra

This comment has been minimized.

Copy link
Owner Author

commented May 16, 2019

Merged the few things here since it doesn't seem I have to radically change how Magnum works in order to make it available in Python. All other adjustments needed for Python bindings (if any) will be added on an as-needed basis.

@mosra mosra changed the title [WIP] Python bindings Python bindings May 16, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.