Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
69 lines (64 loc) · 2.97 KB
/
Copy pathpyproject.toml
File metadata and controls
69 lines (64 loc) · 2.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
[project]
name = "proofcut"
version = "0.45.0"
description = "Source-available, local-first AI video editor and MCP server: recordings to a finished film, cut by transcript, then verified"
readme = "README.md"
license = "LicenseRef-PolyForm-Shield-1.0.0"
# The code is PolyForm Shield 1.0.0 (LICENSE): use it for anything except a
# product that competes with proofcut. It is source-available, not open source,
# and SPDX lists no identifier for it — only the Noncommercial and
# Small-Business PolyForm texts — so the expression is a LicenseRef, which is
# what PEP 639 provides for exactly this. HISTORY.md § The licence, chosen.
# The vendored typefaces are not covered by it and carry their own OFL-1.1
# texts beside them, which ship in the package because they sit inside it:
# src/proofcut/fonts/ (the caption face and the graphic pages' faces, FONTS.md) and src/proofcut/web/ (the three
# UI faces, web/FONTS.md).
license-files = ["LICENSE"]
authors = [
{ name = "tydude001", email = "tylergrose321@gmail.com" }
]
# Pinned below 3.14: OpenTimelineIO 0.18.1 ships cp39-cp313 wheels and no cp314.
# Every other dep already covers 3.14. Revisit when OTIO publishes cp314.
requires-python = ">=3.13,<3.14"
# The README's Python badge reads these, never `requires-python`; they move with it.
classifiers = [
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.13",
]
dependencies = [
"mcp>=2",
"opentimelineio>=0.18.1",
# `server.py` imports `pydantic.Field` directly, to hang a `description` on
# the `path` parameter of every tool. mcp already pulls pydantic in, but an
# import this package makes is a dependency this package declares.
"pydantic>=2",
]
[project.urls]
Homepage = "https://github.com/tydude001/proofcut"
Documentation = "https://github.com/tydude001/proofcut/blob/main/docs/MANUAL.md"
Issues = "https://github.com/tydude001/proofcut/issues"
[project.scripts]
proofcut = "proofcut.cli:main"
[dependency-groups]
dev = [
"pytest>=8",
"pytest-xdist>=3.8.0",
"ruff==0.16.0",
]
[tool.uv]
# cryptography (mcp → pyjwt[crypto]) ships no Intel Mac wheel from 49.0.0 on, so
# an Intel Mac's `uv sync` compiled it, which needs Rust and OpenSSL: a tester's
# Mac has neither (issue #5), and GitHub's Intel runner has both. 48.0.1 is the
# last universal2 wheel. HISTORY.md § An Intel Mac route, without Homebrew.
# It keeps Dependabot's GHSA-g6cj-pr64-35w5 open (fixed only in 50.0.0): that is
# PKCS#7 decryption, and pyjwt only signs, so the alert is dismissed, not fixed.
# GHSA-jwv3-5hgf-82ww (fixed in 49.0.0) is dismissed on the same grounds: it is
# X.509 path building (`x509.verification`), which nothing here calls, and so is
# GHSA-m2h6-j472-rp4c (fixed in 49.0.0, the same verifier). Still no Intel Mac
# wheel as of 50.0.1 (checked 2026-09-29).
constraint-dependencies = [
"cryptography<49; sys_platform == 'darwin' and platform_machine == 'x86_64'",
]
[build-system]
requires = ["uv_build>=0.11.26,<0.13.0"]
build-backend = "uv_build"