Skip to content

Commit 53200b9

Browse files
committed
Added notes about versioning OpenTimelineIO-Plugins
Signed-off-by: Eric Reinecke <ereinecke@netflix.com>
1 parent 0d04b04 commit 53200b9

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

CONTRIBUTING.md

+16
Original file line numberDiff line numberDiff line change
@@ -91,3 +91,19 @@ git push origin mybugfix
9191
Now your remote branch will have your `mybugfix` branch, which you can now pull request (to OpenTimelineIO's `main` branch) using the github UI.
9292

9393
Please make sure that your pull requests are clean. In other words, address only the issue at hand. Split minor corrections, formatting clean ups, and the like into other PRs. Ensure that new work has coverage in a test. Ensure that any resultant behavioral changes in other parts of the library are called out. Use the rebase and squash git facilities as needed to ensure that the pull request does not contain non-informative remnants of old or superseded work.
94+
95+
## OpenTimelineIO-Plugins Versioning Strategy
96+
97+
OpenTimelineIO provides two PyPI packages:
98+
99+
- `opentimelineio` - the core library and builtin file format support
100+
- `opentimelineio-plugins` - additional "batteries included" adapters
101+
102+
In short, the rules are:
103+
104+
- `OpenTimelineIO-Plugins` pins to the same `OpenTimelineIO` PyPI version using the `==` constraint - in other words the `OpenTimelineIO-Plugins` version is in lock-step with `OpenTimelineIO`.
105+
- Each adapter specifies a version constraint against the `OpenTimelineIO` version based on that adapter's requirements.
106+
- The `OpenTimelineIO-Plugins` project depends on a set of adapters in a floating way, which lets the adapter repos individually deal with their dependency on the core.
107+
- `OpenTimelineIO-Plugins` is versioned only when plugins are added, removed, or the pinned version of `OpenTimelineIO` is updated.
108+
109+
Keeping `OpenTimelineIO-Plugins` versioning lock-step with `OpenTimelineIO` ensures that version constraints on `OpenTimelineIO-Plugins` will yield the same result as version constraints on `OpenTimelineIO`. For example, installing `OpenTimelineIO-plugins==0.17.0` will guarantee that `OpenTimelineIO` 0.17.0 is installed. Individual adapter version can then be pinned by end-users and adapter developers can specify what version of their adapters work best with a given version of `OpenTimelineIO`.

0 commit comments

Comments
 (0)