Skip to content

Commit fe10872

Browse files
Adjust docs
1 parent 834c335 commit fe10872

File tree

1 file changed

+13
-18
lines changed

1 file changed

+13
-18
lines changed

docs/tutorials/quickstart.md

+13-18
Original file line numberDiff line numberDiff line change
@@ -71,30 +71,25 @@ with OpenTimelineIO due to spaces in the path.
7171
7272
The Python package is a mix of pure python and C++ code. Therefore, it is
7373
recommended to use the python tooling (`python -m pip`) to develop both
74-
the C++ binding and the pure python code. We use `setuptools` as our
75-
python build backend, which means `pip` will call the `setup.py` in the root
76-
of the directory to build both the pure python and the C++ bindings.
77-
`setuptools` will take care of all the complexity of building a C++ Python
78-
extension for you.
79-
80-
The first time `setup.py` is run, cmake scripts will be created, and the headers
81-
and libraries will be installed where you specify. If the C++ or Python sources
82-
are subsequently modified, running this command again will build and update everything
83-
appropriately.
84-
85-
**Note** Any CMake arguments can be passed through `pip` by using the `CMAKE_ARGS`
74+
the C++ binding and the pure python code. We use [scikit-build-core](https://scikit-build-core.readthedocs.io/)
75+
as our python build backend, which means `pip` or [build](https://pypi.org/project/build/)
76+
must be used to build the python package. `scikit-build-core` will take care
77+
of automatically installing the required dependencies (cmake, ninja, etc).
78+
79+
By default, `scikit-build-core` will build the project in a temporary directory and will
80+
not use caching. This can be changed by setting [`build-dir` in `pyproject.toml`](https://scikit-build-core.readthedocs.io/en/stable/configuration.html#other-options). Alternatively, you can also set `build-dir` via a command line
81+
argument: `pip install --config-settings=build-dir=<path> .` or
82+
`python -m build --config-settings=build-dir=<path> --wheel .`.
83+
84+
**Note** Any CMake arguments can be passed to `cmake` by using the `CMAKE_ARGS`
8685
environment variable when building from source. *nix Example:
8786
8887
```bash
8988
env CMAKE_ARGS="-DCMAKE_VAR=VALUE1 -DCMAKE_VAR_2=VALUE2" python -m pip install .
9089
```
9190
92-
`python -m pip install .` adds some overhead that might be annoying or unwanted when
93-
developing the python bindings. For that reason (and only that reason), if you want a faster
94-
iteration process, you can use `setuptools` commands. For example you can use
95-
`python setup.py build_ext` to only run the compilation step. Be aware that calling `setup.py`
96-
directly is highly discouraged and should only be used when no of the other options
97-
are viable. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html.
91+
Additionally, `scikit-build-core` supports [editable installs](https://scikit-build-core.readthedocs.io/en/stable/configuration.html#editable-installs).
92+
You can use this to speed up your development.
9893
9994
To compile your own C++ file referencing the OTIO headers from your C++ build using gcc or clang, add the following -I flags:
10095

0 commit comments

Comments
 (0)