Build: adding support for distribution via Python package#133
Build: adding support for distribution via Python package#133timlehr merged 5 commits intoOpenTimelineIO:mainfrom
Conversation
Signed-off-by: Tim Lehr <tim.lehr@disneyanimation.com>
c4a1024 to
75f1ebc
Compare
Signed-off-by: Tim Lehr <tim.lehr@disneyanimation.com> Build: Drop old Python versions Signed-off-by: Tim Lehr <tim.lehr@disneyanimation.com> Build: Fixing Python Install Signed-off-by: Tim Lehr <tim.lehr@disneyanimation.com> Build: Adding macOS wheels Signed-off-by: Tim Lehr <tim.lehr@disneyanimation.com> Build: Fix Python install Signed-off-by: Tim Lehr <tim.lehr@disneyanimation.com> Build: Fix Python versions Signed-off-by: Tim Lehr <tim.lehr@disneyanimation.com> Build: Use managed Python Signed-off-by: Tim Lehr <tim.lehr@disneyanimation.com> Build: Added Sdist artifact Signed-off-by: Tim Lehr <tim.lehr@disneyanimation.com> Build: Linux Wheels on CI Signed-off-by: Tim Lehr <tim.lehr@disneyanimation.com>
bb170a5 to
544ad4a
Compare
Signed-off-by: Tim Lehr <tim.lehr@disneyanimation.com>
1ae1751 to
7d88b2c
Compare
apetrynet
left a comment
There was a problem hiding this comment.
This is going to be awesome!
Sadly, I was unable to build on my machine as I have gtk4+ only, but I trust the CI is a good indication of it working.
Left a couple of comments
.github/workflows/publish.yaml
Outdated
There was a problem hiding this comment.
This setup differs a bit from the adapters. I think the token approach is deprecated for instance.
There was a problem hiding this comment.
I haven't been able to test this at all. I mostly copied it over from the core repo - I was contemplating using uv publish here, but somebody has to give me an intro into how we test this stuff for the OTIO org.
There was a problem hiding this comment.
Yeah, I need to attend that intro myself.
However I think using uv publish will need the same authentication method.
Perhaps setting up this workflow should be its own PR where we can set it up correctly?
Being able to run raven via uv like described in the README.md is a good first step
There was a problem hiding this comment.
Yeah, do you want me to remove the publish.yaml or still keep it for now?
There was a problem hiding this comment.
I'm leaning towards removing it as it needs a couple of iterations to get working correctly.
In this case we should submit a ticket targeted towards getting publishing up and running.
Just remember to adjust the readme if we go this route.
The PR still has a lot of value as it lowers the entry "cost" for getting Raven running.
What do you think @jminor?
|
@apetrynet can you build the regular way via cmake on your machine? I tried to make almost no changes to the build steps itself and just pipe the builds through to Python. The Linux pipeline requires some dependencies - I wonder if we need to add your setup to the matrix, if it's a popular configuration? |
|
I haven't tried building manually, but it looks like the cmake files indicate gtk3 I'm not sure what distros like Rocky 9 use? But if they also provide gnome desktop in the 40+ range we should look into upping the gtk requirement. |
|
Yeah, maybe we make that a separate issue? Seems like there is some investigation to be done. |
Removing this, to be added and configured in a separate PR. Signed-off-by: Tim Lehr <tim.lehr@disneyanimation.com>
c1ad474 to
6060ffa
Compare
apetrynet
left a comment
There was a problem hiding this comment.
LGTM, but someone able to build the package should perhaps have a look before we hit merge?
Signed-off-by: Tim Lehr <tim.lehr@disneyanimation.com>
6311e05 to
b750c76
Compare
| strategy: | ||
| matrix: | ||
| python-version: ["3.9"] | ||
| os: [ ubuntu-latest, ubuntu-24.04-arm, windows-latest, macos-13, macos-latest ] |
There was a problem hiding this comment.
| os: [ ubuntu-latest, ubuntu-24.04-arm, windows-latest, macos-13, macos-latest ] | |
| os: [ ubuntu-latest, ubuntu-24.04-arm, windows-latest, macos-14, macos-latest ] |
There was a problem hiding this comment.
Oh, I didn't see this one up here before pressing merge ... I will add it to the publish PR.
jminor
left a comment
There was a problem hiding this comment.
This looks great. I'm checking with ASWF regarding the policies about release artifacts vs distribution.
jminor
left a comment
There was a problem hiding this comment.
ASWF representative says we can go ahead with this, and publish to PyPI as well.
Feature
This adds support for building and distributing Raven as a Python package. While this might seem a bit odd given that Raven currently doesn't have any Python dependencies, it has some distinct advantages:
Other Changes
Next steps