diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml index 335f5b9..cd98ab0 100644 --- a/.github/workflows/python-tests.yml +++ b/.github/workflows/python-tests.yml @@ -20,7 +20,7 @@ jobs: strategy: matrix: os: [ubuntu-latest, windows-latest, macos-latest] - python-version: ['3.9', '3.10', '3.11', '3.12', '3.13'] + python-version: ['3.9', '3.10', '3.11', '3.12', '3.13', '3.14'] runs-on: ${{ matrix.os }} steps: - name: Check out repository diff --git a/pyproject.toml b/pyproject.toml index d41a8be..e7eb66d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "pymkv2" -version = "2.1.1" +version = "2.1.2" description = "A Python wrapper for mkvmerge. It provides support for muxing, splitting, linking, chapters, tags, and attachments through the use of mkvmerge." authors = [ {name = "GitBib", email = "job@bnff.website"}, @@ -35,14 +35,14 @@ dependencies = [ [dependency-groups] dev = [ "pre-commit<5.0.0,>=4.0.1", - "Sphinx<9.0.0,>=8.1.3; python_version >= \"3.10\"", + "Sphinx<9.0.0,>=8.1.3; python_version == \"3.13\"", "pytest<9.0.0,>=8.3.4", "pytest-cov>=6.0.0,<8.0.0", "pytest-ruff<1.0.0,>=0.4.1", "pytest-mypy>=0.10.3,<2.0.0", "mypy<2.0.0,>=1.14.1", "ruff<1.0.0,>=0.9.0", - "sphinx-immaterial<0.14.0,>=0.12.4; python_version >= \"3.10\"", + "sphinx-immaterial<0.14.0,>=0.12.4; python_version == \"3.13\"", "pyinstrument>=5.1.1", ] diff --git a/uv.lock b/uv.lock index c99b4f8..5f63990 100644 --- a/uv.lock +++ b/uv.lock @@ -2,7 +2,8 @@ version = 1 revision = 3 requires-python = ">=3.9, <4.0" resolution-markers = [ - "python_full_version >= '3.11'", + "python_full_version == '3.13.*'", + "python_full_version >= '3.14' or (python_full_version >= '3.11' and python_full_version < '3.13')", "python_full_version == '3.10.*'", "python_full_version < '3.10'", ] @@ -320,7 +321,7 @@ name = "jinja2" version = "3.1.6" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "markupsafe", marker = "python_full_version >= '3.10'" }, + { name = "markupsafe", marker = "python_full_version == '3.13.*'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } wheels = [ @@ -505,10 +506,10 @@ name = "pydantic" version = "2.11.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "annotated-types", marker = "python_full_version >= '3.10'" }, - { name = "pydantic-core", marker = "python_full_version >= '3.10'" }, - { name = "typing-extensions", marker = "python_full_version >= '3.10'" }, - { name = "typing-inspection", marker = "python_full_version >= '3.10'" }, + { name = "annotated-types", marker = "python_full_version == '3.13.*'" }, + { name = "pydantic-core", marker = "python_full_version == '3.13.*'" }, + { name = "typing-extensions", marker = "python_full_version == '3.13.*'" }, + { name = "typing-inspection", marker = "python_full_version == '3.13.*'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/82/2a/4ba34614269b1e12a28b9fe54710983f5c3679f945797e86250c6269263f/pydantic-2.11.0.tar.gz", hash = "sha256:d6a287cd6037dee72f0597229256dfa246c4d61567a250e99f86b7b4626e2f41", size = 782184, upload-time = "2025-03-27T18:00:54.141Z" } wheels = [ @@ -520,7 +521,7 @@ name = "pydantic-core" version = "2.33.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "typing-extensions", marker = "python_full_version >= '3.10'" }, + { name = "typing-extensions", marker = "python_full_version == '3.13.*'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/b9/05/91ce14dfd5a3a99555fce436318cc0fd1f08c4daa32b3248ad63669ea8b4/pydantic_core-2.33.0.tar.gz", hash = "sha256:40eb8af662ba409c3cbf4a8150ad32ae73514cd7cb1f1a2113af39763dd616b3", size = 434080, upload-time = "2025-03-26T20:30:05.906Z" } wheels = [ @@ -629,8 +630,8 @@ name = "pydantic-extra-types" version = "2.10.3" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "pydantic", marker = "python_full_version >= '3.10'" }, - { name = "typing-extensions", marker = "python_full_version >= '3.10'" }, + { name = "pydantic", marker = "python_full_version == '3.13.*'" }, + { name = "typing-extensions", marker = "python_full_version == '3.13.*'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/53/fa/6b268a47839f8af46ffeb5bb6aee7bded44fbad54e6bf826c11f17aef91a/pydantic_extra_types-2.10.3.tar.gz", hash = "sha256:dcc0a7b90ac9ef1b58876c9b8fdede17fbdde15420de9d571a9fccde2ae175bb", size = 95128, upload-time = "2025-03-11T13:00:42.473Z" } wheels = [ @@ -712,7 +713,7 @@ wheels = [ [[package]] name = "pymkv2" -version = "2.1.1" +version = "2.1.2" source = { editable = "." } dependencies = [ { name = "bcp47" }, @@ -730,9 +731,8 @@ dev = [ { name = "pytest-mypy" }, { name = "pytest-ruff" }, { name = "ruff" }, - { name = "sphinx", version = "8.1.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, - { name = "sphinx", version = "8.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, - { name = "sphinx-immaterial", marker = "python_full_version >= '3.10'" }, + { name = "sphinx", marker = "python_full_version == '3.13.*'" }, + { name = "sphinx-immaterial", marker = "python_full_version == '3.13.*'" }, ] [package.metadata] @@ -748,12 +748,12 @@ dev = [ { name = "pre-commit", specifier = ">=4.0.1,<5.0.0" }, { name = "pyinstrument", specifier = ">=5.1.1" }, { name = "pytest", specifier = ">=8.3.4,<9.0.0" }, - { name = "pytest-cov", specifier = ">=6.0.0,<7.0.0" }, + { name = "pytest-cov", specifier = ">=6.0.0,<8.0.0" }, { name = "pytest-mypy", specifier = ">=0.10.3,<2.0.0" }, { name = "pytest-ruff", specifier = ">=0.4.1,<1.0.0" }, { name = "ruff", specifier = ">=0.9.0,<1.0.0" }, - { name = "sphinx", marker = "python_full_version >= '3.10'", specifier = ">=8.1.3,<9.0.0" }, - { name = "sphinx-immaterial", marker = "python_full_version >= '3.10'", specifier = ">=0.12.4,<0.14.0" }, + { name = "sphinx", marker = "python_full_version == '3.13.*'", specifier = ">=8.1.3,<9.0.0" }, + { name = "sphinx-immaterial", marker = "python_full_version == '3.13.*'", specifier = ">=0.12.4,<0.14.0" }, ] [[package]] @@ -881,10 +881,10 @@ name = "requests" version = "2.32.3" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "certifi", marker = "python_full_version >= '3.10'" }, - { name = "charset-normalizer", marker = "python_full_version >= '3.10'" }, - { name = "idna", marker = "python_full_version >= '3.10'" }, - { name = "urllib3", marker = "python_full_version >= '3.10'" }, + { name = "certifi", marker = "python_full_version == '3.13.*'" }, + { name = "charset-normalizer", marker = "python_full_version == '3.13.*'" }, + { name = "idna", marker = "python_full_version == '3.13.*'" }, + { name = "urllib3", marker = "python_full_version == '3.13.*'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218, upload-time = "2024-05-29T15:37:49.536Z" } wheels = [ @@ -934,62 +934,28 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ed/dc/c02e01294f7265e63a7315fe086dd1df7dacb9f840a804da846b96d01b96/snowballstemmer-2.2.0-py2.py3-none-any.whl", hash = "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a", size = 93002, upload-time = "2021-11-16T18:38:34.792Z" }, ] -[[package]] -name = "sphinx" -version = "8.1.3" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version == '3.10.*'", -] -dependencies = [ - { name = "alabaster", marker = "python_full_version == '3.10.*'" }, - { name = "babel", marker = "python_full_version == '3.10.*'" }, - { name = "colorama", marker = "python_full_version == '3.10.*' and sys_platform == 'win32'" }, - { name = "docutils", marker = "python_full_version == '3.10.*'" }, - { name = "imagesize", marker = "python_full_version == '3.10.*'" }, - { name = "jinja2", marker = "python_full_version == '3.10.*'" }, - { name = "packaging", marker = "python_full_version == '3.10.*'" }, - { name = "pygments", marker = "python_full_version == '3.10.*'" }, - { name = "requests", marker = "python_full_version == '3.10.*'" }, - { name = "snowballstemmer", marker = "python_full_version == '3.10.*'" }, - { name = "sphinxcontrib-applehelp", marker = "python_full_version == '3.10.*'" }, - { name = "sphinxcontrib-devhelp", marker = "python_full_version == '3.10.*'" }, - { name = "sphinxcontrib-htmlhelp", marker = "python_full_version == '3.10.*'" }, - { name = "sphinxcontrib-jsmath", marker = "python_full_version == '3.10.*'" }, - { name = "sphinxcontrib-qthelp", marker = "python_full_version == '3.10.*'" }, - { name = "sphinxcontrib-serializinghtml", marker = "python_full_version == '3.10.*'" }, - { name = "tomli", marker = "python_full_version == '3.10.*'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/6f/6d/be0b61178fe2cdcb67e2a92fc9ebb488e3c51c4f74a36a7824c0adf23425/sphinx-8.1.3.tar.gz", hash = "sha256:43c1911eecb0d3e161ad78611bc905d1ad0e523e4ddc202a58a821773dc4c927", size = 8184611, upload-time = "2024-10-13T20:27:13.93Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/26/60/1ddff83a56d33aaf6f10ec8ce84b4c007d9368b21008876fceda7e7381ef/sphinx-8.1.3-py3-none-any.whl", hash = "sha256:09719015511837b76bf6e03e42eb7595ac8c2e41eeb9c29c5b755c6b677992a2", size = 3487125, upload-time = "2024-10-13T20:27:10.448Z" }, -] - [[package]] name = "sphinx" version = "8.2.3" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.11'", -] dependencies = [ - { name = "alabaster", marker = "python_full_version >= '3.11'" }, - { name = "babel", marker = "python_full_version >= '3.11'" }, - { name = "colorama", marker = "python_full_version >= '3.11' and sys_platform == 'win32'" }, - { name = "docutils", marker = "python_full_version >= '3.11'" }, - { name = "imagesize", marker = "python_full_version >= '3.11'" }, - { name = "jinja2", marker = "python_full_version >= '3.11'" }, - { name = "packaging", marker = "python_full_version >= '3.11'" }, - { name = "pygments", marker = "python_full_version >= '3.11'" }, - { name = "requests", marker = "python_full_version >= '3.11'" }, - { name = "roman-numerals-py", marker = "python_full_version >= '3.11'" }, - { name = "snowballstemmer", marker = "python_full_version >= '3.11'" }, - { name = "sphinxcontrib-applehelp", marker = "python_full_version >= '3.11'" }, - { name = "sphinxcontrib-devhelp", marker = "python_full_version >= '3.11'" }, - { name = "sphinxcontrib-htmlhelp", marker = "python_full_version >= '3.11'" }, - { name = "sphinxcontrib-jsmath", marker = "python_full_version >= '3.11'" }, - { name = "sphinxcontrib-qthelp", marker = "python_full_version >= '3.11'" }, - { name = "sphinxcontrib-serializinghtml", marker = "python_full_version >= '3.11'" }, + { name = "alabaster", marker = "python_full_version == '3.13.*'" }, + { name = "babel", marker = "python_full_version == '3.13.*'" }, + { name = "colorama", marker = "python_full_version == '3.13.*' and sys_platform == 'win32'" }, + { name = "docutils", marker = "python_full_version == '3.13.*'" }, + { name = "imagesize", marker = "python_full_version == '3.13.*'" }, + { name = "jinja2", marker = "python_full_version == '3.13.*'" }, + { name = "packaging", marker = "python_full_version == '3.13.*'" }, + { name = "pygments", marker = "python_full_version == '3.13.*'" }, + { name = "requests", marker = "python_full_version == '3.13.*'" }, + { name = "roman-numerals-py", marker = "python_full_version == '3.13.*'" }, + { name = "snowballstemmer", marker = "python_full_version == '3.13.*'" }, + { name = "sphinxcontrib-applehelp", marker = "python_full_version == '3.13.*'" }, + { name = "sphinxcontrib-devhelp", marker = "python_full_version == '3.13.*'" }, + { name = "sphinxcontrib-htmlhelp", marker = "python_full_version == '3.13.*'" }, + { name = "sphinxcontrib-jsmath", marker = "python_full_version == '3.13.*'" }, + { name = "sphinxcontrib-qthelp", marker = "python_full_version == '3.13.*'" }, + { name = "sphinxcontrib-serializinghtml", marker = "python_full_version == '3.13.*'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/38/ad/4360e50ed56cb483667b8e6dadf2d3fda62359593faabbe749a27c4eaca6/sphinx-8.2.3.tar.gz", hash = "sha256:398ad29dee7f63a75888314e9424d40f52ce5a6a87ae88e7071e80af296ec348", size = 8321876, upload-time = "2025-03-02T22:31:59.658Z" } wheels = [ @@ -1001,14 +967,13 @@ name = "sphinx-immaterial" version = "0.13.4" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "appdirs", marker = "python_full_version >= '3.10'" }, - { name = "markupsafe", marker = "python_full_version >= '3.10'" }, - { name = "pydantic", marker = "python_full_version >= '3.10'" }, - { name = "pydantic-extra-types", marker = "python_full_version >= '3.10'" }, - { name = "requests", marker = "python_full_version >= '3.10'" }, - { name = "sphinx", version = "8.1.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, - { name = "sphinx", version = "8.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, - { name = "typing-extensions", marker = "python_full_version >= '3.10'" }, + { name = "appdirs", marker = "python_full_version == '3.13.*'" }, + { name = "markupsafe", marker = "python_full_version == '3.13.*'" }, + { name = "pydantic", marker = "python_full_version == '3.13.*'" }, + { name = "pydantic-extra-types", marker = "python_full_version == '3.13.*'" }, + { name = "requests", marker = "python_full_version == '3.13.*'" }, + { name = "sphinx", marker = "python_full_version == '3.13.*'" }, + { name = "typing-extensions", marker = "python_full_version == '3.13.*'" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/d5/07/919333eed008de7dfdfb0c6526a1ba8a1ec9f2936649064673b356f13c8c/sphinx_immaterial-0.13.4-py3-none-any.whl", hash = "sha256:9655d968e7851ce3e03cf74be8c426e643659af2ac93105e7b0474a390b167e8", size = 11409386, upload-time = "2025-03-19T05:48:49.524Z" }, @@ -1121,7 +1086,7 @@ name = "typing-inspection" version = "0.4.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "typing-extensions", marker = "python_full_version >= '3.10'" }, + { name = "typing-extensions", marker = "python_full_version == '3.13.*'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/82/5c/e6082df02e215b846b4b8c0b887a64d7d08ffaba30605502639d44c06b82/typing_inspection-0.4.0.tar.gz", hash = "sha256:9765c87de36671694a67904bf2c96e395be9c6439bb6c87b5142569dcdd65122", size = 76222, upload-time = "2025-02-25T17:27:59.638Z" } wheels = [