Skip to content

Conversation

@cedrik-fuoco-adsk
Copy link
Contributor

@cedrik-fuoco-adsk cedrik-fuoco-adsk commented Dec 18, 2025

Move out python packages installations from make_python and make_pyside6

Linked issues

n/a

Summarize your change.

Changes:

  • Refactored Python build system to separate concerns and improve Windows Debug build compatibility
  • Removed pip install commands from make_python.py and moved dependency installation to CMake
  • Created standalone test_python.py script for Python distribution validation
  • Numpy version is a CMake variable instead of an ENV variable
  • Fixed sitecustomize.py to handle missing dependencies during build and improved error handling

I changed pip install strategy from --no-binary :all: --only-binary pip,setuptools,wheel to --no-binary opentimelineio,numpy,PyOpenGL-accelerate,cryptography,pydantic,cffi.

Note: cffi was added because of Windows and the debug build.

Previously:
Forced all packages (except pip/setuptools/wheel) to build from source, including build tools (Cython, meson-python, ninja), pure Python packages (certifi, six, packaging, requests), and packages with native extensions

Now:
Only packages with C/C++/Rust extensions that need to link against our custom Python build are compiled from source. All other packages (build tools, pure Python libraries) use pre-built binary wheels

Rationale:
Build tools like Cython don't need to match our Python's ABI. They're just tools used during compilation. Pre-built wheels work fine and install much faster. Only runtime dependencies with native code that links to Python (like numpy's C extensions or cryptography's Rust/C code) need to be built against our specific Python build

Describe the reason for the change.

It was not clear why some package were installed in the requirements.txt, or in make_python.py or at both places.
I think it will be more robust like this and more clear.

Describe what you have tested and on which operating system.

MacOS + CI

Add a list of changes, and note any that might need special attention during the review.

If possible, provide screenshots.

rogernelson and others added 16 commits December 10, 2025 16:02
Signed-off-by: Roger Nelson <roger.nelson@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
…ython outside of make_python.py

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
cedrik-fuoco-adsk and others added 5 commits December 18, 2025 12:36
Signed-off-by: Cédrik Fuoco <105517825+cedrik-fuoco-adsk@users.noreply.github.com>
…ecause certifi was moved outside of make_python.py

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
…cakges like cpython, meson, ninja, etc from source

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
@cedrik-fuoco-adsk cedrik-fuoco-adsk changed the title WIP - Draft - Move out python packages installations from make_python and make_pyside6 Move out python packages installations from make_python and make_pyside6 Dec 19, 2025
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Copy link
Contributor

@bernie-laberge bernie-laberge left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM
Thank you @cedrik-fuoco-adsk !

Copy link
Contributor

@rogernelson rogernelson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great cleanup, I really only have one somewhat minor suggestion around the binary component package building,

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
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.

4 participants