From 2c73149c9d7f7ca0ac63742992bd64e43a950e93 Mon Sep 17 00:00:00 2001 From: Giancarlos Isasi Date: Wed, 22 Jul 2026 22:53:49 -0500 Subject: [PATCH 1/9] chore: migrate to uv --- .gitignore | 3 +- .python-version | 1 + poetry.lock | 860 ------------------------------------------------ pyproject.toml | 73 ++-- uv.lock | 622 ++++++++++++++++++++++++++++++++++ 5 files changed, 670 insertions(+), 889 deletions(-) create mode 100644 .python-version delete mode 100644 poetry.lock create mode 100644 uv.lock diff --git a/.gitignore b/.gitignore index 3a91756..27bfe4f 100644 --- a/.gitignore +++ b/.gitignore @@ -72,8 +72,7 @@ target/ # Jupyter Notebook .ipynb_checkpoints -# pyenv -.python-version +# pyenv / uv — .python-version IS tracked: it pins the uv-managed interpreter (3.14) # celery beat schedule file celerybeat-schedule diff --git a/.python-version b/.python-version new file mode 100644 index 0000000..6324d40 --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +3.14 diff --git a/poetry.lock b/poetry.lock deleted file mode 100644 index ce42216..0000000 --- a/poetry.lock +++ /dev/null @@ -1,860 +0,0 @@ -[[package]] -category = "dev" -description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -name = "appdirs" -optional = false -python-versions = "*" -version = "1.4.3" - -[[package]] -category = "dev" -description = "An unobtrusive argparse wrapper with natural syntax" -name = "argh" -optional = false -python-versions = "*" -version = "0.26.2" - -[[package]] -category = "dev" -description = "An abstract syntax tree for Python with inference support." -name = "astroid" -optional = false -python-versions = ">=3.5.*" -version = "2.3.3" - -[package.dependencies] -lazy-object-proxy = ">=1.4.0,<1.5.0" -six = ">=1.12,<2.0" -wrapt = ">=1.11.0,<1.12.0" - -[package.dependencies.typed-ast] -python = "<3.8" -version = ">=1.4.0,<1.5" - -[[package]] -category = "dev" -description = "Atomic file writes." -marker = "sys_platform == \"win32\"" -name = "atomicwrites" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "1.3.0" - -[[package]] -category = "dev" -description = "Classes Without Boilerplate" -name = "attrs" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "19.3.0" - -[package.extras] -azure-pipelines = ["coverage", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface", "pytest-azurepipelines"] -dev = ["coverage", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface", "sphinx", "pre-commit"] -docs = ["sphinx", "zope.interface"] -tests = ["coverage", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface"] - -[[package]] -category = "dev" -description = "The uncompromising code formatter." -name = "black" -optional = false -python-versions = ">=3.6" -version = "19.10b0" - -[package.dependencies] -appdirs = "*" -attrs = ">=18.1.0" -click = ">=6.5" -pathspec = ">=0.6,<1" -regex = "*" -toml = ">=0.9.4" -typed-ast = ">=1.4.0" - -[package.extras] -d = ["aiohttp (>=3.3.2)", "aiohttp-cors"] - -[[package]] -category = "main" -description = "Composable command line interface toolkit" -name = "click" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "7.0" - -[[package]] -category = "main" -description = "Extends click.Group to invoke a command without explicit subcommand name" -name = "click-default-group" -optional = false -python-versions = "*" -version = "1.2.2" - -[package.dependencies] -click = "*" - -[[package]] -category = "dev" -description = "Cross-platform colored terminal text." -name = "colorama" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "0.4.3" - -[[package]] -category = "dev" -description = "Code coverage measurement for Python" -name = "coverage" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" -version = "5.0.3" - -[package.extras] -toml = ["toml"] - -[[package]] -category = "dev" -description = "Pythonic argument parser, that will make you smile" -name = "docopt" -optional = false -python-versions = "*" -version = "0.6.2" - -[[package]] -category = "dev" -description = "Discover and load entry points from installed packages." -name = "entrypoints" -optional = false -python-versions = ">=2.7" -version = "0.3" - -[[package]] -category = "dev" -description = "the modular source code checker: pep8, pyflakes and co" -name = "flake8" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "3.7.9" - -[package.dependencies] -entrypoints = ">=0.3.0,<0.4.0" -mccabe = ">=0.6.0,<0.7.0" -pycodestyle = ">=2.5.0,<2.6.0" -pyflakes = ">=2.1.0,<2.2.0" - -[[package]] -category = "dev" -description = "Read metadata from Python packages" -marker = "python_version < \"3.8\"" -name = "importlib-metadata" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" -version = "1.4.0" - -[package.dependencies] -zipp = ">=0.5" - -[package.extras] -docs = ["sphinx", "rst.linker"] -testing = ["packaging", "importlib-resources"] - -[[package]] -category = "dev" -description = "A Python utility / library to sort Python imports." -name = "isort" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "4.3.21" - -[package.extras] -pipfile = ["pipreqs", "requirementslib"] -pyproject = ["toml"] -requirements = ["pipreqs", "pip-api"] -xdg_home = ["appdirs (>=1.4.0)"] - -[[package]] -category = "dev" -description = "A very fast and expressive template engine." -name = "jinja2" -optional = false -python-versions = "*" -version = "2.10.3" - -[package.dependencies] -MarkupSafe = ">=0.23" - -[package.extras] -i18n = ["Babel (>=0.8)"] - -[[package]] -category = "dev" -description = "A fast and thorough lazy object proxy." -name = "lazy-object-proxy" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "1.4.3" - -[[package]] -category = "dev" -description = "Safely add untrusted strings to HTML/XML markup." -name = "markupsafe" -optional = false -python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*" -version = "1.1.1" - -[[package]] -category = "dev" -description = "McCabe checker, plugin for flake8" -name = "mccabe" -optional = false -python-versions = "*" -version = "0.6.1" - -[[package]] -category = "dev" -description = "More routines for operating on iterables, beyond itertools" -name = "more-itertools" -optional = false -python-versions = ">=3.5" -version = "8.1.0" - -[[package]] -category = "dev" -description = "Optional static typing for Python" -name = "mypy" -optional = false -python-versions = ">=3.5" -version = "0.761" - -[package.dependencies] -mypy-extensions = ">=0.4.3,<0.5.0" -typed-ast = ">=1.4.0,<1.5.0" -typing-extensions = ">=3.7.4" - -[package.extras] -dmypy = ["psutil (>=4.0)"] - -[[package]] -category = "dev" -description = "Experimental type system extensions for programs checked with the mypy typechecker." -name = "mypy-extensions" -optional = false -python-versions = "*" -version = "0.4.3" - -[[package]] -category = "dev" -description = "Core utilities for Python packages" -name = "packaging" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "20.0" - -[package.dependencies] -pyparsing = ">=2.0.2" -six = "*" - -[[package]] -category = "dev" -description = "Utility library for gitignore style pattern matching of file paths." -name = "pathspec" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "0.7.0" - -[[package]] -category = "dev" -description = "File system general utilities" -name = "pathtools" -optional = false -python-versions = "*" -version = "0.1.2" - -[[package]] -category = "dev" -description = "plugin and hook calling mechanisms for python" -name = "pluggy" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "0.13.1" - -[package.dependencies] -[package.dependencies.importlib-metadata] -python = "<3.8" -version = ">=0.12" - -[package.extras] -dev = ["pre-commit", "tox"] - -[[package]] -category = "dev" -description = "library with cross-python path, ini-parsing, io, code, log facilities" -name = "py" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "1.8.1" - -[[package]] -category = "dev" -description = "Python style guide checker" -name = "pycodestyle" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "2.5.0" - -[[package]] -category = "main" -description = "Data validation and settings management using python 3.6 type hinting" -name = "pydantic" -optional = false -python-versions = ">=3.6" -version = "1.4" - -[package.extras] -dotenv = ["python-dotenv (>=0.10.4)"] -email = ["email-validator (>=1.0.3)"] -typing_extensions = ["typing-extensions (>=3.7.2)"] - -[[package]] -category = "dev" -description = "pyfakefs implements a fake file system that mocks the Python file system modules." -name = "pyfakefs" -optional = false -python-versions = "*" -version = "3.7.1" - -[[package]] -category = "dev" -description = "passive checker of Python programs" -name = "pyflakes" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "2.1.1" - -[[package]] -category = "dev" -description = "python code static checker" -name = "pylint" -optional = false -python-versions = ">=3.5.*" -version = "2.4.4" - -[package.dependencies] -astroid = ">=2.3.0,<2.4" -colorama = "*" -isort = ">=4.2.5,<5" -mccabe = ">=0.6,<0.7" - -[[package]] -category = "dev" -description = "Python parsing module" -name = "pyparsing" -optional = false -python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" -version = "2.4.6" - -[[package]] -category = "dev" -description = "pytest: simple powerful testing with Python" -name = "pytest" -optional = false -python-versions = ">=3.5" -version = "5.3.2" - -[package.dependencies] -atomicwrites = ">=1.0" -attrs = ">=17.4.0" -colorama = "*" -more-itertools = ">=4.0.0" -packaging = "*" -pluggy = ">=0.12,<1.0" -py = ">=1.5.0" -wcwidth = "*" - -[package.dependencies.importlib-metadata] -python = "<3.8" -version = ">=0.12" - -[package.extras] -testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"] - -[[package]] -category = "dev" -description = "Pytest plugin for measuring coverage." -name = "pytest-cov" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "2.8.1" - -[package.dependencies] -coverage = ">=4.4" -pytest = ">=3.6" - -[package.extras] -testing = ["fields", "hunter", "process-tests (2.0.2)", "six", "virtualenv"] - -[[package]] -category = "dev" -description = "Local continuous test runner with pytest and watchdog." -name = "pytest-watch" -optional = false -python-versions = "*" -version = "4.2.0" - -[package.dependencies] -colorama = ">=0.3.3" -docopt = ">=0.4.0" -pytest = ">=2.6.4" -watchdog = ">=0.6.0" - -[[package]] -category = "dev" -description = "YAML parser and emitter for Python" -name = "pyyaml" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "5.3" - -[[package]] -category = "dev" -description = "Alternative regular expression module, to replace re." -name = "regex" -optional = false -python-versions = "*" -version = "2020.1.8" - -[[package]] -category = "dev" -description = "Python 2 and 3 compatibility utilities" -name = "six" -optional = false -python-versions = ">=2.6, !=3.0.*, !=3.1.*" -version = "1.13.0" - -[[package]] -category = "dev" -description = "String case converter." -name = "stringcase" -optional = false -python-versions = "*" -version = "1.2.0" - -[[package]] -category = "dev" -description = "A collection of helpers and mock objects for unit tests and doc tests." -name = "testfixtures" -optional = false -python-versions = "*" -version = "6.12.0" - -[package.extras] -build = ["setuptools-git", "wheel", "twine"] -docs = ["sphinx"] -test = ["pytest (>=3.6)", "pytest-cov", "pytest-django", "sybil", "zope.component", "twisted", "mock", "django (<2)", "django"] - -[[package]] -category = "dev" -description = "Python Library for Tom's Obvious, Minimal Language" -name = "toml" -optional = false -python-versions = "*" -version = "0.10.0" - -[[package]] -category = "dev" -description = "a fork of Python 2 and 3 ast modules with type comment support" -name = "typed-ast" -optional = false -python-versions = "*" -version = "1.4.1" - -[[package]] -category = "dev" -description = "Backported and Experimental Type Hints for Python 3.5+" -name = "typing-extensions" -optional = false -python-versions = "*" -version = "3.7.4.1" - -[[package]] -category = "dev" -description = "Filesystem events monitoring" -name = "watchdog" -optional = false -python-versions = "*" -version = "0.9.0" - -[package.dependencies] -PyYAML = ">=3.10" -argh = ">=0.24.1" -pathtools = ">=0.1.1" - -[[package]] -category = "dev" -description = "Measures number of Terminal column cells of wide-character codes" -name = "wcwidth" -optional = false -python-versions = "*" -version = "0.1.8" - -[[package]] -category = "dev" -description = "Module for decorators, wrappers and monkey patching." -name = "wrapt" -optional = false -python-versions = "*" -version = "1.11.2" - -[[package]] -category = "dev" -description = "Backport of pathlib-compatible object wrapper for zip files" -marker = "python_version < \"3.8\"" -name = "zipp" -optional = false -python-versions = ">=2.7" -version = "1.0.0" - -[package.dependencies] -more-itertools = "*" - -[package.extras] -docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"] -testing = ["pathlib2", "contextlib2", "unittest2"] - -[metadata] -content-hash = "d71f81ab200539a0371f26fc22888c09bf803701a22b9a2b85f860f204975c24" -python-versions = "^3.7" - -[metadata.files] -appdirs = [ - {file = "appdirs-1.4.3-py2.py3-none-any.whl", hash = "sha256:d8b24664561d0d34ddfaec54636d502d7cea6e29c3eaf68f3df6180863e2166e"}, - {file = "appdirs-1.4.3.tar.gz", hash = "sha256:9e5896d1372858f8dd3344faf4e5014d21849c756c8d5701f78f8a103b372d92"}, -] -argh = [ - {file = "argh-0.26.2-py2.py3-none-any.whl", hash = "sha256:a9b3aaa1904eeb78e32394cd46c6f37ac0fb4af6dc488daa58971bdc7d7fcaf3"}, - {file = "argh-0.26.2.tar.gz", hash = "sha256:e9535b8c84dc9571a48999094fda7f33e63c3f1b74f3e5f3ac0105a58405bb65"}, -] -astroid = [ - {file = "astroid-2.3.3-py3-none-any.whl", hash = "sha256:840947ebfa8b58f318d42301cf8c0a20fd794a33b61cc4638e28e9e61ba32f42"}, - {file = "astroid-2.3.3.tar.gz", hash = "sha256:71ea07f44df9568a75d0f354c49143a4575d90645e9fead6dfb52c26a85ed13a"}, -] -atomicwrites = [ - {file = "atomicwrites-1.3.0-py2.py3-none-any.whl", hash = "sha256:03472c30eb2c5d1ba9227e4c2ca66ab8287fbfbbda3888aa93dc2e28fc6811b4"}, - {file = "atomicwrites-1.3.0.tar.gz", hash = "sha256:75a9445bac02d8d058d5e1fe689654ba5a6556a1dfd8ce6ec55a0ed79866cfa6"}, -] -attrs = [ - {file = "attrs-19.3.0-py2.py3-none-any.whl", hash = "sha256:08a96c641c3a74e44eb59afb61a24f2cb9f4d7188748e76ba4bb5edfa3cb7d1c"}, - {file = "attrs-19.3.0.tar.gz", hash = "sha256:f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72"}, -] -black = [ - {file = "black-19.10b0-py36-none-any.whl", hash = "sha256:1b30e59be925fafc1ee4565e5e08abef6b03fe455102883820fe5ee2e4734e0b"}, - {file = "black-19.10b0.tar.gz", hash = "sha256:c2edb73a08e9e0e6f65a0e6af18b059b8b1cdd5bef997d7a0b181df93dc81539"}, -] -click = [ - {file = "Click-7.0-py2.py3-none-any.whl", hash = "sha256:2335065e6395b9e67ca716de5f7526736bfa6ceead690adf616d925bdc622b13"}, - {file = "Click-7.0.tar.gz", hash = "sha256:5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7"}, -] -click-default-group = [ - {file = "click-default-group-1.2.2.tar.gz", hash = "sha256:d9560e8e8dfa44b3562fbc9425042a0fd6d21956fcc2db0077f63f34253ab904"}, -] -colorama = [ - {file = "colorama-0.4.3-py2.py3-none-any.whl", hash = "sha256:7d73d2a99753107a36ac6b455ee49046802e59d9d076ef8e47b61499fa29afff"}, - {file = "colorama-0.4.3.tar.gz", hash = "sha256:e96da0d330793e2cb9485e9ddfd918d456036c7149416295932478192f4436a1"}, -] -coverage = [ - {file = "coverage-5.0.3-cp27-cp27m-macosx_10_12_x86_64.whl", hash = "sha256:cc1109f54a14d940b8512ee9f1c3975c181bbb200306c6d8b87d93376538782f"}, - {file = "coverage-5.0.3-cp27-cp27m-macosx_10_13_intel.whl", hash = "sha256:be18f4ae5a9e46edae3f329de2191747966a34a3d93046dbdf897319923923bc"}, - {file = "coverage-5.0.3-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:3230d1003eec018ad4a472d254991e34241e0bbd513e97a29727c7c2f637bd2a"}, - {file = "coverage-5.0.3-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:e69215621707119c6baf99bda014a45b999d37602cb7043d943c76a59b05bf52"}, - {file = "coverage-5.0.3-cp27-cp27m-win32.whl", hash = "sha256:1daa3eceed220f9fdb80d5ff950dd95112cd27f70d004c7918ca6dfc6c47054c"}, - {file = "coverage-5.0.3-cp27-cp27m-win_amd64.whl", hash = "sha256:51bc7710b13a2ae0c726f69756cf7ffd4362f4ac36546e243136187cfcc8aa73"}, - {file = "coverage-5.0.3-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:9bea19ac2f08672636350f203db89382121c9c2ade85d945953ef3c8cf9d2a68"}, - {file = "coverage-5.0.3-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:5012d3b8d5a500834783689a5d2292fe06ec75dc86ee1ccdad04b6f5bf231691"}, - {file = "coverage-5.0.3-cp35-cp35m-macosx_10_12_x86_64.whl", hash = "sha256:d513cc3db248e566e07a0da99c230aca3556d9b09ed02f420664e2da97eac301"}, - {file = "coverage-5.0.3-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:3dbb72eaeea5763676a1a1efd9b427a048c97c39ed92e13336e726117d0b72bf"}, - {file = "coverage-5.0.3-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:15cf13a6896048d6d947bf7d222f36e4809ab926894beb748fc9caa14605d9c3"}, - {file = "coverage-5.0.3-cp35-cp35m-win32.whl", hash = "sha256:fca1669d464f0c9831fd10be2eef6b86f5ebd76c724d1e0706ebdff86bb4adf0"}, - {file = "coverage-5.0.3-cp35-cp35m-win_amd64.whl", hash = "sha256:1e44a022500d944d42f94df76727ba3fc0a5c0b672c358b61067abb88caee7a0"}, - {file = "coverage-5.0.3-cp36-cp36m-macosx_10_13_x86_64.whl", hash = "sha256:b26aaf69713e5674efbde4d728fb7124e429c9466aeaf5f4a7e9e699b12c9fe2"}, - {file = "coverage-5.0.3-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:722e4557c8039aad9592c6a4213db75da08c2cd9945320220634f637251c3894"}, - {file = "coverage-5.0.3-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:7afad9835e7a651d3551eab18cbc0fdb888f0a6136169fbef0662d9cdc9987cf"}, - {file = "coverage-5.0.3-cp36-cp36m-win32.whl", hash = "sha256:25dbf1110d70bab68a74b4b9d74f30e99b177cde3388e07cc7272f2168bd1477"}, - {file = "coverage-5.0.3-cp36-cp36m-win_amd64.whl", hash = "sha256:c312e57847db2526bc92b9bfa78266bfbaabac3fdcd751df4d062cd4c23e46dc"}, - {file = "coverage-5.0.3-cp37-cp37m-macosx_10_13_x86_64.whl", hash = "sha256:a8b8ac7876bc3598e43e2603f772d2353d9931709345ad6c1149009fd1bc81b8"}, - {file = "coverage-5.0.3-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:527b4f316e6bf7755082a783726da20671a0cc388b786a64417780b90565b987"}, - {file = "coverage-5.0.3-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:d649dc0bcace6fcdb446ae02b98798a856593b19b637c1b9af8edadf2b150bea"}, - {file = "coverage-5.0.3-cp37-cp37m-win32.whl", hash = "sha256:cd60f507c125ac0ad83f05803063bed27e50fa903b9c2cfee3f8a6867ca600fc"}, - {file = "coverage-5.0.3-cp37-cp37m-win_amd64.whl", hash = "sha256:c60097190fe9dc2b329a0eb03393e2e0829156a589bd732e70794c0dd804258e"}, - {file = "coverage-5.0.3-cp38-cp38-macosx_10_13_x86_64.whl", hash = "sha256:d7008a6796095a79544f4da1ee49418901961c97ca9e9d44904205ff7d6aa8cb"}, - {file = "coverage-5.0.3-cp38-cp38-manylinux1_i686.whl", hash = "sha256:ea9525e0fef2de9208250d6c5aeeee0138921057cd67fcef90fbed49c4d62d37"}, - {file = "coverage-5.0.3-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:c62a2143e1313944bf4a5ab34fd3b4be15367a02e9478b0ce800cb510e3bbb9d"}, - {file = "coverage-5.0.3-cp38-cp38m-win32.whl", hash = "sha256:b0840b45187699affd4c6588286d429cd79a99d509fe3de0f209594669bb0954"}, - {file = "coverage-5.0.3-cp38-cp38m-win_amd64.whl", hash = "sha256:76e2057e8ffba5472fd28a3a010431fd9e928885ff480cb278877c6e9943cc2e"}, - {file = "coverage-5.0.3-cp39-cp39m-win32.whl", hash = "sha256:b63dd43f455ba878e5e9f80ba4f748c0a2156dde6e0e6e690310e24d6e8caf40"}, - {file = "coverage-5.0.3-cp39-cp39m-win_amd64.whl", hash = "sha256:da93027835164b8223e8e5af2cf902a4c80ed93cb0909417234f4a9df3bcd9af"}, - {file = "coverage-5.0.3.tar.gz", hash = "sha256:77afca04240c40450c331fa796b3eab6f1e15c5ecf8bf2b8bee9706cd5452fef"}, -] -docopt = [ - {file = "docopt-0.6.2.tar.gz", hash = "sha256:49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491"}, -] -entrypoints = [ - {file = "entrypoints-0.3-py2.py3-none-any.whl", hash = "sha256:589f874b313739ad35be6e0cd7efde2a4e9b6fea91edcc34e58ecbb8dbe56d19"}, - {file = "entrypoints-0.3.tar.gz", hash = "sha256:c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451"}, -] -flake8 = [ - {file = "flake8-3.7.9-py2.py3-none-any.whl", hash = "sha256:49356e766643ad15072a789a20915d3c91dc89fd313ccd71802303fd67e4deca"}, - {file = "flake8-3.7.9.tar.gz", hash = "sha256:45681a117ecc81e870cbf1262835ae4af5e7a8b08e40b944a8a6e6b895914cfb"}, -] -importlib-metadata = [ - {file = "importlib_metadata-1.4.0-py2.py3-none-any.whl", hash = "sha256:bdd9b7c397c273bcc9a11d6629a38487cd07154fa255a467bf704cd2c258e359"}, - {file = "importlib_metadata-1.4.0.tar.gz", hash = "sha256:f17c015735e1a88296994c0697ecea7e11db24290941983b08c9feb30921e6d8"}, -] -isort = [ - {file = "isort-4.3.21-py2.py3-none-any.whl", hash = "sha256:6e811fcb295968434526407adb8796944f1988c5b65e8139058f2014cbe100fd"}, - {file = "isort-4.3.21.tar.gz", hash = "sha256:54da7e92468955c4fceacd0c86bd0ec997b0e1ee80d97f67c35a78b719dccab1"}, -] -jinja2 = [ - {file = "Jinja2-2.10.3-py2.py3-none-any.whl", hash = "sha256:74320bb91f31270f9551d46522e33af46a80c3d619f4a4bf42b3164d30b5911f"}, - {file = "Jinja2-2.10.3.tar.gz", hash = "sha256:9fe95f19286cfefaa917656583d020be14e7859c6b0252588391e47db34527de"}, -] -lazy-object-proxy = [ - {file = "lazy-object-proxy-1.4.3.tar.gz", hash = "sha256:f3900e8a5de27447acbf900b4750b0ddfd7ec1ea7fbaf11dfa911141bc522af0"}, - {file = "lazy_object_proxy-1.4.3-cp27-cp27m-macosx_10_13_x86_64.whl", hash = "sha256:a2238e9d1bb71a56cd710611a1614d1194dc10a175c1e08d75e1a7bcc250d442"}, - {file = "lazy_object_proxy-1.4.3-cp27-cp27m-win32.whl", hash = "sha256:efa1909120ce98bbb3777e8b6f92237f5d5c8ea6758efea36a473e1d38f7d3e4"}, - {file = "lazy_object_proxy-1.4.3-cp27-cp27m-win_amd64.whl", hash = "sha256:4677f594e474c91da97f489fea5b7daa17b5517190899cf213697e48d3902f5a"}, - {file = "lazy_object_proxy-1.4.3-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:0c4b206227a8097f05c4dbdd323c50edf81f15db3b8dc064d08c62d37e1a504d"}, - {file = "lazy_object_proxy-1.4.3-cp34-cp34m-manylinux1_x86_64.whl", hash = "sha256:d945239a5639b3ff35b70a88c5f2f491913eb94871780ebfabb2568bd58afc5a"}, - {file = "lazy_object_proxy-1.4.3-cp34-cp34m-win32.whl", hash = "sha256:9651375199045a358eb6741df3e02a651e0330be090b3bc79f6d0de31a80ec3e"}, - {file = "lazy_object_proxy-1.4.3-cp34-cp34m-win_amd64.whl", hash = "sha256:eba7011090323c1dadf18b3b689845fd96a61ba0a1dfbd7f24b921398affc357"}, - {file = "lazy_object_proxy-1.4.3-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:48dab84ebd4831077b150572aec802f303117c8cc5c871e182447281ebf3ac50"}, - {file = "lazy_object_proxy-1.4.3-cp35-cp35m-win32.whl", hash = "sha256:ca0a928a3ddbc5725be2dd1cf895ec0a254798915fb3a36af0964a0a4149e3db"}, - {file = "lazy_object_proxy-1.4.3-cp35-cp35m-win_amd64.whl", hash = "sha256:194d092e6f246b906e8f70884e620e459fc54db3259e60cf69a4d66c3fda3449"}, - {file = "lazy_object_proxy-1.4.3-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:97bb5884f6f1cdce0099f86b907aa41c970c3c672ac8b9c8352789e103cf3156"}, - {file = "lazy_object_proxy-1.4.3-cp36-cp36m-win32.whl", hash = "sha256:cb2c7c57005a6804ab66f106ceb8482da55f5314b7fcb06551db1edae4ad1531"}, - {file = "lazy_object_proxy-1.4.3-cp36-cp36m-win_amd64.whl", hash = "sha256:8d859b89baf8ef7f8bc6b00aa20316483d67f0b1cbf422f5b4dc56701c8f2ffb"}, - {file = "lazy_object_proxy-1.4.3-cp37-cp37m-macosx_10_13_x86_64.whl", hash = "sha256:1be7e4c9f96948003609aa6c974ae59830a6baecc5376c25c92d7d697e684c08"}, - {file = "lazy_object_proxy-1.4.3-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:d74bb8693bf9cf75ac3b47a54d716bbb1a92648d5f781fc799347cfc95952383"}, - {file = "lazy_object_proxy-1.4.3-cp37-cp37m-win32.whl", hash = "sha256:9b15f3f4c0f35727d3a0fba4b770b3c4ebbb1fa907dbcc046a1d2799f3edd142"}, - {file = "lazy_object_proxy-1.4.3-cp37-cp37m-win_amd64.whl", hash = "sha256:9254f4358b9b541e3441b007a0ea0764b9d056afdeafc1a5569eee1cc6c1b9ea"}, - {file = "lazy_object_proxy-1.4.3-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:a6ae12d08c0bf9909ce12385803a543bfe99b95fe01e752536a60af2b7797c62"}, - {file = "lazy_object_proxy-1.4.3-cp38-cp38-win32.whl", hash = "sha256:5541cada25cd173702dbd99f8e22434105456314462326f06dba3e180f203dfd"}, - {file = "lazy_object_proxy-1.4.3-cp38-cp38-win_amd64.whl", hash = "sha256:59f79fef100b09564bc2df42ea2d8d21a64fdcda64979c0fa3db7bdaabaf6239"}, -] -markupsafe = [ - {file = "MarkupSafe-1.1.1-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161"}, - {file = "MarkupSafe-1.1.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7"}, - {file = "MarkupSafe-1.1.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183"}, - {file = "MarkupSafe-1.1.1-cp27-cp27m-win32.whl", hash = "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b"}, - {file = "MarkupSafe-1.1.1-cp27-cp27m-win_amd64.whl", hash = "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e"}, - {file = "MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f"}, - {file = "MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1"}, - {file = "MarkupSafe-1.1.1-cp34-cp34m-macosx_10_6_intel.whl", hash = "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5"}, - {file = "MarkupSafe-1.1.1-cp34-cp34m-manylinux1_i686.whl", hash = "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1"}, - {file = "MarkupSafe-1.1.1-cp34-cp34m-manylinux1_x86_64.whl", hash = "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735"}, - {file = "MarkupSafe-1.1.1-cp34-cp34m-win32.whl", hash = "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21"}, - {file = "MarkupSafe-1.1.1-cp34-cp34m-win_amd64.whl", hash = "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235"}, - {file = "MarkupSafe-1.1.1-cp35-cp35m-macosx_10_6_intel.whl", hash = "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b"}, - {file = "MarkupSafe-1.1.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f"}, - {file = "MarkupSafe-1.1.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905"}, - {file = "MarkupSafe-1.1.1-cp35-cp35m-win32.whl", hash = "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1"}, - {file = "MarkupSafe-1.1.1-cp35-cp35m-win_amd64.whl", hash = "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d"}, - {file = "MarkupSafe-1.1.1-cp36-cp36m-macosx_10_6_intel.whl", hash = "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff"}, - {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473"}, - {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e"}, - {file = "MarkupSafe-1.1.1-cp36-cp36m-win32.whl", hash = "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66"}, - {file = "MarkupSafe-1.1.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5"}, - {file = "MarkupSafe-1.1.1-cp37-cp37m-macosx_10_6_intel.whl", hash = "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d"}, - {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e"}, - {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6"}, - {file = "MarkupSafe-1.1.1-cp37-cp37m-win32.whl", hash = "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2"}, - {file = "MarkupSafe-1.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c"}, - {file = "MarkupSafe-1.1.1.tar.gz", hash = "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b"}, -] -mccabe = [ - {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, - {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"}, -] -more-itertools = [ - {file = "more-itertools-8.1.0.tar.gz", hash = "sha256:c468adec578380b6281a114cb8a5db34eb1116277da92d7c46f904f0b52d3288"}, - {file = "more_itertools-8.1.0-py3-none-any.whl", hash = "sha256:1a2a32c72400d365000412fe08eb4a24ebee89997c18d3d147544f70f5403b39"}, -] -mypy = [ - {file = "mypy-0.761-cp35-cp35m-macosx_10_6_x86_64.whl", hash = "sha256:7f672d02fffcbace4db2b05369142e0506cdcde20cea0e07c7c2171c4fd11dd6"}, - {file = "mypy-0.761-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:87c556fb85d709dacd4b4cb6167eecc5bbb4f0a9864b69136a0d4640fdc76a36"}, - {file = "mypy-0.761-cp35-cp35m-win_amd64.whl", hash = "sha256:c6d27bd20c3ba60d5b02f20bd28e20091d6286a699174dfad515636cb09b5a72"}, - {file = "mypy-0.761-cp36-cp36m-macosx_10_6_x86_64.whl", hash = "sha256:4b9365ade157794cef9685791032521233729cb00ce76b0ddc78749abea463d2"}, - {file = "mypy-0.761-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:634aef60b4ff0f650d3e59d4374626ca6153fcaff96ec075b215b568e6ee3cb0"}, - {file = "mypy-0.761-cp36-cp36m-win_amd64.whl", hash = "sha256:53ea810ae3f83f9c9b452582261ea859828a9ed666f2e1ca840300b69322c474"}, - {file = "mypy-0.761-cp37-cp37m-macosx_10_6_x86_64.whl", hash = "sha256:0a9a45157e532da06fe56adcfef8a74629566b607fa2c1ac0122d1ff995c748a"}, - {file = "mypy-0.761-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:7eadc91af8270455e0d73565b8964da1642fe226665dd5c9560067cd64d56749"}, - {file = "mypy-0.761-cp37-cp37m-win_amd64.whl", hash = "sha256:e2bb577d10d09a2d8822a042a23b8d62bc3b269667c9eb8e60a6edfa000211b1"}, - {file = "mypy-0.761-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2c35cae79ceb20d47facfad51f952df16c2ae9f45db6cb38405a3da1cf8fc0a7"}, - {file = "mypy-0.761-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:f97a605d7c8bc2c6d1172c2f0d5a65b24142e11a58de689046e62c2d632ca8c1"}, - {file = "mypy-0.761-cp38-cp38-win_amd64.whl", hash = "sha256:a6bd44efee4dc8c3324c13785a9dc3519b3ee3a92cada42d2b57762b7053b49b"}, - {file = "mypy-0.761-py3-none-any.whl", hash = "sha256:7e396ce53cacd5596ff6d191b47ab0ea18f8e0ec04e15d69728d530e86d4c217"}, - {file = "mypy-0.761.tar.gz", hash = "sha256:85baab8d74ec601e86134afe2bcccd87820f79d2f8d5798c889507d1088287bf"}, -] -mypy-extensions = [ - {file = "mypy_extensions-0.4.3-py2.py3-none-any.whl", hash = "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d"}, - {file = "mypy_extensions-0.4.3.tar.gz", hash = "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"}, -] -packaging = [ - {file = "packaging-20.0-py2.py3-none-any.whl", hash = "sha256:aec3fdbb8bc9e4bb65f0634b9f551ced63983a529d6a8931817d52fdd0816ddb"}, - {file = "packaging-20.0.tar.gz", hash = "sha256:fe1d8331dfa7cc0a883b49d75fc76380b2ab2734b220fbb87d774e4fd4b851f8"}, -] -pathspec = [ - {file = "pathspec-0.7.0-py2.py3-none-any.whl", hash = "sha256:163b0632d4e31cef212976cf57b43d9fd6b0bac6e67c26015d611a647d5e7424"}, - {file = "pathspec-0.7.0.tar.gz", hash = "sha256:562aa70af2e0d434367d9790ad37aed893de47f1693e4201fd1d3dca15d19b96"}, -] -pathtools = [ - {file = "pathtools-0.1.2.tar.gz", hash = "sha256:7c35c5421a39bb82e58018febd90e3b6e5db34c5443aaaf742b3f33d4655f1c0"}, -] -pluggy = [ - {file = "pluggy-0.13.1-py2.py3-none-any.whl", hash = "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"}, - {file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"}, -] -py = [ - {file = "py-1.8.1-py2.py3-none-any.whl", hash = "sha256:c20fdd83a5dbc0af9efd622bee9a5564e278f6380fffcacc43ba6f43db2813b0"}, - {file = "py-1.8.1.tar.gz", hash = "sha256:5e27081401262157467ad6e7f851b7aa402c5852dbcb3dae06768434de5752aa"}, -] -pycodestyle = [ - {file = "pycodestyle-2.5.0-py2.py3-none-any.whl", hash = "sha256:95a2219d12372f05704562a14ec30bc76b05a5b297b21a5dfe3f6fac3491ae56"}, - {file = "pycodestyle-2.5.0.tar.gz", hash = "sha256:e40a936c9a450ad81df37f549d676d127b1b66000a6c500caa2b085bc0ca976c"}, -] -pydantic = [ - {file = "pydantic-1.4-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:07911aab70f3bc52bb845ce1748569c5e70478ac977e106a150dd9d0465ebf04"}, - {file = "pydantic-1.4-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:012c422859bac2e03ab3151ea6624fecf0e249486be7eb8c6ee69c91740c6752"}, - {file = "pydantic-1.4-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:61d22d36808087d3184ed6ac0d91dd71c533b66addb02e4a9930e1e30833202f"}, - {file = "pydantic-1.4-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:f863456d3d4bf817f2e5248553dee3974c5dc796f48e6ddb599383570f4215ac"}, - {file = "pydantic-1.4-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:bbbed364376f4a0aebb9ea452ff7968b306499a9e74f4db69b28ff2cd4043a11"}, - {file = "pydantic-1.4-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:e27559cedbd7f59d2375bfd6eea29a330ea1a5b0589c34d6b4e0d7bec6027bbf"}, - {file = "pydantic-1.4-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:50e4e948892a6815649ad5a9a9379ad1e5f090f17842ac206535dfaed75c6f2f"}, - {file = "pydantic-1.4-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:8848b4eb458469739126e4c1a202d723dd092e087f8dbe3104371335f87ba5df"}, - {file = "pydantic-1.4-cp38-cp38-manylinux1_i686.whl", hash = "sha256:831a0265a9e3933b3d0f04d1a81bba543bafbe4119c183ff2771871db70524ab"}, - {file = "pydantic-1.4-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:47b8db7024ba3d46c3d4768535e1cf87b6c8cf92ccd81e76f4e1cb8ee47688b3"}, - {file = "pydantic-1.4-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:51f11c8bbf794a68086540da099aae4a9107447c7a9d63151edbb7d50110cf21"}, - {file = "pydantic-1.4-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:6100d7862371115c40be55cc4b8d766a74b1d0dbaf99dbfe72bb4bac0faf89ed"}, - {file = "pydantic-1.4-py36.py37.py38-none-any.whl", hash = "sha256:72184c1421103cca128300120f8f1185fb42a9ea73a1c9845b1c53db8c026a7d"}, - {file = "pydantic-1.4.tar.gz", hash = "sha256:f17ec336e64d4583311249fb179528e9a2c27c8a2eaf590ec6ec2c6dece7cb3f"}, -] -pyfakefs = [ - {file = "pyfakefs-3.7.1-py2.py3-none-any.whl", hash = "sha256:52caa73b474d2aed34fc0e5fa6c5b4abdb8b17405c56dc8fee500009af56496c"}, - {file = "pyfakefs-3.7.1.tar.gz", hash = "sha256:1eb68bb250cc14310a6e33c197cbe2c8d93832b543f534e29b58286712f7e2b2"}, -] -pyflakes = [ - {file = "pyflakes-2.1.1-py2.py3-none-any.whl", hash = "sha256:17dbeb2e3f4d772725c777fabc446d5634d1038f234e77343108ce445ea69ce0"}, - {file = "pyflakes-2.1.1.tar.gz", hash = "sha256:d976835886f8c5b31d47970ed689944a0262b5f3afa00a5a7b4dc81e5449f8a2"}, -] -pylint = [ - {file = "pylint-2.4.4-py3-none-any.whl", hash = "sha256:886e6afc935ea2590b462664b161ca9a5e40168ea99e5300935f6591ad467df4"}, - {file = "pylint-2.4.4.tar.gz", hash = "sha256:3db5468ad013380e987410a8d6956226963aed94ecb5f9d3a28acca6d9ac36cd"}, -] -pyparsing = [ - {file = "pyparsing-2.4.6-py2.py3-none-any.whl", hash = "sha256:c342dccb5250c08d45fd6f8b4a559613ca603b57498511740e65cd11a2e7dcec"}, - {file = "pyparsing-2.4.6.tar.gz", hash = "sha256:4c830582a84fb022400b85429791bc551f1f4871c33f23e44f353119e92f969f"}, -] -pytest = [ - {file = "pytest-5.3.2-py3-none-any.whl", hash = "sha256:e41d489ff43948babd0fad7ad5e49b8735d5d55e26628a58673c39ff61d95de4"}, - {file = "pytest-5.3.2.tar.gz", hash = "sha256:6b571215b5a790f9b41f19f3531c53a45cf6bb8ef2988bc1ff9afb38270b25fa"}, -] -pytest-cov = [ - {file = "pytest-cov-2.8.1.tar.gz", hash = "sha256:cc6742d8bac45070217169f5f72ceee1e0e55b0221f54bcf24845972d3a47f2b"}, - {file = "pytest_cov-2.8.1-py2.py3-none-any.whl", hash = "sha256:cdbdef4f870408ebdbfeb44e63e07eb18bb4619fae852f6e760645fa36172626"}, -] -pytest-watch = [ - {file = "pytest-watch-4.2.0.tar.gz", hash = "sha256:06136f03d5b361718b8d0d234042f7b2f203910d8568f63df2f866b547b3d4b9"}, -] -pyyaml = [ - {file = "PyYAML-5.3-cp27-cp27m-win32.whl", hash = "sha256:940532b111b1952befd7db542c370887a8611660d2b9becff75d39355303d82d"}, - {file = "PyYAML-5.3-cp27-cp27m-win_amd64.whl", hash = "sha256:059b2ee3194d718896c0ad077dd8c043e5e909d9180f387ce42012662a4946d6"}, - {file = "PyYAML-5.3-cp35-cp35m-win32.whl", hash = "sha256:4fee71aa5bc6ed9d5f116327c04273e25ae31a3020386916905767ec4fc5317e"}, - {file = "PyYAML-5.3-cp35-cp35m-win_amd64.whl", hash = "sha256:dbbb2379c19ed6042e8f11f2a2c66d39cceb8aeace421bfc29d085d93eda3689"}, - {file = "PyYAML-5.3-cp36-cp36m-win32.whl", hash = "sha256:e3a057b7a64f1222b56e47bcff5e4b94c4f61faac04c7c4ecb1985e18caa3994"}, - {file = "PyYAML-5.3-cp36-cp36m-win_amd64.whl", hash = "sha256:74782fbd4d4f87ff04159e986886931456a1894c61229be9eaf4de6f6e44b99e"}, - {file = "PyYAML-5.3-cp37-cp37m-win32.whl", hash = "sha256:24521fa2890642614558b492b473bee0ac1f8057a7263156b02e8b14c88ce6f5"}, - {file = "PyYAML-5.3-cp37-cp37m-win_amd64.whl", hash = "sha256:1cf708e2ac57f3aabc87405f04b86354f66799c8e62c28c5fc5f88b5521b2dbf"}, - {file = "PyYAML-5.3-cp38-cp38-win32.whl", hash = "sha256:70024e02197337533eef7b85b068212420f950319cc8c580261963aefc75f811"}, - {file = "PyYAML-5.3-cp38-cp38-win_amd64.whl", hash = "sha256:cb1f2f5e426dc9f07a7681419fe39cee823bb74f723f36f70399123f439e9b20"}, - {file = "PyYAML-5.3.tar.gz", hash = "sha256:e9f45bd5b92c7974e59bcd2dcc8631a6b6cc380a904725fce7bc08872e691615"}, -] -regex = [ - {file = "regex-2020.1.8-cp27-cp27m-win32.whl", hash = "sha256:4e8f02d3d72ca94efc8396f8036c0d3bcc812aefc28ec70f35bb888c74a25161"}, - {file = "regex-2020.1.8-cp27-cp27m-win_amd64.whl", hash = "sha256:e6c02171d62ed6972ca8631f6f34fa3281d51db8b326ee397b9c83093a6b7242"}, - {file = "regex-2020.1.8-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:4eae742636aec40cf7ab98171ab9400393360b97e8f9da67b1867a9ee0889b26"}, - {file = "regex-2020.1.8-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:bd25bb7980917e4e70ccccd7e3b5740614f1c408a642c245019cff9d7d1b6149"}, - {file = "regex-2020.1.8-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:3e77409b678b21a056415da3a56abfd7c3ad03da71f3051bbcdb68cf44d3c34d"}, - {file = "regex-2020.1.8-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:07b39bf943d3d2fe63d46281d8504f8df0ff3fe4c57e13d1656737950e53e525"}, - {file = "regex-2020.1.8-cp36-cp36m-win32.whl", hash = "sha256:23e2c2c0ff50f44877f64780b815b8fd2e003cda9ce817a7fd00dea5600c84a0"}, - {file = "regex-2020.1.8-cp36-cp36m-win_amd64.whl", hash = "sha256:27429b8d74ba683484a06b260b7bb00f312e7c757792628ea251afdbf1434003"}, - {file = "regex-2020.1.8-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:0e182d2f097ea8549a249040922fa2b92ae28be4be4895933e369a525ba36576"}, - {file = "regex-2020.1.8-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:e3cd21cc2840ca67de0bbe4071f79f031c81418deb544ceda93ad75ca1ee9f7b"}, - {file = "regex-2020.1.8-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:ecc6de77df3ef68fee966bb8cb4e067e84d4d1f397d0ef6fce46913663540d77"}, - {file = "regex-2020.1.8-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:26ff99c980f53b3191d8931b199b29d6787c059f2e029b2b0c694343b1708c35"}, - {file = "regex-2020.1.8-cp37-cp37m-win32.whl", hash = "sha256:7bcd322935377abcc79bfe5b63c44abd0b29387f267791d566bbb566edfdd146"}, - {file = "regex-2020.1.8-cp37-cp37m-win_amd64.whl", hash = "sha256:10671601ee06cf4dc1bc0b4805309040bb34c9af423c12c379c83d7895622bb5"}, - {file = "regex-2020.1.8-cp38-cp38-manylinux1_i686.whl", hash = "sha256:98b8ed7bb2155e2cbb8b76f627b2fd12cf4b22ab6e14873e8641f266e0fb6d8f"}, - {file = "regex-2020.1.8-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:6a6ba91b94427cd49cd27764679024b14a96874e0dc638ae6bdd4b1a3ce97be1"}, - {file = "regex-2020.1.8-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:6a6ae17bf8f2d82d1e8858a47757ce389b880083c4ff2498dba17c56e6c103b9"}, - {file = "regex-2020.1.8-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:0932941cdfb3afcbc26cc3bcf7c3f3d73d5a9b9c56955d432dbf8bbc147d4c5b"}, - {file = "regex-2020.1.8-cp38-cp38-win32.whl", hash = "sha256:d58e4606da2a41659c84baeb3cfa2e4c87a74cec89a1e7c56bee4b956f9d7461"}, - {file = "regex-2020.1.8-cp38-cp38-win_amd64.whl", hash = "sha256:e7c7661f7276507bce416eaae22040fd91ca471b5b33c13f8ff21137ed6f248c"}, - {file = "regex-2020.1.8.tar.gz", hash = "sha256:d0f424328f9822b0323b3b6f2e4b9c90960b24743d220763c7f07071e0778351"}, -] -six = [ - {file = "six-1.13.0-py2.py3-none-any.whl", hash = "sha256:1f1b7d42e254082a9db6279deae68afb421ceba6158efa6131de7b3003ee93fd"}, - {file = "six-1.13.0.tar.gz", hash = "sha256:30f610279e8b2578cab6db20741130331735c781b56053c59c4076da27f06b66"}, -] -stringcase = [ - {file = "stringcase-1.2.0.tar.gz", hash = "sha256:48a06980661908efe8d9d34eab2b6c13aefa2163b3ced26972902e3bdfd87008"}, -] -testfixtures = [ - {file = "testfixtures-6.12.0-py2.py3-none-any.whl", hash = "sha256:76eef0c048d6c1ad28bb74ae2b28fa9e3ea3a2f42a56715a4102480b8188e588"}, - {file = "testfixtures-6.12.0.tar.gz", hash = "sha256:c352760016f0e5579a3e5565387e6d582ccad4db9791b6a293fdfc59d4591b97"}, -] -toml = [ - {file = "toml-0.10.0-py2.7.egg", hash = "sha256:f1db651f9657708513243e61e6cc67d101a39bad662eaa9b5546f789338e07a3"}, - {file = "toml-0.10.0-py2.py3-none-any.whl", hash = "sha256:235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e"}, - {file = "toml-0.10.0.tar.gz", hash = "sha256:229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c"}, -] -typed-ast = [ - {file = "typed_ast-1.4.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:73d785a950fc82dd2a25897d525d003f6378d1cb23ab305578394694202a58c3"}, - {file = "typed_ast-1.4.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:aaee9905aee35ba5905cfb3c62f3e83b3bec7b39413f0a7f19be4e547ea01ebb"}, - {file = "typed_ast-1.4.1-cp35-cp35m-win32.whl", hash = "sha256:0c2c07682d61a629b68433afb159376e24e5b2fd4641d35424e462169c0a7919"}, - {file = "typed_ast-1.4.1-cp35-cp35m-win_amd64.whl", hash = "sha256:4083861b0aa07990b619bd7ddc365eb7fa4b817e99cf5f8d9cf21a42780f6e01"}, - {file = "typed_ast-1.4.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:269151951236b0f9a6f04015a9004084a5ab0d5f19b57de779f908621e7d8b75"}, - {file = "typed_ast-1.4.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:24995c843eb0ad11a4527b026b4dde3da70e1f2d8806c99b7b4a7cf491612652"}, - {file = "typed_ast-1.4.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:fe460b922ec15dd205595c9b5b99e2f056fd98ae8f9f56b888e7a17dc2b757e7"}, - {file = "typed_ast-1.4.1-cp36-cp36m-win32.whl", hash = "sha256:4e3e5da80ccbebfff202a67bf900d081906c358ccc3d5e3c8aea42fdfdfd51c1"}, - {file = "typed_ast-1.4.1-cp36-cp36m-win_amd64.whl", hash = "sha256:249862707802d40f7f29f6e1aad8d84b5aa9e44552d2cc17384b209f091276aa"}, - {file = "typed_ast-1.4.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8ce678dbaf790dbdb3eba24056d5364fb45944f33553dd5869b7580cdbb83614"}, - {file = "typed_ast-1.4.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:c9e348e02e4d2b4a8b2eedb48210430658df6951fa484e59de33ff773fbd4b41"}, - {file = "typed_ast-1.4.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:bcd3b13b56ea479b3650b82cabd6b5343a625b0ced5429e4ccad28a8973f301b"}, - {file = "typed_ast-1.4.1-cp37-cp37m-win32.whl", hash = "sha256:d5d33e9e7af3b34a40dc05f498939f0ebf187f07c385fd58d591c533ad8562fe"}, - {file = "typed_ast-1.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:0666aa36131496aed8f7be0410ff974562ab7eeac11ef351def9ea6fa28f6355"}, - {file = "typed_ast-1.4.1-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:d205b1b46085271b4e15f670058ce182bd1199e56b317bf2ec004b6a44f911f6"}, - {file = "typed_ast-1.4.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:6daac9731f172c2a22ade6ed0c00197ee7cc1221aa84cfdf9c31defeb059a907"}, - {file = "typed_ast-1.4.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:498b0f36cc7054c1fead3d7fc59d2150f4d5c6c56ba7fb150c013fbc683a8d2d"}, - {file = "typed_ast-1.4.1-cp38-cp38-win32.whl", hash = "sha256:715ff2f2df46121071622063fc7543d9b1fd19ebfc4f5c8895af64a77a8c852c"}, - {file = "typed_ast-1.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:fc0fea399acb12edbf8a628ba8d2312f583bdbdb3335635db062fa98cf71fca4"}, - {file = "typed_ast-1.4.1-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:d43943ef777f9a1c42bf4e552ba23ac77a6351de620aa9acf64ad54933ad4d34"}, - {file = "typed_ast-1.4.1.tar.gz", hash = "sha256:8c8aaad94455178e3187ab22c8b01a3837f8ee50e09cf31f1ba129eb293ec30b"}, -] -typing-extensions = [ - {file = "typing_extensions-3.7.4.1-py2-none-any.whl", hash = "sha256:910f4656f54de5993ad9304959ce9bb903f90aadc7c67a0bef07e678014e892d"}, - {file = "typing_extensions-3.7.4.1-py3-none-any.whl", hash = "sha256:cf8b63fedea4d89bab840ecbb93e75578af28f76f66c35889bd7065f5af88575"}, - {file = "typing_extensions-3.7.4.1.tar.gz", hash = "sha256:091ecc894d5e908ac75209f10d5b4f118fbdb2eb1ede6a63544054bb1edb41f2"}, -] -watchdog = [ - {file = "watchdog-0.9.0.tar.gz", hash = "sha256:965f658d0732de3188211932aeb0bb457587f04f63ab4c1e33eab878e9de961d"}, -] -wcwidth = [ - {file = "wcwidth-0.1.8-py2.py3-none-any.whl", hash = "sha256:8fd29383f539be45b20bd4df0dc29c20ba48654a41e661925e612311e9f3c603"}, - {file = "wcwidth-0.1.8.tar.gz", hash = "sha256:f28b3e8a6483e5d49e7f8949ac1a78314e740333ae305b4ba5defd3e74fb37a8"}, -] -wrapt = [ - {file = "wrapt-1.11.2.tar.gz", hash = "sha256:565a021fd19419476b9362b05eeaa094178de64f8361e44468f9e9d7843901e1"}, -] -zipp = [ - {file = "zipp-1.0.0-py2.py3-none-any.whl", hash = "sha256:8dda78f06bd1674bd8720df8a50bb47b6e1233c503a4eed8e7810686bde37656"}, - {file = "zipp-1.0.0.tar.gz", hash = "sha256:d38fbe01bbf7a3593a32bc35a9c4453c32bc42b98c377f9bff7e9f8da157786c"}, -] diff --git a/pyproject.toml b/pyproject.toml index 459a6d8..af08fce 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,37 +1,56 @@ -[tool.poetry] +[project] name = "danger-python" version = "0.1.0" description = "Write your Dangerfiles in Python." +readme = "README.md" +requires-python = ">=3.13" +license = "MIT" +license-files = ["LICENSE"] authors = [ - "Orta Therox ", - "Jakub Turek ", - "Danger org contributors", + { name = "Orta Therox", email = "danger@orta.io" }, + { name = "Jakub Turek", email = "jkbturek@gmail.com" }, + { name = "Danger org contributors" }, ] -license = "MIT" +classifiers = [ + "Development Status :: 3 - Alpha", + "Intended Audience :: Developers", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", + "Topic :: Software Development :: Quality Assurance", +] +dependencies = [ + "click>=8", + "click-default-group>=1.2.4", + "pydantic>=2", +] + +[project.urls] +Homepage = "https://github.com/danger/python" +Repository = "https://github.com/danger/python" -[tool.poetry.dependencies] -python = "^3.7" -click = "^7.0" -click-default-group = "^1.2.2" -pydantic = "^1.4" +[project.scripts] +danger-python = "danger_python.cli:cli" -[tool.poetry.dev-dependencies] -pytest = "^5.3.2" -pytest-watch = "^4.2.0" -pytest-cov = "^2.8.1" -black = "^19.10b0" -isort = "^4.3.21" -mypy = "^0.761" -flake8 = "^3.7.9" -pylint = "^2.4.4" -jinja2 = "^2.10.3" -pyfakefs = "^3.7.1" -stringcase = "^1.2.0" -testfixtures = "^6.12.0" +[dependency-groups] +dev = [ + "pytest>=8", + "pytest-cov>=5", + "ruff>=0.15", + "pyrefly>=1.1", + "jinja2>=3", + "pyfakefs>=5", + "stringcase>=1.2.0", + "testfixtures>=8", + "bump-pydantic>=0.8", +] -[tool.poetry.scripts] -danger-python = 'danger_python.cli:cli' [build-system] -requires = ["poetry>=0.12"] -build-backend = "poetry.masonry.api" +requires = ["uv_build>=0.11.0,<0.12.0"] +build-backend = "uv_build" +# The package lives at the repository root (flat layout: ./danger_python), +# not under ./src, so point uv_build at the root. +[tool.uv.build-backend] +module-root = "" +module-name = "danger_python" diff --git a/uv.lock b/uv.lock new file mode 100644 index 0000000..c39aaef --- /dev/null +++ b/uv.lock @@ -0,0 +1,622 @@ +version = 1 +revision = 3 +requires-python = ">=3.13" +resolution-markers = [ + "python_full_version >= '3.14'", + "python_full_version < '3.14'", +] + +[[package]] +name = "annotated-doc" +version = "0.0.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/57/ba/046ceea27344560984e26a590f90bc7f4a75b06701f653222458922b558c/annotated_doc-0.0.4.tar.gz", hash = "sha256:fbcda96e87e9c92ad167c2e53839e57503ecfda18804ea28102353485033faa4", size = 7288, upload-time = "2025-11-10T22:07:42.062Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/d3/26bf1008eb3d2daa8ef4cacc7f3bfdc11818d111f7e2d0201bc6e3b49d45/annotated_doc-0.0.4-py3-none-any.whl", hash = "sha256:571ac1dc6991c450b25a9c2d84a3705e2ae7a53467b5d111c24fa8baabbed320", size = 5303, upload-time = "2025-11-10T22:07:40.673Z" }, +] + +[[package]] +name = "annotated-types" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload-time = "2024-05-20T21:33:25.928Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" }, +] + +[[package]] +name = "bump-pydantic" +version = "0.8.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "libcst" }, + { name = "rich" }, + { name = "typer" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/4e/86/7a74e7d4a76941b9be0c8938dec64ec56d8ba3f4e27a337b85ddbe0de78b/bump_pydantic-0.8.0.tar.gz", hash = "sha256:6092e61930e85619e74eeb04131b4387feda16f02d8bb2e3cf9507fa492c69e9", size = 28913, upload-time = "2023-12-28T13:42:36.117Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0e/3a/0092e7b523307b71a203c6c6a6608dbee2a92c2616c264fd7fdf561279b5/bump_pydantic-0.8.0-py3-none-any.whl", hash = "sha256:6cbb4deb5869a69baa5a477f28f3e2d8fb09b687e114c018bd54470590ae7bf7", size = 27525, upload-time = "2023-12-28T13:42:34.287Z" }, +] + +[[package]] +name = "click" +version = "8.4.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/76/d4/81420972a676e8ffea40450d8c8c92943e7218a78fe9b64359836cc9876b/click-8.4.2.tar.gz", hash = "sha256:9a6cea6e60b17ebe0a44c5cc636d94f09bd66142c1cd7d8b4cd731c4917a15f6", size = 338000, upload-time = "2026-06-24T17:45:15.148Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fb/e2/79c688af8b210d232694e31e59da9f6ec747bae31c3f5946e4e9b98860d5/click-8.4.2-py3-none-any.whl", hash = "sha256:e6f9f66136c816745b9d65817da91d61d957fb16e02e4dcd0552553c5a197b76", size = 119243, upload-time = "2026-06-24T17:45:13.73Z" }, +] + +[[package]] +name = "click-default-group" +version = "1.2.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/1d/ce/edb087fb53de63dad3b36408ca30368f438738098e668b78c87f93cd41df/click_default_group-1.2.4.tar.gz", hash = "sha256:eb3f3c99ec0d456ca6cd2a7f08f7d4e91771bef51b01bdd9580cc6450fe1251e", size = 3505, upload-time = "2023-08-04T07:54:58.425Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/1a/aff8bb287a4b1400f69e09a53bd65de96aa5cee5691925b38731c67fc695/click_default_group-1.2.4-py2.py3-none-any.whl", hash = "sha256:9b60486923720e7fc61731bdb32b617039aba820e22e1c88766b1125592eaa5f", size = 4123, upload-time = "2023-08-04T07:54:56.875Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "coverage" +version = "7.15.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/76/d0/55fe630f4cf94e3fcba868240fad8c8cdd1f764e2a932f8926347e6ec4cd/coverage-7.15.2.tar.gz", hash = "sha256:3df60dc267f0a2ca23cb7a9ab1109c62b9335ffbf519fcfe167157c28c09b81d", size = 927741, upload-time = "2026-07-15T18:56:19.558Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fc/d5/f8c838e6b7282976f7c918884b792df7a0c42c5bba5d99c60ad2d221d56d/coverage-7.15.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1121caa19159a38b5463eaae4b1e1fde81e525b15ecc5e000cd5b1a108f743a8", size = 221606, upload-time = "2026-07-15T18:54:45.448Z" }, + { url = "https://files.pythonhosted.org/packages/bf/37/97c926376364f66298cc44893b89cdf17b8bc406376497c4061ae4b8a8ff/coverage-7.15.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a300c6934e0989c327b9e8a1e110329da4641149f872bbe9f70168be66da76c1", size = 221982, upload-time = "2026-07-15T18:54:47.341Z" }, + { url = "https://files.pythonhosted.org/packages/b7/30/a36050a6e83c2135ee0776f452ca3948224befc6d7f26acecc082d0c106a/coverage-7.15.2-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:2617f8799d268fabdeef42a7e89ac3a23e1deee9025427db2df970f99a89a578", size = 252972, upload-time = "2026-07-15T18:54:49.2Z" }, + { url = "https://files.pythonhosted.org/packages/31/d3/06b5f1daf95f0f15ab05bd75f26ba5f3c8b33d0bb72f3aaa3cf41d1bad3a/coverage-7.15.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:7dc2950a2992cd676d35c20ae63522836deeb034f08874699d14068710af3dc1", size = 255569, upload-time = "2026-07-15T18:54:51.098Z" }, + { url = "https://files.pythonhosted.org/packages/81/1c/9afb3f8de2b8d36960391c48559a2e3ff96594b58099f115921549ea8d0d/coverage-7.15.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9e36686f7a442185db2400b3df171aac520869faf9deb59df687d28659eda2a6", size = 256806, upload-time = "2026-07-15T18:54:53.145Z" }, + { url = "https://files.pythonhosted.org/packages/64/d8/b989f96061a5e32d82fddd1b1b9ff48a7c8f8ae7606f0e80fd9de54b1e33/coverage-7.15.2-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7d29ca7bd67af6e12e74632d65f026eabc1364da5c254494cd914446a28a3ef7", size = 258936, upload-time = "2026-07-15T18:54:55.015Z" }, + { url = "https://files.pythonhosted.org/packages/b8/fa/f99771f5110457c7b511c1935ca49ddf288218eaa84322e028b9334146ae/coverage-7.15.2-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:db9c8438057e5b0f6a22a0af99c0c1d26b57fbbdbd1be5861ddb8f897fcc3a2d", size = 253178, upload-time = "2026-07-15T18:54:57.527Z" }, + { url = "https://files.pythonhosted.org/packages/f6/96/c098a6044d119c751ceede7be91035fa8310170ec24a6523aff72f0a5793/coverage-7.15.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:63022c4c8dec1d0342f05c3ede99842fe3d007689acc45e86f123a1746e4a026", size = 254934, upload-time = "2026-07-15T18:54:59.41Z" }, + { url = "https://files.pythonhosted.org/packages/b2/a2/1457b3a7a50c8d77500103b97a046db863e2f59a1cf6d2f814595f349885/coverage-7.15.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:6c0be82b4d4aa5b2704e08518e2252f3e3d110164bcca826816801052e48a7aa", size = 252898, upload-time = "2026-07-15T18:55:01.338Z" }, + { url = "https://files.pythonhosted.org/packages/6c/0e/76958874c471ecfcdde0d2b2747bb2c61bdbf34a40636f4ce9db9923e643/coverage-7.15.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4510fb9cdf6bb02dfa6af0be4a534b8102d086e22e4a33f8836df663da3d660d", size = 257056, upload-time = "2026-07-15T18:55:03.243Z" }, + { url = "https://files.pythonhosted.org/packages/7c/7c/3d7c4e3bf58baa40327dc7edc2272b17cf02299366d52763db1b0ca1556a/coverage-7.15.2-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:42ec3d989421b174a2ab607c1539f24127ad362757b7f1c0c0d7a2993f7eb37b", size = 252718, upload-time = "2026-07-15T18:55:05.029Z" }, + { url = "https://files.pythonhosted.org/packages/c8/b8/1cecffed9ce14fb25be9ba42d37b6bb61485c9a3ddd43cd3dde36b6087d8/coverage-7.15.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e8f91bce78e32343af184c3b7fa28fcf5a9e2641f4b6623d392038f804939188", size = 254490, upload-time = "2026-07-15T18:55:06.889Z" }, + { url = "https://files.pythonhosted.org/packages/6c/2c/42984561bc7f4c045dca67516a0c50ee5ef8d84352dbeb5559dc86c4823e/coverage-7.15.2-cp313-cp313-win32.whl", hash = "sha256:434e68d531858205895eb0d74b73d20b84260de426387d53c422a5acda2cf050", size = 223647, upload-time = "2026-07-15T18:55:08.941Z" }, + { url = "https://files.pythonhosted.org/packages/41/9f/39c7c9245efc583beddf89a87683574e663ed93637f3afb6cd7b88405676/coverage-7.15.2-cp313-cp313-win_amd64.whl", hash = "sha256:26c3b04a6377fd7c09800921fa934e3a17c0020439cd59df73e73ae1d4b6a78c", size = 224190, upload-time = "2026-07-15T18:55:10.789Z" }, + { url = "https://files.pythonhosted.org/packages/c7/de/3a2883cf8a213659280ef4b403059e17a9acaeb7fc7fd4105e1226ff2e6d/coverage-7.15.2-cp313-cp313-win_arm64.whl", hash = "sha256:3ed010aa1b69cda8e827aabfca9866216c980e2dca82ab9a78c5f83689964c8b", size = 223583, upload-time = "2026-07-15T18:55:12.678Z" }, + { url = "https://files.pythonhosted.org/packages/81/5f/aed265fd7a3551a394f36dfe41868aee709b7f95db4052205b4ad1563ac3/coverage-7.15.2-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:40f633c5c5fc783732f6312280122e859538fa24461235597c13d803ea9a108a", size = 221650, upload-time = "2026-07-15T18:55:14.527Z" }, + { url = "https://files.pythonhosted.org/packages/6b/2c/222ba12a545189017120f8eddfc1a0bd4616b47d5d4a8d99421edb2fe4c6/coverage-7.15.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:075560438765b7a2ef43bf7aa7758661b53d889df47f062a31bda6c1ade553a2", size = 221988, upload-time = "2026-07-15T18:55:16.674Z" }, + { url = "https://files.pythonhosted.org/packages/aa/38/304b5877ab46e6c290b4292cfcf3fe28245f0e5597cad7f6acc91fc7e0a4/coverage-7.15.2-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:25fd15dd40a0a2c51a500d664ca29053c09c3259d998407bf982b6e114696138", size = 253029, upload-time = "2026-07-15T18:55:18.856Z" }, + { url = "https://files.pythonhosted.org/packages/6c/58/821b533b8db9e44cf1d8a97bd525149ced40dde1d0093da02cb78e715244/coverage-7.15.2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b9a6367e4aff723e8ee8190836836124284e8fcd4265e307c844010cfa074f3f", size = 255536, upload-time = "2026-07-15T18:55:21.027Z" }, + { url = "https://files.pythonhosted.org/packages/f1/f2/7aa06604c389d32ea7f0a6a988359a7eafc3cd3f8e7bc2e88cd2fdf0b877/coverage-7.15.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9854ca62c152874b2060772503535be2e8f53f70b8aaa7686b094888d872f984", size = 256881, upload-time = "2026-07-15T18:55:23.125Z" }, + { url = "https://files.pythonhosted.org/packages/a2/4f/1ef342339c7916d0096bc5888cc0f653882cc7bc8f897d5cb89143287c9b/coverage-7.15.2-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:913b6c56e110da40e035bbd168353bf7aaa2544a5eaccea5d98a4629aac156c7", size = 259196, upload-time = "2026-07-15T18:55:25.099Z" }, + { url = "https://files.pythonhosted.org/packages/fe/f4/7ed055d7a9c5ec13b161773a115a5ccc6b0081d568c31fad830806306cc7/coverage-7.15.2-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:aaccad4129d735a8a4d526f26929894c9a4e8ef7034566f210b176749d6906e3", size = 253036, upload-time = "2026-07-15T18:55:27.018Z" }, + { url = "https://files.pythonhosted.org/packages/14/79/ea82cca18c242a3a38b6c017da39726aa62dcb64aa635abf79b92009975c/coverage-7.15.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:a164b50081fc7357331c4024ef4d17b78ba325f8380d05f5a69599a7e05257ee", size = 254887, upload-time = "2026-07-15T18:55:29.084Z" }, + { url = "https://files.pythonhosted.org/packages/a4/ba/a136db3c0d9562b00e10b72540dbf3a33cd3bc5b95060c9308e247494623/coverage-7.15.2-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:bfd341ccf78128e72c094bc70cc25b3ef309c33c7c2c66ba3ed4309549e02de1", size = 252852, upload-time = "2026-07-15T18:55:31.184Z" }, + { url = "https://files.pythonhosted.org/packages/17/17/ea334246b16b7d059953fad6fdefa11e33c68efbd3fe37b1098120a1fac2/coverage-7.15.2-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:1473b3ba8e7ee0f076117b1a72c23f579a2b9e2bb742f48a8d86ea27ca93f91a", size = 257128, upload-time = "2026-07-15T18:55:33.163Z" }, + { url = "https://files.pythonhosted.org/packages/ed/c3/074fb66d46d607855f710876b117cbda562c5ab08363528e78820449f937/coverage-7.15.2-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:17c432b5f73ad52ef46fb06019f6fa7c66ce381961cf0f7dfd1d3a4bd3a98145", size = 252668, upload-time = "2026-07-15T18:55:35.063Z" }, + { url = "https://files.pythonhosted.org/packages/e1/c1/f620850ada9b36435921c9a3a8057013422b1d964eb4bf37fe138724d192/coverage-7.15.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:77f0ef5011df53a4bd1b35211ab122287f8d9b8d7aa1c4553e5c2deb24b1d446", size = 254325, upload-time = "2026-07-15T18:55:37.125Z" }, + { url = "https://files.pythonhosted.org/packages/cc/31/a729ca3689404493af82ef8e6ff70bd88bdda8da89aeef6ca9b387aeb2b4/coverage-7.15.2-cp314-cp314-win32.whl", hash = "sha256:f653e5d7248c1191ec988a85c72edeab46c3ff44f90639a4ed4874ec0be90243", size = 223844, upload-time = "2026-07-15T18:55:39.078Z" }, + { url = "https://files.pythonhosted.org/packages/c6/83/5d809dc808fb1698c671f3e372259bb9158e64b7ea526fc6ab7de64de9fe/coverage-7.15.2-cp314-cp314-win_amd64.whl", hash = "sha256:9911f31aad8906abe337c271343485cf20df5e70df5d2f57f9f136e7b55f26bc", size = 224331, upload-time = "2026-07-15T18:55:41.346Z" }, + { url = "https://files.pythonhosted.org/packages/16/4e/35e488548e952795829e129995c4174df33bf432b591d1aa42c8d9e4e7ad/coverage-7.15.2-cp314-cp314-win_arm64.whl", hash = "sha256:e38def96ad59853824c97953fdcd2c320a84ba3ce99b417db78af8bb6c3db635", size = 223760, upload-time = "2026-07-15T18:55:43.518Z" }, + { url = "https://files.pythonhosted.org/packages/ed/49/dd2c86cd6374038f6e415fb5bfb86db5218553209c081384a020369dee79/coverage-7.15.2-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:835ec4e20b45f0a7f63ed78f94065aca00de033403df8377bfe8b9c6abc0a7be", size = 222384, upload-time = "2026-07-15T18:55:45.569Z" }, + { url = "https://files.pythonhosted.org/packages/d3/74/173ff17a1c0808e5a438f549f6f145d5ac7528f2791310b63523e3200ac7/coverage-7.15.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7466cc7ab6dc0db871d264bf99e8779f0917ee63d40730af0552f71535a6e072", size = 222647, upload-time = "2026-07-15T18:55:47.544Z" }, + { url = "https://files.pythonhosted.org/packages/84/f8/b8cba872162356fb44ac79c10309d987206a4461e32072fc29228dad7331/coverage-7.15.2-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:e370c12133095ff18432de8c044962be85a5a96d90c6fcbce8e17e76236d2328", size = 264013, upload-time = "2026-07-15T18:55:49.768Z" }, + { url = "https://files.pythonhosted.org/packages/ee/67/a807a7586d0b8cae485308ddd55756f0806c92f8e0b411bacbf23c48edf3/coverage-7.15.2-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:fe41909c9515c3bfdb5f02c4d1f857dba322d9a9a1178069b91eea77889df63a", size = 266135, upload-time = "2026-07-15T18:55:51.941Z" }, + { url = "https://files.pythonhosted.org/packages/ce/67/cd78771dc985f7e4ebdcc82b1a96d9a932af9e806f01f2f91a89f4c72e80/coverage-7.15.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6aa28cfb6488e5453b5b762d65f73aa586380f6693a04d58078ce228a29b06c0", size = 268555, upload-time = "2026-07-15T18:55:54.065Z" }, + { url = "https://files.pythonhosted.org/packages/18/3e/10134cf81275188c58568f324fc74aedff32c63ca4d5bbc513a91944a6f0/coverage-7.15.2-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:bcc0aae933921d03096f53b0b03eeb702129fd406dee59f08d2efacc68681fa5", size = 269674, upload-time = "2026-07-15T18:55:56.066Z" }, + { url = "https://files.pythonhosted.org/packages/75/4a/771b77de446cba985dc414bbc5844bd21604da05dbc044286df8318a48a7/coverage-7.15.2-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:7c63387e21ab21f512c69c9756a8c7dadd322c7275edb064064433c9a09c3743", size = 263101, upload-time = "2026-07-15T18:55:58.107Z" }, + { url = "https://files.pythonhosted.org/packages/5f/b5/70a7011da15f4071943361183aefa27847f3e3aec4fd335f1cb3d3a622b1/coverage-7.15.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:0e55510bc98ae943cece9e667a6c0fe94c6a92913720dea34243657a17993d0c", size = 266007, upload-time = "2026-07-15T18:56:00.468Z" }, + { url = "https://files.pythonhosted.org/packages/b4/0d/f9547e804ce7ad49646ffeffac26699510efbe6c0f751b66fdc960c4e825/coverage-7.15.2-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:2ff08701be2d1556fc78b326c80a3e8042da09352ecb3819105f8e386c8a3071", size = 263611, upload-time = "2026-07-15T18:56:02.615Z" }, + { url = "https://files.pythonhosted.org/packages/ac/59/f576a396659c0efd351f5c1544f67c3560e89c7761cabf7f65e412beeda5/coverage-7.15.2-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:38c9518b7103826c403a461544e3c2e77151e8676d06eaed85911a97e962584a", size = 267344, upload-time = "2026-07-15T18:56:04.622Z" }, + { url = "https://files.pythonhosted.org/packages/7c/5d/c2e4fce3579c0cb635024293f1a32bbe26df101b3e3a69f22243d1352b6c/coverage-7.15.2-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:dee88b1ed88587abd8c0269a1fc1f4cc77f7750d1dfde2869e2a123af420e67d", size = 262456, upload-time = "2026-07-15T18:56:06.641Z" }, + { url = "https://files.pythonhosted.org/packages/bb/dd/956287d69436b66094bc4b57ac2da71e43bfd2a5524e958900b9f582fcf8/coverage-7.15.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:2fbeeeecea279727f8ac16c8e1133ddfeee793e985c86ae343d6a5ce744eef8c", size = 264771, upload-time = "2026-07-15T18:56:08.795Z" }, + { url = "https://files.pythonhosted.org/packages/2c/5a/6f979530c2734c575de77cf58f5f28d51f7123a94b5030fd9156fe5f363c/coverage-7.15.2-cp314-cp314t-win32.whl", hash = "sha256:cb0fddaa6884be6aae36ced9544b5e90f7d5f03845a2853bf47a14953a4e8688", size = 224151, upload-time = "2026-07-15T18:56:10.856Z" }, + { url = "https://files.pythonhosted.org/packages/54/7e/27f6b2a74d484742f4017553e710b01e396b23d809df3e95ca0bb9a2824b/coverage-7.15.2-cp314-cp314t-win_amd64.whl", hash = "sha256:77f091ea3a9cc611cd29f433565476bc1936c084ac8eee00ea0e7e70c27e4199", size = 224981, upload-time = "2026-07-15T18:56:12.928Z" }, + { url = "https://files.pythonhosted.org/packages/b1/48/284863423aa474240f6842bd00d680da22f4e6ea2e466618ef7c9c9e69a9/coverage-7.15.2-cp314-cp314t-win_arm64.whl", hash = "sha256:6fc448c377d6eeb00a47c673494bd9bae29280ca53987e1869e67ebedfe20658", size = 224294, upload-time = "2026-07-15T18:56:15.156Z" }, + { url = "https://files.pythonhosted.org/packages/ec/82/32e3bd191d498e64f6f911ad55d14006a0861e54869d2d32452326399e65/coverage-7.15.2-py3-none-any.whl", hash = "sha256:eb6bcae8d1a9d305351ecb108232441d11c5cfe9de840a04388ba5d2db8d735c", size = 213375, upload-time = "2026-07-15T18:56:17.305Z" }, +] + +[[package]] +name = "danger-python" +version = "0.1.0" +source = { editable = "." } +dependencies = [ + { name = "click" }, + { name = "click-default-group" }, + { name = "pydantic" }, +] + +[package.dev-dependencies] +dev = [ + { name = "bump-pydantic" }, + { name = "jinja2" }, + { name = "pyfakefs" }, + { name = "pyrefly" }, + { name = "pytest" }, + { name = "pytest-cov" }, + { name = "ruff" }, + { name = "stringcase" }, + { name = "testfixtures" }, +] + +[package.metadata] +requires-dist = [ + { name = "click", specifier = ">=8" }, + { name = "click-default-group", specifier = ">=1.2.4" }, + { name = "pydantic", specifier = ">=2" }, +] + +[package.metadata.requires-dev] +dev = [ + { name = "bump-pydantic", specifier = ">=0.8" }, + { name = "jinja2", specifier = ">=3" }, + { name = "pyfakefs", specifier = ">=5" }, + { name = "pyrefly", specifier = ">=1.1" }, + { name = "pytest", specifier = ">=8" }, + { name = "pytest-cov", specifier = ">=5" }, + { name = "ruff", specifier = ">=0.15" }, + { name = "stringcase", specifier = ">=1.2.0" }, + { name = "testfixtures", specifier = ">=8" }, +] + +[[package]] +name = "iniconfig" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730", size = 20503, upload-time = "2025-10-18T21:55:43.219Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484, upload-time = "2025-10-18T21:55:41.639Z" }, +] + +[[package]] +name = "jinja2" +version = "3.1.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +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 = [ + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, +] + +[[package]] +name = "libcst" +version = "1.8.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pyyaml", marker = "python_full_version >= '3.14'" }, + { name = "pyyaml-ft", marker = "python_full_version < '3.14'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/de/cd/337df968b38d94c5aabd3e1b10630f047a2b345f6e1d4456bd9fe7417537/libcst-1.8.6.tar.gz", hash = "sha256:f729c37c9317126da9475bdd06a7208eb52fcbd180a6341648b45a56b4ba708b", size = 891354, upload-time = "2025-11-03T22:33:30.621Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/90/01/723cd467ec267e712480c772aacc5aa73f82370c9665162fd12c41b0065b/libcst-1.8.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7445479ebe7d1aff0ee094ab5a1c7718e1ad78d33e3241e1a1ec65dcdbc22ffb", size = 2206386, upload-time = "2025-11-03T22:32:27.422Z" }, + { url = "https://files.pythonhosted.org/packages/17/50/b944944f910f24c094f9b083f76f61e3985af5a376f5342a21e01e2d1a81/libcst-1.8.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4fc3fef8a2c983e7abf5d633e1884c5dd6fa0dcb8f6e32035abd3d3803a3a196", size = 2083945, upload-time = "2025-11-03T22:32:28.847Z" }, + { url = "https://files.pythonhosted.org/packages/36/a1/bd1b2b2b7f153d82301cdaddba787f4a9fc781816df6bdb295ca5f88b7cf/libcst-1.8.6-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:1a3a5e4ee870907aa85a4076c914ae69066715a2741b821d9bf16f9579de1105", size = 2235818, upload-time = "2025-11-03T22:32:30.504Z" }, + { url = "https://files.pythonhosted.org/packages/b9/ab/f5433988acc3b4d188c4bb154e57837df9488cc9ab551267cdeabd3bb5e7/libcst-1.8.6-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:6609291c41f7ad0bac570bfca5af8fea1f4a27987d30a1fa8b67fe5e67e6c78d", size = 2301289, upload-time = "2025-11-03T22:32:31.812Z" }, + { url = "https://files.pythonhosted.org/packages/5d/57/89f4ba7a6f1ac274eec9903a9e9174890d2198266eee8c00bc27eb45ecf7/libcst-1.8.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:25eaeae6567091443b5374b4c7d33a33636a2d58f5eda02135e96fc6c8807786", size = 2299230, upload-time = "2025-11-03T22:32:33.242Z" }, + { url = "https://files.pythonhosted.org/packages/f2/36/0aa693bc24cce163a942df49d36bf47a7ed614a0cd5598eee2623bc31913/libcst-1.8.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:04030ea4d39d69a65873b1d4d877def1c3951a7ada1824242539e399b8763d30", size = 2408519, upload-time = "2025-11-03T22:32:34.678Z" }, + { url = "https://files.pythonhosted.org/packages/db/18/6dd055b5f15afa640fb3304b2ee9df8b7f72e79513814dbd0a78638f4a0e/libcst-1.8.6-cp313-cp313-win_amd64.whl", hash = "sha256:8066f1b70f21a2961e96bedf48649f27dfd5ea68be5cd1bed3742b047f14acde", size = 2119853, upload-time = "2025-11-03T22:32:36.287Z" }, + { url = "https://files.pythonhosted.org/packages/c9/ed/5ddb2a22f0b0abdd6dcffa40621ada1feaf252a15e5b2733a0a85dfd0429/libcst-1.8.6-cp313-cp313-win_arm64.whl", hash = "sha256:c188d06b583900e662cd791a3f962a8c96d3dfc9b36ea315be39e0a4c4792ebf", size = 1999808, upload-time = "2025-11-03T22:32:38.1Z" }, + { url = "https://files.pythonhosted.org/packages/25/d3/72b2de2c40b97e1ef4a1a1db4e5e52163fc7e7740ffef3846d30bc0096b5/libcst-1.8.6-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:c41c76e034a1094afed7057023b1d8967f968782433f7299cd170eaa01ec033e", size = 2190553, upload-time = "2025-11-03T22:32:39.819Z" }, + { url = "https://files.pythonhosted.org/packages/0d/20/983b7b210ccc3ad94a82db54230e92599c4a11b9cfc7ce3bc97c1d2df75c/libcst-1.8.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5432e785322aba3170352f6e72b32bea58d28abd141ac37cc9b0bf6b7c778f58", size = 2074717, upload-time = "2025-11-03T22:32:41.373Z" }, + { url = "https://files.pythonhosted.org/packages/13/f2/9e01678fedc772e09672ed99930de7355757035780d65d59266fcee212b8/libcst-1.8.6-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:85b7025795b796dea5284d290ff69de5089fc8e989b25d6f6f15b6800be7167f", size = 2225834, upload-time = "2025-11-03T22:32:42.716Z" }, + { url = "https://files.pythonhosted.org/packages/4a/0d/7bed847b5c8c365e9f1953da274edc87577042bee5a5af21fba63276e756/libcst-1.8.6-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:536567441182a62fb706e7aa954aca034827b19746832205953b2c725d254a93", size = 2287107, upload-time = "2025-11-03T22:32:44.549Z" }, + { url = "https://files.pythonhosted.org/packages/02/f0/7e51fa84ade26c518bfbe7e2e4758b56d86a114c72d60309ac0d350426c4/libcst-1.8.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2f04d3672bde1704f383a19e8f8331521abdbc1ed13abb349325a02ac56e5012", size = 2288672, upload-time = "2025-11-03T22:32:45.867Z" }, + { url = "https://files.pythonhosted.org/packages/ad/cd/15762659a3f5799d36aab1bc2b7e732672722e249d7800e3c5f943b41250/libcst-1.8.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:7f04febcd70e1e67917be7de513c8d4749d2e09206798558d7fe632134426ea4", size = 2392661, upload-time = "2025-11-03T22:32:47.232Z" }, + { url = "https://files.pythonhosted.org/packages/e4/6b/b7f9246c323910fcbe021241500f82e357521495dcfe419004dbb272c7cb/libcst-1.8.6-cp313-cp313t-win_amd64.whl", hash = "sha256:1dc3b897c8b0f7323412da3f4ad12b16b909150efc42238e19cbf19b561cc330", size = 2105068, upload-time = "2025-11-03T22:32:49.145Z" }, + { url = "https://files.pythonhosted.org/packages/a6/0b/4fd40607bc4807ec2b93b054594373d7fa3d31bb983789901afcb9bcebe9/libcst-1.8.6-cp313-cp313t-win_arm64.whl", hash = "sha256:44f38139fa95e488db0f8976f9c7ca39a64d6bc09f2eceef260aa1f6da6a2e42", size = 1985181, upload-time = "2025-11-03T22:32:50.597Z" }, + { url = "https://files.pythonhosted.org/packages/3a/60/4105441989e321f7ad0fd28ffccb83eb6aac0b7cfb0366dab855dcccfbe5/libcst-1.8.6-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:b188e626ce61de5ad1f95161b8557beb39253de4ec74fc9b1f25593324a0279c", size = 2204202, upload-time = "2025-11-03T22:32:52.311Z" }, + { url = "https://files.pythonhosted.org/packages/67/2f/51a6f285c3a183e50cfe5269d4a533c21625aac2c8de5cdf2d41f079320d/libcst-1.8.6-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:87e74f7d7dfcba9efa91127081e22331d7c42515f0a0ac6e81d4cf2c3ed14661", size = 2083581, upload-time = "2025-11-03T22:32:54.269Z" }, + { url = "https://files.pythonhosted.org/packages/2f/64/921b1c19b638860af76cdb28bc81d430056592910b9478eea49e31a7f47a/libcst-1.8.6-cp314-cp314-manylinux_2_28_aarch64.whl", hash = "sha256:3a926a4b42015ee24ddfc8ae940c97bd99483d286b315b3ce82f3bafd9f53474", size = 2236495, upload-time = "2025-11-03T22:32:55.723Z" }, + { url = "https://files.pythonhosted.org/packages/12/a8/b00592f9bede618cbb3df6ffe802fc65f1d1c03d48a10d353b108057d09c/libcst-1.8.6-cp314-cp314-manylinux_2_28_x86_64.whl", hash = "sha256:3f4fbb7f569e69fd9e89d9d9caa57ca42c577c28ed05062f96a8c207594e75b8", size = 2301466, upload-time = "2025-11-03T22:32:57.337Z" }, + { url = "https://files.pythonhosted.org/packages/af/df/790d9002f31580fefd0aec2f373a0f5da99070e04c5e8b1c995d0104f303/libcst-1.8.6-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:08bd63a8ce674be431260649e70fca1d43f1554f1591eac657f403ff8ef82c7a", size = 2300264, upload-time = "2025-11-03T22:32:58.852Z" }, + { url = "https://files.pythonhosted.org/packages/21/de/dc3f10e65bab461be5de57850d2910a02c24c3ddb0da28f0e6e4133c3487/libcst-1.8.6-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:e00e275d4ba95d4963431ea3e409aa407566a74ee2bf309a402f84fc744abe47", size = 2408572, upload-time = "2025-11-03T22:33:00.552Z" }, + { url = "https://files.pythonhosted.org/packages/20/3b/35645157a7590891038b077db170d6dd04335cd2e82a63bdaa78c3297dfe/libcst-1.8.6-cp314-cp314-win_amd64.whl", hash = "sha256:fea5c7fa26556eedf277d4f72779c5ede45ac3018650721edd77fd37ccd4a2d4", size = 2193917, upload-time = "2025-11-03T22:33:02.354Z" }, + { url = "https://files.pythonhosted.org/packages/b3/a2/1034a9ba7d3e82f2c2afaad84ba5180f601aed676d92b76325797ad60951/libcst-1.8.6-cp314-cp314-win_arm64.whl", hash = "sha256:bb9b4077bdf8857b2483879cbbf70f1073bc255b057ec5aac8a70d901bb838e9", size = 2078748, upload-time = "2025-11-03T22:33:03.707Z" }, + { url = "https://files.pythonhosted.org/packages/95/a1/30bc61e8719f721a5562f77695e6154e9092d1bdf467aa35d0806dcd6cea/libcst-1.8.6-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:55ec021a296960c92e5a33b8d93e8ad4182b0eab657021f45262510a58223de1", size = 2188980, upload-time = "2025-11-03T22:33:05.152Z" }, + { url = "https://files.pythonhosted.org/packages/2c/14/c660204532407c5628e3b615015a902ed2d0b884b77714a6bdbe73350910/libcst-1.8.6-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ba9ab2b012fbd53b36cafd8f4440a6b60e7e487cd8b87428e57336b7f38409a4", size = 2074828, upload-time = "2025-11-03T22:33:06.864Z" }, + { url = "https://files.pythonhosted.org/packages/82/e2/c497c354943dff644749f177ee9737b09ed811b8fc842b05709a40fe0d1b/libcst-1.8.6-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:c0a0cc80aebd8aa15609dd4d330611cbc05e9b4216bcaeabba7189f99ef07c28", size = 2225568, upload-time = "2025-11-03T22:33:08.354Z" }, + { url = "https://files.pythonhosted.org/packages/86/ef/45999676d07bd6d0eefa28109b4f97124db114e92f9e108de42ba46a8028/libcst-1.8.6-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:42a4f68121e2e9c29f49c97f6154e8527cd31021809cc4a941c7270aa64f41aa", size = 2286523, upload-time = "2025-11-03T22:33:10.206Z" }, + { url = "https://files.pythonhosted.org/packages/f4/6c/517d8bf57d9f811862f4125358caaf8cd3320a01291b3af08f7b50719db4/libcst-1.8.6-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8a434c521fadaf9680788b50d5c21f4048fa85ed19d7d70bd40549fbaeeecab1", size = 2288044, upload-time = "2025-11-03T22:33:11.628Z" }, + { url = "https://files.pythonhosted.org/packages/83/ce/24d7d49478ffb61207f229239879845da40a374965874f5ee60f96b02ddb/libcst-1.8.6-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6a65f844d813ab4ef351443badffa0ae358f98821561d19e18b3190f59e71996", size = 2392605, upload-time = "2025-11-03T22:33:12.962Z" }, + { url = "https://files.pythonhosted.org/packages/39/c3/829092ead738b71e96a4e96896c96f276976e5a8a58b4473ed813d7c962b/libcst-1.8.6-cp314-cp314t-win_amd64.whl", hash = "sha256:bdb14bc4d4d83a57062fed2c5da93ecb426ff65b0dc02ddf3481040f5f074a82", size = 2181581, upload-time = "2025-11-03T22:33:14.514Z" }, + { url = "https://files.pythonhosted.org/packages/98/6d/5d6a790a02eb0d9d36c4aed4f41b277497e6178900b2fa29c35353aa45ed/libcst-1.8.6-cp314-cp314t-win_arm64.whl", hash = "sha256:819c8081e2948635cab60c603e1bbdceccdfe19104a242530ad38a36222cb88f", size = 2065000, upload-time = "2025-11-03T22:33:16.257Z" }, +] + +[[package]] +name = "markdown-it-py" +version = "4.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mdurl" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/06/ff/7841249c247aa650a76b9ee4bbaeae59370dc8bfd2f6c01f3630c35eb134/markdown_it_py-4.2.0.tar.gz", hash = "sha256:04a21681d6fbb623de53f6f364d352309d4094dd4194040a10fd51833e418d49", size = 82454, upload-time = "2026-05-07T12:08:28.36Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b3/81/4da04ced5a082363ecfa159c010d200ecbd959ae410c10c0264a38cac0f5/markdown_it_py-4.2.0-py3-none-any.whl", hash = "sha256:9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a", size = 91687, upload-time = "2026-05-07T12:08:27.182Z" }, +] + +[[package]] +name = "markupsafe" +version = "3.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz", hash = "sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", size = 80313, upload-time = "2025-09-27T18:37:40.426Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/38/2f/907b9c7bbba283e68f20259574b13d005c121a0fa4c175f9bed27c4597ff/markupsafe-3.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795", size = 11622, upload-time = "2025-09-27T18:36:41.777Z" }, + { url = "https://files.pythonhosted.org/packages/9c/d9/5f7756922cdd676869eca1c4e3c0cd0df60ed30199ffd775e319089cb3ed/markupsafe-3.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219", size = 12029, upload-time = "2025-09-27T18:36:43.257Z" }, + { url = "https://files.pythonhosted.org/packages/00/07/575a68c754943058c78f30db02ee03a64b3c638586fba6a6dd56830b30a3/markupsafe-3.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6", size = 24374, upload-time = "2025-09-27T18:36:44.508Z" }, + { url = "https://files.pythonhosted.org/packages/a9/21/9b05698b46f218fc0e118e1f8168395c65c8a2c750ae2bab54fc4bd4e0e8/markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676", size = 22980, upload-time = "2025-09-27T18:36:45.385Z" }, + { url = "https://files.pythonhosted.org/packages/7f/71/544260864f893f18b6827315b988c146b559391e6e7e8f7252839b1b846a/markupsafe-3.0.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9", size = 21990, upload-time = "2025-09-27T18:36:46.916Z" }, + { url = "https://files.pythonhosted.org/packages/c2/28/b50fc2f74d1ad761af2f5dcce7492648b983d00a65b8c0e0cb457c82ebbe/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1", size = 23784, upload-time = "2025-09-27T18:36:47.884Z" }, + { url = "https://files.pythonhosted.org/packages/ed/76/104b2aa106a208da8b17a2fb72e033a5a9d7073c68f7e508b94916ed47a9/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc", size = 21588, upload-time = "2025-09-27T18:36:48.82Z" }, + { url = "https://files.pythonhosted.org/packages/b5/99/16a5eb2d140087ebd97180d95249b00a03aa87e29cc224056274f2e45fd6/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12", size = 23041, upload-time = "2025-09-27T18:36:49.797Z" }, + { url = "https://files.pythonhosted.org/packages/19/bc/e7140ed90c5d61d77cea142eed9f9c303f4c4806f60a1044c13e3f1471d0/markupsafe-3.0.3-cp313-cp313-win32.whl", hash = "sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed", size = 14543, upload-time = "2025-09-27T18:36:51.584Z" }, + { url = "https://files.pythonhosted.org/packages/05/73/c4abe620b841b6b791f2edc248f556900667a5a1cf023a6646967ae98335/markupsafe-3.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5", size = 15113, upload-time = "2025-09-27T18:36:52.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/3a/fa34a0f7cfef23cf9500d68cb7c32dd64ffd58a12b09225fb03dd37d5b80/markupsafe-3.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485", size = 13911, upload-time = "2025-09-27T18:36:53.513Z" }, + { url = "https://files.pythonhosted.org/packages/e4/d7/e05cd7efe43a88a17a37b3ae96e79a19e846f3f456fe79c57ca61356ef01/markupsafe-3.0.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73", size = 11658, upload-time = "2025-09-27T18:36:54.819Z" }, + { url = "https://files.pythonhosted.org/packages/99/9e/e412117548182ce2148bdeacdda3bb494260c0b0184360fe0d56389b523b/markupsafe-3.0.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37", size = 12066, upload-time = "2025-09-27T18:36:55.714Z" }, + { url = "https://files.pythonhosted.org/packages/bc/e6/fa0ffcda717ef64a5108eaa7b4f5ed28d56122c9a6d70ab8b72f9f715c80/markupsafe-3.0.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19", size = 25639, upload-time = "2025-09-27T18:36:56.908Z" }, + { url = "https://files.pythonhosted.org/packages/96/ec/2102e881fe9d25fc16cb4b25d5f5cde50970967ffa5dddafdb771237062d/markupsafe-3.0.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025", size = 23569, upload-time = "2025-09-27T18:36:57.913Z" }, + { url = "https://files.pythonhosted.org/packages/4b/30/6f2fce1f1f205fc9323255b216ca8a235b15860c34b6798f810f05828e32/markupsafe-3.0.3-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6", size = 23284, upload-time = "2025-09-27T18:36:58.833Z" }, + { url = "https://files.pythonhosted.org/packages/58/47/4a0ccea4ab9f5dcb6f79c0236d954acb382202721e704223a8aafa38b5c8/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f", size = 24801, upload-time = "2025-09-27T18:36:59.739Z" }, + { url = "https://files.pythonhosted.org/packages/6a/70/3780e9b72180b6fecb83a4814d84c3bf4b4ae4bf0b19c27196104149734c/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb", size = 22769, upload-time = "2025-09-27T18:37:00.719Z" }, + { url = "https://files.pythonhosted.org/packages/98/c5/c03c7f4125180fc215220c035beac6b9cb684bc7a067c84fc69414d315f5/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009", size = 23642, upload-time = "2025-09-27T18:37:01.673Z" }, + { url = "https://files.pythonhosted.org/packages/80/d6/2d1b89f6ca4bff1036499b1e29a1d02d282259f3681540e16563f27ebc23/markupsafe-3.0.3-cp313-cp313t-win32.whl", hash = "sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354", size = 14612, upload-time = "2025-09-27T18:37:02.639Z" }, + { url = "https://files.pythonhosted.org/packages/2b/98/e48a4bfba0a0ffcf9925fe2d69240bfaa19c6f7507b8cd09c70684a53c1e/markupsafe-3.0.3-cp313-cp313t-win_amd64.whl", hash = "sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218", size = 15200, upload-time = "2025-09-27T18:37:03.582Z" }, + { url = "https://files.pythonhosted.org/packages/0e/72/e3cc540f351f316e9ed0f092757459afbc595824ca724cbc5a5d4263713f/markupsafe-3.0.3-cp313-cp313t-win_arm64.whl", hash = "sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287", size = 13973, upload-time = "2025-09-27T18:37:04.929Z" }, + { url = "https://files.pythonhosted.org/packages/33/8a/8e42d4838cd89b7dde187011e97fe6c3af66d8c044997d2183fbd6d31352/markupsafe-3.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe", size = 11619, upload-time = "2025-09-27T18:37:06.342Z" }, + { url = "https://files.pythonhosted.org/packages/b5/64/7660f8a4a8e53c924d0fa05dc3a55c9cee10bbd82b11c5afb27d44b096ce/markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026", size = 12029, upload-time = "2025-09-27T18:37:07.213Z" }, + { url = "https://files.pythonhosted.org/packages/da/ef/e648bfd021127bef5fa12e1720ffed0c6cbb8310c8d9bea7266337ff06de/markupsafe-3.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737", size = 24408, upload-time = "2025-09-27T18:37:09.572Z" }, + { url = "https://files.pythonhosted.org/packages/41/3c/a36c2450754618e62008bf7435ccb0f88053e07592e6028a34776213d877/markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97", size = 23005, upload-time = "2025-09-27T18:37:10.58Z" }, + { url = "https://files.pythonhosted.org/packages/bc/20/b7fdf89a8456b099837cd1dc21974632a02a999ec9bf7ca3e490aacd98e7/markupsafe-3.0.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d", size = 22048, upload-time = "2025-09-27T18:37:11.547Z" }, + { url = "https://files.pythonhosted.org/packages/9a/a7/591f592afdc734f47db08a75793a55d7fbcc6902a723ae4cfbab61010cc5/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda", size = 23821, upload-time = "2025-09-27T18:37:12.48Z" }, + { url = "https://files.pythonhosted.org/packages/7d/33/45b24e4f44195b26521bc6f1a82197118f74df348556594bd2262bda1038/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf", size = 21606, upload-time = "2025-09-27T18:37:13.485Z" }, + { url = "https://files.pythonhosted.org/packages/ff/0e/53dfaca23a69fbfbbf17a4b64072090e70717344c52eaaaa9c5ddff1e5f0/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe", size = 23043, upload-time = "2025-09-27T18:37:14.408Z" }, + { url = "https://files.pythonhosted.org/packages/46/11/f333a06fc16236d5238bfe74daccbca41459dcd8d1fa952e8fbd5dccfb70/markupsafe-3.0.3-cp314-cp314-win32.whl", hash = "sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9", size = 14747, upload-time = "2025-09-27T18:37:15.36Z" }, + { url = "https://files.pythonhosted.org/packages/28/52/182836104b33b444e400b14f797212f720cbc9ed6ba34c800639d154e821/markupsafe-3.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581", size = 15341, upload-time = "2025-09-27T18:37:16.496Z" }, + { url = "https://files.pythonhosted.org/packages/6f/18/acf23e91bd94fd7b3031558b1f013adfa21a8e407a3fdb32745538730382/markupsafe-3.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4", size = 14073, upload-time = "2025-09-27T18:37:17.476Z" }, + { url = "https://files.pythonhosted.org/packages/3c/f0/57689aa4076e1b43b15fdfa646b04653969d50cf30c32a102762be2485da/markupsafe-3.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab", size = 11661, upload-time = "2025-09-27T18:37:18.453Z" }, + { url = "https://files.pythonhosted.org/packages/89/c3/2e67a7ca217c6912985ec766c6393b636fb0c2344443ff9d91404dc4c79f/markupsafe-3.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175", size = 12069, upload-time = "2025-09-27T18:37:19.332Z" }, + { url = "https://files.pythonhosted.org/packages/f0/00/be561dce4e6ca66b15276e184ce4b8aec61fe83662cce2f7d72bd3249d28/markupsafe-3.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634", size = 25670, upload-time = "2025-09-27T18:37:20.245Z" }, + { url = "https://files.pythonhosted.org/packages/50/09/c419f6f5a92e5fadde27efd190eca90f05e1261b10dbd8cbcb39cd8ea1dc/markupsafe-3.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50", size = 23598, upload-time = "2025-09-27T18:37:21.177Z" }, + { url = "https://files.pythonhosted.org/packages/22/44/a0681611106e0b2921b3033fc19bc53323e0b50bc70cffdd19f7d679bb66/markupsafe-3.0.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e", size = 23261, upload-time = "2025-09-27T18:37:22.167Z" }, + { url = "https://files.pythonhosted.org/packages/5f/57/1b0b3f100259dc9fffe780cfb60d4be71375510e435efec3d116b6436d43/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5", size = 24835, upload-time = "2025-09-27T18:37:23.296Z" }, + { url = "https://files.pythonhosted.org/packages/26/6a/4bf6d0c97c4920f1597cc14dd720705eca0bf7c787aebc6bb4d1bead5388/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523", size = 22733, upload-time = "2025-09-27T18:37:24.237Z" }, + { url = "https://files.pythonhosted.org/packages/14/c7/ca723101509b518797fedc2fdf79ba57f886b4aca8a7d31857ba3ee8281f/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc", size = 23672, upload-time = "2025-09-27T18:37:25.271Z" }, + { url = "https://files.pythonhosted.org/packages/fb/df/5bd7a48c256faecd1d36edc13133e51397e41b73bb77e1a69deab746ebac/markupsafe-3.0.3-cp314-cp314t-win32.whl", hash = "sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d", size = 14819, upload-time = "2025-09-27T18:37:26.285Z" }, + { url = "https://files.pythonhosted.org/packages/1a/8a/0402ba61a2f16038b48b39bccca271134be00c5c9f0f623208399333c448/markupsafe-3.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9", size = 15426, upload-time = "2025-09-27T18:37:27.316Z" }, + { url = "https://files.pythonhosted.org/packages/70/bc/6f1c2f612465f5fa89b95bead1f44dcb607670fd42891d8fdcd5d039f4f4/markupsafe-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa", size = 14146, upload-time = "2025-09-27T18:37:28.327Z" }, +] + +[[package]] +name = "mdurl" +version = "0.1.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729, upload-time = "2022-08-14T12:40:10.846Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" }, +] + +[[package]] +name = "packaging" +version = "26.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d7/f1/e7a6dd94a8d4a5626c03e4e99c87f241ba9e350cd9e6d75123f992427270/packaging-26.2.tar.gz", hash = "sha256:ff452ff5a3e828ce110190feff1178bb1f2ea2281fa2075aadb987c2fb221661", size = 228134, upload-time = "2026-04-24T20:15:23.917Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl", hash = "sha256:5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e", size = 100195, upload-time = "2026-04-24T20:15:22.081Z" }, +] + +[[package]] +name = "pluggy" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, +] + +[[package]] +name = "pydantic" +version = "2.13.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "annotated-types" }, + { name = "pydantic-core" }, + { name = "typing-extensions" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/18/a5/b60d21ac674192f8ab0ba4e9fd860690f9b4a6e51ca5df118733b487d8d6/pydantic-2.13.4.tar.gz", hash = "sha256:c40756b57adaa8b1efeeced5c196f3f3b7c435f90e84ea7f443901bec8099ef6", size = 844775, upload-time = "2026-05-06T13:43:05.343Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fd/7b/122376b1fd3c62c1ed9dc80c931ace4844b3c55407b6fb2d199377c9736f/pydantic-2.13.4-py3-none-any.whl", hash = "sha256:45a282cde31d808236fd7ea9d919b128653c8b38b393d1c4ab335c62924d9aba", size = 472262, upload-time = "2026-05-06T13:43:02.641Z" }, +] + +[[package]] +name = "pydantic-core" +version = "2.46.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9d/56/921726b776ace8d8f5db44c4ef961006580d91dc52b803c489fafd1aa249/pydantic_core-2.46.4.tar.gz", hash = "sha256:62f875393d7f270851f20523dd2e29f082bcc82292d66db2b64ea71f64b6e1c1", size = 471464, upload-time = "2026-05-06T13:37:06.98Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/51/a2/5d30b469c5267a17b39dec53208222f76a8d351dfac4af661888c5aee77d/pydantic_core-2.46.4-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:5d5902252db0d3cedf8d4a1bc68f70eeb430f7e4c7104c8c476753519b423008", size = 2106306, upload-time = "2026-05-06T13:37:48.029Z" }, + { url = "https://files.pythonhosted.org/packages/c1/81/4fa520eaffa8bd7d1525e644cd6d39e7d60b1592bc5b516693c7340b50f1/pydantic_core-2.46.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:c94f0688e7b8d0a67abf40e57a7eaaecd17cc9586706a31b76c031f63df052b4", size = 1951906, upload-time = "2026-05-06T13:37:17.012Z" }, + { url = "https://files.pythonhosted.org/packages/03/d5/fd02da45b659668b05923b17ba3a0100a0a3d5541e3bd8fcc4ecb711309e/pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f027324c56cd5406ca49c124b0db10e56c69064fec039acc571c29020cc87c76", size = 1976802, upload-time = "2026-05-06T13:37:35.113Z" }, + { url = "https://files.pythonhosted.org/packages/21/f2/95727e1368be3d3ed485eaab7adbd7dda408f33f7a36e8b48e0144002b91/pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e739fee756ba1010f8bcccb534252e85a35fe45ae92c295a06059ce58b74ccd3", size = 2052446, upload-time = "2026-05-06T13:37:12.313Z" }, + { url = "https://files.pythonhosted.org/packages/9c/86/5d99feea3f77c7234b8718075b23db11532773c1a0dbd9b9490215dc2eeb/pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9d56801be94b86a9da183e5f3766e6310752b99ff647e38b09a9500d88e46e76", size = 2232757, upload-time = "2026-05-06T13:39:01.149Z" }, + { url = "https://files.pythonhosted.org/packages/d2/3a/508ac615935ef7588cf6d9e9b91309fdc2da751af865e02a9098de88258c/pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2412e734dcb48da14d4e4006b82b46b74f2518b8a26ee7e58c6844a6cd6d03c4", size = 2309275, upload-time = "2026-05-06T13:37:41.406Z" }, + { url = "https://files.pythonhosted.org/packages/07/f8/41db9de19d7987d6b04715a02b3b40aea467000275d9d758ffaa31af7d50/pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9551187363ffc0de2a00b2e47c25aeaeb1020b69b668762966df15fc5659dd5a", size = 2094467, upload-time = "2026-05-06T13:39:18.847Z" }, + { url = "https://files.pythonhosted.org/packages/2c/e2/f35033184cb11d0052daf4416e8e10a502ea2ac006fc4f459aee872727d1/pydantic_core-2.46.4-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:0186750b482eefa11d7f435892b09c5c606193ef3375bcf94aa00ae6bfb66262", size = 2134417, upload-time = "2026-05-06T13:40:17.944Z" }, + { url = "https://files.pythonhosted.org/packages/7e/7b/6ceeb1cc90e193862f444ebe373d8fdf613f0a82572dde03fb10734c6c71/pydantic_core-2.46.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5855698a4856556d86e8e6cd8434bc3ac0314ee8e12089ae0e143f64c6256e4e", size = 2179782, upload-time = "2026-05-06T13:40:32.618Z" }, + { url = "https://files.pythonhosted.org/packages/5a/f2/c8d7773ede6af08036423a00ae0ceffce266c3c52a096c435d68c896083f/pydantic_core-2.46.4-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:cbaf13819775b7f769bf4a1f066cb6df7a28d4480081a589828ef190226881cd", size = 2188782, upload-time = "2026-05-06T13:36:51.018Z" }, + { url = "https://files.pythonhosted.org/packages/59/31/0c864784e31f09f05cdd87606f08923b9c9e7f6e51dd27f20f62f975ce9f/pydantic_core-2.46.4-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:633147d34cf4550417f12e2b1a0383973bdf5cdfde212cb09e9a581cf10820be", size = 2328334, upload-time = "2026-05-06T13:40:37.764Z" }, + { url = "https://files.pythonhosted.org/packages/c2/eb/4f6c8a41efa30baa755590f4141abf3a8c370fab610915733e74134a7270/pydantic_core-2.46.4-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:82cf5301172168103724d49a1444d3378cb20cdee30b116a1bd6031236298a5d", size = 2372986, upload-time = "2026-05-06T13:39:34.152Z" }, + { url = "https://files.pythonhosted.org/packages/5b/24/b375a480d53113860c299764bfe9f349a3dc9108b3adc0d7f0d786492ebf/pydantic_core-2.46.4-cp313-cp313-win32.whl", hash = "sha256:9fa8ae11da9e2b3126c6426f147e0fba88d96d65921799bb30c6abd1cb2c97fb", size = 1973693, upload-time = "2026-05-06T13:37:55.072Z" }, + { url = "https://files.pythonhosted.org/packages/7e/e8/cff247591966f2d22ec8c003cd7587e27b7ba7b81ab2fb888e3ab75dc285/pydantic_core-2.46.4-cp313-cp313-win_amd64.whl", hash = "sha256:6b3ace8194b0e5204818c92802dcdca7fc6d88aabbb799d7c795540d9cd6d292", size = 2071819, upload-time = "2026-05-06T13:38:49.139Z" }, + { url = "https://files.pythonhosted.org/packages/c6/1a/f4aee670d5670e9e148e0c82c7db98d780be566c6e6a97ee8035528ca0b3/pydantic_core-2.46.4-cp313-cp313-win_arm64.whl", hash = "sha256:184c081504d17f1c1066e430e117142b2c77d9448a97f7b65c6ac9fd9aee238d", size = 2027411, upload-time = "2026-05-06T13:40:45.796Z" }, + { url = "https://files.pythonhosted.org/packages/8d/74/228a26ddad29c6672b805d9fd78e8d251cd04004fa7eed0e622096cd0250/pydantic_core-2.46.4-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:428e04521a40150c85216fc8b85e8d39fece235a9cf5e383761238c7fa9b96fb", size = 2102079, upload-time = "2026-05-06T13:38:41.019Z" }, + { url = "https://files.pythonhosted.org/packages/ad/1f/8970b150a4b4365623ae00fc88603491f763c627311ae8031e3111356d6e/pydantic_core-2.46.4-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:23ace664830ee0bfe014a0c7bc248b1f7f25ed7ad103852c317624a1083af462", size = 1952179, upload-time = "2026-05-06T13:36:59.812Z" }, + { url = "https://files.pythonhosted.org/packages/95/30/5211a831ae054928054b2f79731661087a2bc5c01e825c672b3a4a8f1b3e/pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce5c1d2a8b27468f433ca974829c44060b8097eedc39933e3c206a90ee49c4a9", size = 1978926, upload-time = "2026-05-06T13:37:39.933Z" }, + { url = "https://files.pythonhosted.org/packages/57/e9/689668733b1eb67adeef047db3c2e8788fcf65a7fd9c9e2b46b7744fe245/pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7283d57845ecf5a163403eb0702dfc220cc4fbdd18919cb5ccea4f95ee1cdab4", size = 2046785, upload-time = "2026-05-06T13:38:01.995Z" }, + { url = "https://files.pythonhosted.org/packages/60/d9/6715260422ff50a2109878fd24d948a6c3446bb2664f34ee78cd972b3acd/pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8daafc69c93ee8a0204506a3b6b30f586ef54028f52aeeeb5c4cfc5184fd5914", size = 2228733, upload-time = "2026-05-06T13:40:50.371Z" }, + { url = "https://files.pythonhosted.org/packages/18/ae/fdb2f64316afca925640f8e70bb1a564b0ec2721c1389e25b8eb4bf9a299/pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd2213145bcc2ba85884d0ac63d222fece9209678f77b9b4d76f054c561adb28", size = 2307534, upload-time = "2026-05-06T13:37:21.531Z" }, + { url = "https://files.pythonhosted.org/packages/89/1d/8eff589b45bb8190a9d12c49cfad0f176a5cbd1534908a6b5125e2886239/pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a5f930472650a82629163023e630d160863fce524c616f4e5186e5de9d9a49b", size = 2099732, upload-time = "2026-05-06T13:39:31.942Z" }, + { url = "https://files.pythonhosted.org/packages/06/d5/ee5a3366637fee41dee51a1fc91562dcf12ddbc68fda34e6b253da2324bb/pydantic_core-2.46.4-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:c1b3f518abeca3aa13c712fd202306e145abf59a18b094a6bafb2d2bbf59192c", size = 2129627, upload-time = "2026-05-06T13:37:25.033Z" }, + { url = "https://files.pythonhosted.org/packages/94/33/2414be571d2c6a6c4d08be21f9292b6d3fdb08949a97b6dfe985017821db/pydantic_core-2.46.4-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1a7dd0b3ee80d90150e3495a3a13ac34dbcbfd4f012996a6a1d8900e91b5c0fb", size = 2179141, upload-time = "2026-05-06T13:37:14.046Z" }, + { url = "https://files.pythonhosted.org/packages/7b/79/7daa95be995be0eecc4cf75064cb33f9bbbfe3fe0158caf2f0d4a996a5c7/pydantic_core-2.46.4-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:3fb702cd90b0446a3a1c5e470bfa0dd23c0233b676a9099ddcc964fa6ca13898", size = 2184325, upload-time = "2026-05-06T13:36:53.615Z" }, + { url = "https://files.pythonhosted.org/packages/9f/cb/d0a382f5c0de8a222dc61c65348e0ce831b1f68e0a018450d31c2cace3a5/pydantic_core-2.46.4-cp314-cp314-musllinux_1_1_armv7l.whl", hash = "sha256:b8458003118a712e66286df6a707db01c52c0f52f7db8e4a38f0da1d3b94fc4e", size = 2323990, upload-time = "2026-05-06T13:40:29.971Z" }, + { url = "https://files.pythonhosted.org/packages/05/db/d9ba624cc4a5aced1598e88c04fdbd8310c8a69b9d38b9a3d39ce3a61ed7/pydantic_core-2.46.4-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:372429a130e469c9cd698925ce5fc50940b7a1336b0d82038e63d5bbc4edc519", size = 2369978, upload-time = "2026-05-06T13:37:23.027Z" }, + { url = "https://files.pythonhosted.org/packages/f2/20/d15df15ba918c423461905802bfd2981c3af0bfa0e40d05e13edbfa48bc3/pydantic_core-2.46.4-cp314-cp314-win32.whl", hash = "sha256:85bb3611ff1802f3ee7fdd7dbff26b56f343fb432d57a4728fdd49b6ef35e2f4", size = 1966354, upload-time = "2026-05-06T13:38:03.499Z" }, + { url = "https://files.pythonhosted.org/packages/fc/b6/6b8de4c0a7d7ab3004c439c80c5c1e0a3e8d78bbae19379b01960383d9e5/pydantic_core-2.46.4-cp314-cp314-win_amd64.whl", hash = "sha256:811ff8e9c313ab425368bcbb36e5c4ebd7108c2bbf4e4089cfbb0b01eff63fac", size = 2072238, upload-time = "2026-05-06T13:39:40.807Z" }, + { url = "https://files.pythonhosted.org/packages/32/36/51eb763beec1f4cf59b1db243a7dcc39cbb41230f050a09b9d69faaf0a48/pydantic_core-2.46.4-cp314-cp314-win_arm64.whl", hash = "sha256:bfec22eab3c8cc2ceec0248aec886624116dc079afa027ecc8ad4a7e62010f8a", size = 2018251, upload-time = "2026-05-06T13:37:26.72Z" }, + { url = "https://files.pythonhosted.org/packages/e8/91/855af51d625b23aa987116a19e231d2aaef9c4a415273ddc189b79a45fee/pydantic_core-2.46.4-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:af8244b2bef6aaad6d92cda81372de7f8c8d36c9f0c3ea36e827c60e7d9467a0", size = 2099593, upload-time = "2026-05-06T13:39:47.682Z" }, + { url = "https://files.pythonhosted.org/packages/fb/1b/8784a54c65edb5f49f0a14d6977cf1b209bba85a4c77445b255c2de58ab3/pydantic_core-2.46.4-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5a4330cdbc57162e4b3aa303f588ba752257694c9c9be3e7ebb11b4aca659b5d", size = 1935226, upload-time = "2026-05-06T13:40:40.428Z" }, + { url = "https://files.pythonhosted.org/packages/e8/e7/1955d28d1afc56dd4b3ad7cc0cf39df1b9852964cf16e5d13912756d6d6b/pydantic_core-2.46.4-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29c61fc04a3d840155ff08e475a04809278972fe6aef51e2720554e96367e34b", size = 1974605, upload-time = "2026-05-06T13:37:32.029Z" }, + { url = "https://files.pythonhosted.org/packages/93/e2/3fedbf0ba7a22850e6e9fd78117f1c0f10f950182344d8a6c535d468fdd8/pydantic_core-2.46.4-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c50f2528cf200c5eed56faf3f4e22fcd5f38c157a8b78576e6ba3168ec35f000", size = 2030777, upload-time = "2026-05-06T13:38:55.239Z" }, + { url = "https://files.pythonhosted.org/packages/f8/61/46be275fcaaba0b4f5b9669dd852267ce1ff616592dccf7a7845588df091/pydantic_core-2.46.4-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0cbe8b01f948de4286c74cdd6c667aceb38f5c1e26f0693b3983d9d74887c65e", size = 2236641, upload-time = "2026-05-06T13:37:08.096Z" }, + { url = "https://files.pythonhosted.org/packages/60/db/12e93e46a8bac9988be3c016860f83293daea8c716c029c9ace279036f2f/pydantic_core-2.46.4-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:617d7e2ca7dcb8c5cf6bcb8c59b8832c94b36196bbf1cbd1bfb56ed341905edd", size = 2286404, upload-time = "2026-05-06T13:40:20.221Z" }, + { url = "https://files.pythonhosted.org/packages/e2/4a/4d8b19008f38d31c53b8219cfedc2e3d5de5fe99d90076b7e767de29274f/pydantic_core-2.46.4-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7027560ee92211647d0d34e3f7cd6f50da56399d26a9c8ad0da286d3869a53f3", size = 2109219, upload-time = "2026-05-06T13:38:12.153Z" }, + { url = "https://files.pythonhosted.org/packages/88/70/3cbc40978fefb7bb09c6708d40d4ad1a5d70fd7213c3d17f971de868ec1f/pydantic_core-2.46.4-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:f99626688942fb746e545232e7726926f3be91b5975f8b55327665fafda991c7", size = 2110594, upload-time = "2026-05-06T13:40:02.971Z" }, + { url = "https://files.pythonhosted.org/packages/9d/20/b8d36736216e29491125531685b2f9e61aa5b4b2599893f8268551da3338/pydantic_core-2.46.4-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fc3e9034a63de20e15e8ade85358bc6efc614008cab72898b4b4952bea0509ff", size = 2159542, upload-time = "2026-05-06T13:39:27.506Z" }, + { url = "https://files.pythonhosted.org/packages/1d/a2/367df868eb584dacf6bf82a389272406d7178e301c4ac82545ab98bc2dd9/pydantic_core-2.46.4-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:97e7cf2be5c77b7d1a9713a05605d49460d02c6078d38d8bef3cbe323c548424", size = 2168146, upload-time = "2026-05-06T13:38:31.93Z" }, + { url = "https://files.pythonhosted.org/packages/c1/b8/4460f77f7e201893f649a29ab355dddd3beee8a97bcb1a320db414f9a06e/pydantic_core-2.46.4-cp314-cp314t-musllinux_1_1_armv7l.whl", hash = "sha256:3bf92c5d0e00fefaab325a4d27828fe6b6e2a21848686b5b60d2d9eeb09d76c6", size = 2306309, upload-time = "2026-05-06T13:37:44.717Z" }, + { url = "https://files.pythonhosted.org/packages/64/c4/be2639293acd87dc8ddbcec41a73cee9b2ebf996fe6d892a1a74e88ad3f7/pydantic_core-2.46.4-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:3ecbc122d18468d06ca279dc26a8c2e2d5acb10943bb35e36ae92096dc3b5565", size = 2369736, upload-time = "2026-05-06T13:37:05.645Z" }, + { url = "https://files.pythonhosted.org/packages/30/a6/9f9f380dbb301f67023bf8f707aaa75daadf84f7152d95c410fd7e81d994/pydantic_core-2.46.4-cp314-cp314t-win32.whl", hash = "sha256:e846ae7835bf0703ae43f534ab79a867146dadd59dc9ca5c8b53d5c8f7c9ef02", size = 1955575, upload-time = "2026-05-06T13:38:51.116Z" }, + { url = "https://files.pythonhosted.org/packages/40/1f/f1eb9eb350e795d1af8586289746f5c5677d16043040d63710e22abc43c9/pydantic_core-2.46.4-cp314-cp314t-win_amd64.whl", hash = "sha256:2108ba5c1c1eca18030634489dc544844144ee36357f2f9f780b93e7ddbb44b5", size = 2051624, upload-time = "2026-05-06T13:38:21.672Z" }, + { url = "https://files.pythonhosted.org/packages/f6/d2/42dd53d0a85c27606f316d3aa5d2869c4e8470a5ed6dec30e4a1abe19192/pydantic_core-2.46.4-cp314-cp314t-win_arm64.whl", hash = "sha256:4fcbe087dbc2068af7eda3aa87634eba216dbda64d1ae73c8684b621d33f6596", size = 2017325, upload-time = "2026-05-06T13:40:52.723Z" }, +] + +[[package]] +name = "pyfakefs" +version = "6.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/98/0d/c80012ee6e885c293ad63c5f5b049d3ef3fd2b32bbe6fa8739145f392ec6/pyfakefs-6.2.0.tar.gz", hash = "sha256:e59a36db447bf509ce9c97ab3d1510c08cc51895c5311325a560a5e5b5dc1940", size = 228273, upload-time = "2026-04-12T13:38:50.411Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b2/80/97571ac8295289c267367b7b60aadeae1a9a841e83f0a96ad9b65d1dd3c0/pyfakefs-6.2.0-py3-none-any.whl", hash = "sha256:0968a49db692694ffed420e54a9f1cbae4636637b880e8ab09c8ccc0f11bd7ae", size = 241113, upload-time = "2026-04-12T13:38:48.927Z" }, +] + +[[package]] +name = "pygments" +version = "2.20.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c3/b2/bc9c9196916376152d655522fdcebac55e66de6603a76a02bca1b6414f6c/pygments-2.20.0.tar.gz", hash = "sha256:6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f", size = 4955991, upload-time = "2026-03-29T13:29:33.898Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl", hash = "sha256:81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176", size = 1231151, upload-time = "2026-03-29T13:29:30.038Z" }, +] + +[[package]] +name = "pyrefly" +version = "1.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8e/20/976165fa4b1517a1a92f393b3f4d4badabfff1165eff09d4cd4908428183/pyrefly-1.1.1.tar.gz", hash = "sha256:6deda959f8603a7dbdf112c48983e2275b2903cf33c8c739ed65d7e71a4fd520", size = 5880491, upload-time = "2026-06-18T23:45:43.785Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b5/d6/02ba666018c6a1cb4ddfa2db98ada721adddd374db5c29ba47a0bf2637fa/pyrefly-1.1.1-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:f4b8595f91885bc8b5e3c282ab68d1df21201668a84e6508b1e15f2feec0bb8d", size = 13631867, upload-time = "2026-06-18T23:45:13.923Z" }, + { url = "https://files.pythonhosted.org/packages/71/47/7a3457dbbddb513a83cf4fe527d5d5ebda5201a1010ad2a6034030e3e358/pyrefly-1.1.1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:d6b238e1362622d47a6eb5af704fd8b613c94e8c303386efd6350e3da59fecc8", size = 13075304, upload-time = "2026-06-18T23:45:16.865Z" }, + { url = "https://files.pythonhosted.org/packages/84/df/70f4b3f42d58ed686a80df31e04eca54d88036cea4f9b96195c64ad0b2b5/pyrefly-1.1.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b50d4510e4f8aaea79e2c4b343a4d7a060c9451c0b2aa9bfe10d7ca1ef33d68d", size = 13446966, upload-time = "2026-06-18T23:45:19.644Z" }, + { url = "https://files.pythonhosted.org/packages/3c/53/12a19bd6c7af985bcbc13c6910d0f9f6684069ead2282a5c08c2bfbb5d03/pyrefly-1.1.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f330cf039ef3da3b910c84f3a7e431f0cf8d0c1d2dad26491d6cadf3c7cd4759", size = 14449222, upload-time = "2026-06-18T23:45:22.252Z" }, + { url = "https://files.pythonhosted.org/packages/93/f0/e55c48a50076fc0f9ecf4bdedec50456db383e01162f5e2121f8468be071/pyrefly-1.1.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a6342d87c52b04f72156da04f554c4d57f3616f2b32d1763969efb22d05a1407", size = 14472947, upload-time = "2026-06-18T23:45:24.858Z" }, + { url = "https://files.pythonhosted.org/packages/b6/e7/30e085b31fed978ecb675bdbb54df566673ab550469e5af2d350f6af0be6/pyrefly-1.1.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c08b814ad03175e9cf47111390537161828b472044c39ab3320252b3ac6b2edd", size = 13975252, upload-time = "2026-06-18T23:45:27.247Z" }, + { url = "https://files.pythonhosted.org/packages/47/58/49c3e67641133d3fe5d8d9a660dc0826c6c37ca197d86cad05fa7dd8bfd6/pyrefly-1.1.1-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:d50cad97f19fc893b04deff7239626cffff5dd27ffb29b7d303a1b770247b208", size = 13471780, upload-time = "2026-06-18T23:45:29.775Z" }, + { url = "https://files.pythonhosted.org/packages/71/1e/65a7ba8355e2c39d8331832905fb74dcc85fc122a3f1dfd6dbf2a88907ad/pyrefly-1.1.1-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:2150b450ee6a6bcbe69b2d45d9a4ebc934a609e1abcf65e490433f38eb873d84", size = 13989306, upload-time = "2026-06-18T23:45:32.576Z" }, + { url = "https://files.pythonhosted.org/packages/37/de/b7ee1ab2392c36945738246fba7524439810befa3cfcc03cb6157567fc10/pyrefly-1.1.1-py3-none-win32.whl", hash = "sha256:5ffd8a8ed62fe4e6bf0afe1837d1bad149bb3b9f80e928ef248c96b836db3742", size = 12608469, upload-time = "2026-06-18T23:45:35.419Z" }, + { url = "https://files.pythonhosted.org/packages/a6/9c/a0f5b52934bf80e9c7eff08222e7caf318287b9aef76acb8d9ac5740581b/pyrefly-1.1.1-py3-none-win_amd64.whl", hash = "sha256:4e0430f3ef69c8ac73505fd6584db70ed504665a9f0816fef7f723de510f26cb", size = 13502172, upload-time = "2026-06-18T23:45:38.375Z" }, + { url = "https://files.pythonhosted.org/packages/42/3d/4c6bcb3d456835f51445d3662a428f56c3ea5643ec798c577030ae34298c/pyrefly-1.1.1-py3-none-win_arm64.whl", hash = "sha256:83baf0db71e172665db1fca0ced50b8f7773f5192ca57e8ac6773a772b6d2fc5", size = 12895979, upload-time = "2026-06-18T23:45:41.026Z" }, +] + +[[package]] +name = "pytest" +version = "9.1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "iniconfig" }, + { name = "packaging" }, + { name = "pluggy" }, + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e4/47/b9efed96c114afcfa3c9d3fe98a76a1d14c74a9e266d397cf6eb64be5e01/pytest-9.1.1.tar.gz", hash = "sha256:1088fbde8f2b49d95a549a195707afa7a76a3ce9bcadc26b6d71f0ffda5fe313", size = 1636369, upload-time = "2026-06-19T10:58:32.857Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/24/25/1de2678b631f5a49215c6c96fff41ba892b0a34df68d6d80292b1b48aa7f/pytest-9.1.1-py3-none-any.whl", hash = "sha256:37a86b45efb9a47a61a36449063e8e18d0cab3161329fc099eb21783169c4f0c", size = 386536, upload-time = "2026-06-19T10:58:31.347Z" }, +] + +[[package]] +name = "pytest-cov" +version = "7.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "coverage" }, + { name = "pluggy" }, + { name = "pytest" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b1/51/a849f96e117386044471c8ec2bd6cfebacda285da9525c9106aeb28da671/pytest_cov-7.1.0.tar.gz", hash = "sha256:30674f2b5f6351aa09702a9c8c364f6a01c27aae0c1366ae8016160d1efc56b2", size = 55592, upload-time = "2026-03-21T20:11:16.284Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9d/7a/d968e294073affff457b041c2be9868a40c1c71f4a35fcc1e45e5493067b/pytest_cov-7.1.0-py3-none-any.whl", hash = "sha256:a0461110b7865f9a271aa1b51e516c9a95de9d696734a2f71e3e78f46e1d4678", size = 22876, upload-time = "2026-03-21T20:11:14.438Z" }, +] + +[[package]] +name = "pyyaml" +version = "6.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", size = 130960, upload-time = "2025-09-25T21:33:16.546Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/11/0fd08f8192109f7169db964b5707a2f1e8b745d4e239b784a5a1dd80d1db/pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8", size = 181669, upload-time = "2025-09-25T21:32:23.673Z" }, + { url = "https://files.pythonhosted.org/packages/b1/16/95309993f1d3748cd644e02e38b75d50cbc0d9561d21f390a76242ce073f/pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1", size = 173252, upload-time = "2025-09-25T21:32:25.149Z" }, + { url = "https://files.pythonhosted.org/packages/50/31/b20f376d3f810b9b2371e72ef5adb33879b25edb7a6d072cb7ca0c486398/pyyaml-6.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c", size = 767081, upload-time = "2025-09-25T21:32:26.575Z" }, + { url = "https://files.pythonhosted.org/packages/49/1e/a55ca81e949270d5d4432fbbd19dfea5321eda7c41a849d443dc92fd1ff7/pyyaml-6.0.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5", size = 841159, upload-time = "2025-09-25T21:32:27.727Z" }, + { url = "https://files.pythonhosted.org/packages/74/27/e5b8f34d02d9995b80abcef563ea1f8b56d20134d8f4e5e81733b1feceb2/pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6", size = 801626, upload-time = "2025-09-25T21:32:28.878Z" }, + { url = "https://files.pythonhosted.org/packages/f9/11/ba845c23988798f40e52ba45f34849aa8a1f2d4af4b798588010792ebad6/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6", size = 753613, upload-time = "2025-09-25T21:32:30.178Z" }, + { url = "https://files.pythonhosted.org/packages/3d/e0/7966e1a7bfc0a45bf0a7fb6b98ea03fc9b8d84fa7f2229e9659680b69ee3/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be", size = 794115, upload-time = "2025-09-25T21:32:31.353Z" }, + { url = "https://files.pythonhosted.org/packages/de/94/980b50a6531b3019e45ddeada0626d45fa85cbe22300844a7983285bed3b/pyyaml-6.0.3-cp313-cp313-win32.whl", hash = "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26", size = 137427, upload-time = "2025-09-25T21:32:32.58Z" }, + { url = "https://files.pythonhosted.org/packages/97/c9/39d5b874e8b28845e4ec2202b5da735d0199dbe5b8fb85f91398814a9a46/pyyaml-6.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c", size = 154090, upload-time = "2025-09-25T21:32:33.659Z" }, + { url = "https://files.pythonhosted.org/packages/73/e8/2bdf3ca2090f68bb3d75b44da7bbc71843b19c9f2b9cb9b0f4ab7a5a4329/pyyaml-6.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb", size = 140246, upload-time = "2025-09-25T21:32:34.663Z" }, + { url = "https://files.pythonhosted.org/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac", size = 181814, upload-time = "2025-09-25T21:32:35.712Z" }, + { url = "https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310", size = 173809, upload-time = "2025-09-25T21:32:36.789Z" }, + { url = "https://files.pythonhosted.org/packages/92/b5/47e807c2623074914e29dabd16cbbdd4bf5e9b2db9f8090fa64411fc5382/pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7", size = 766454, upload-time = "2025-09-25T21:32:37.966Z" }, + { url = "https://files.pythonhosted.org/packages/02/9e/e5e9b168be58564121efb3de6859c452fccde0ab093d8438905899a3a483/pyyaml-6.0.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788", size = 836355, upload-time = "2025-09-25T21:32:39.178Z" }, + { url = "https://files.pythonhosted.org/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5", size = 794175, upload-time = "2025-09-25T21:32:40.865Z" }, + { url = "https://files.pythonhosted.org/packages/dd/3f/5989debef34dc6397317802b527dbbafb2b4760878a53d4166579111411e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764", size = 755228, upload-time = "2025-09-25T21:32:42.084Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ce/af88a49043cd2e265be63d083fc75b27b6ed062f5f9fd6cdc223ad62f03e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35", size = 789194, upload-time = "2025-09-25T21:32:43.362Z" }, + { url = "https://files.pythonhosted.org/packages/23/20/bb6982b26a40bb43951265ba29d4c246ef0ff59c9fdcdf0ed04e0687de4d/pyyaml-6.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac", size = 156429, upload-time = "2025-09-25T21:32:57.844Z" }, + { url = "https://files.pythonhosted.org/packages/f4/f4/a4541072bb9422c8a883ab55255f918fa378ecf083f5b85e87fc2b4eda1b/pyyaml-6.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3", size = 143912, upload-time = "2025-09-25T21:32:59.247Z" }, + { url = "https://files.pythonhosted.org/packages/7c/f9/07dd09ae774e4616edf6cda684ee78f97777bdd15847253637a6f052a62f/pyyaml-6.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3", size = 189108, upload-time = "2025-09-25T21:32:44.377Z" }, + { url = "https://files.pythonhosted.org/packages/4e/78/8d08c9fb7ce09ad8c38ad533c1191cf27f7ae1effe5bb9400a46d9437fcf/pyyaml-6.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba", size = 183641, upload-time = "2025-09-25T21:32:45.407Z" }, + { url = "https://files.pythonhosted.org/packages/7b/5b/3babb19104a46945cf816d047db2788bcaf8c94527a805610b0289a01c6b/pyyaml-6.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c", size = 831901, upload-time = "2025-09-25T21:32:48.83Z" }, + { url = "https://files.pythonhosted.org/packages/8b/cc/dff0684d8dc44da4d22a13f35f073d558c268780ce3c6ba1b87055bb0b87/pyyaml-6.0.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702", size = 861132, upload-time = "2025-09-25T21:32:50.149Z" }, + { url = "https://files.pythonhosted.org/packages/b1/5e/f77dc6b9036943e285ba76b49e118d9ea929885becb0a29ba8a7c75e29fe/pyyaml-6.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c", size = 839261, upload-time = "2025-09-25T21:32:51.808Z" }, + { url = "https://files.pythonhosted.org/packages/ce/88/a9db1376aa2a228197c58b37302f284b5617f56a5d959fd1763fb1675ce6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065", size = 805272, upload-time = "2025-09-25T21:32:52.941Z" }, + { url = "https://files.pythonhosted.org/packages/da/92/1446574745d74df0c92e6aa4a7b0b3130706a4142b2d1a5869f2eaa423c6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65", size = 829923, upload-time = "2025-09-25T21:32:54.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/7a/1c7270340330e575b92f397352af856a8c06f230aa3e76f86b39d01b416a/pyyaml-6.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9", size = 174062, upload-time = "2025-09-25T21:32:55.767Z" }, + { url = "https://files.pythonhosted.org/packages/f1/12/de94a39c2ef588c7e6455cfbe7343d3b2dc9d6b6b2f40c4c6565744c873d/pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", size = 149341, upload-time = "2025-09-25T21:32:56.828Z" }, +] + +[[package]] +name = "pyyaml-ft" +version = "8.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5e/eb/5a0d575de784f9a1f94e2b1288c6886f13f34185e13117ed530f32b6f8a8/pyyaml_ft-8.0.0.tar.gz", hash = "sha256:0c947dce03954c7b5d38869ed4878b2e6ff1d44b08a0d84dc83fdad205ae39ab", size = 141057, upload-time = "2025-06-10T15:32:15.613Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/68/ba/a067369fe61a2e57fb38732562927d5bae088c73cb9bb5438736a9555b29/pyyaml_ft-8.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8c1306282bc958bfda31237f900eb52c9bedf9b93a11f82e1aab004c9a5657a6", size = 187027, upload-time = "2025-06-10T15:31:48.722Z" }, + { url = "https://files.pythonhosted.org/packages/ad/c5/a3d2020ce5ccfc6aede0d45bcb870298652ac0cf199f67714d250e0cdf39/pyyaml_ft-8.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:30c5f1751625786c19de751e3130fc345ebcba6a86f6bddd6e1285342f4bbb69", size = 176146, upload-time = "2025-06-10T15:31:50.584Z" }, + { url = "https://files.pythonhosted.org/packages/e3/bb/23a9739291086ca0d3189eac7cd92b4d00e9fdc77d722ab610c35f9a82ba/pyyaml_ft-8.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3fa992481155ddda2e303fcc74c79c05eddcdbc907b888d3d9ce3ff3e2adcfb0", size = 746792, upload-time = "2025-06-10T15:31:52.304Z" }, + { url = "https://files.pythonhosted.org/packages/5f/c2/e8825f4ff725b7e560d62a3609e31d735318068e1079539ebfde397ea03e/pyyaml_ft-8.0.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cec6c92b4207004b62dfad1f0be321c9f04725e0f271c16247d8b39c3bf3ea42", size = 786772, upload-time = "2025-06-10T15:31:54.712Z" }, + { url = "https://files.pythonhosted.org/packages/35/be/58a4dcae8854f2fdca9b28d9495298fd5571a50d8430b1c3033ec95d2d0e/pyyaml_ft-8.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06237267dbcab70d4c0e9436d8f719f04a51123f0ca2694c00dd4b68c338e40b", size = 778723, upload-time = "2025-06-10T15:31:56.093Z" }, + { url = "https://files.pythonhosted.org/packages/86/ed/fed0da92b5d5d7340a082e3802d84c6dc9d5fa142954404c41a544c1cb92/pyyaml_ft-8.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:8a7f332bc565817644cdb38ffe4739e44c3e18c55793f75dddb87630f03fc254", size = 758478, upload-time = "2025-06-10T15:31:58.314Z" }, + { url = "https://files.pythonhosted.org/packages/f0/69/ac02afe286275980ecb2dcdc0156617389b7e0c0a3fcdedf155c67be2b80/pyyaml_ft-8.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7d10175a746be65f6feb86224df5d6bc5c049ebf52b89a88cf1cd78af5a367a8", size = 799159, upload-time = "2025-06-10T15:31:59.675Z" }, + { url = "https://files.pythonhosted.org/packages/4e/ac/c492a9da2e39abdff4c3094ec54acac9747743f36428281fb186a03fab76/pyyaml_ft-8.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:58e1015098cf8d8aec82f360789c16283b88ca670fe4275ef6c48c5e30b22a96", size = 158779, upload-time = "2025-06-10T15:32:01.029Z" }, + { url = "https://files.pythonhosted.org/packages/5d/9b/41998df3298960d7c67653669f37710fa2d568a5fc933ea24a6df60acaf6/pyyaml_ft-8.0.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:e64fa5f3e2ceb790d50602b2fd4ec37abbd760a8c778e46354df647e7c5a4ebb", size = 191331, upload-time = "2025-06-10T15:32:02.602Z" }, + { url = "https://files.pythonhosted.org/packages/0f/16/2710c252ee04cbd74d9562ebba709e5a284faeb8ada88fcda548c9191b47/pyyaml_ft-8.0.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:8d445bf6ea16bb93c37b42fdacfb2f94c8e92a79ba9e12768c96ecde867046d1", size = 182879, upload-time = "2025-06-10T15:32:04.466Z" }, + { url = "https://files.pythonhosted.org/packages/9a/40/ae8163519d937fa7bfa457b6f78439cc6831a7c2b170e4f612f7eda71815/pyyaml_ft-8.0.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c56bb46b4fda34cbb92a9446a841da3982cdde6ea13de3fbd80db7eeeab8b49", size = 811277, upload-time = "2025-06-10T15:32:06.214Z" }, + { url = "https://files.pythonhosted.org/packages/f9/66/28d82dbff7f87b96f0eeac79b7d972a96b4980c1e445eb6a857ba91eda00/pyyaml_ft-8.0.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dab0abb46eb1780da486f022dce034b952c8ae40753627b27a626d803926483b", size = 831650, upload-time = "2025-06-10T15:32:08.076Z" }, + { url = "https://files.pythonhosted.org/packages/e8/df/161c4566facac7d75a9e182295c223060373d4116dead9cc53a265de60b9/pyyaml_ft-8.0.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd48d639cab5ca50ad957b6dd632c7dd3ac02a1abe0e8196a3c24a52f5db3f7a", size = 815755, upload-time = "2025-06-10T15:32:09.435Z" }, + { url = "https://files.pythonhosted.org/packages/05/10/f42c48fa5153204f42eaa945e8d1fd7c10d6296841dcb2447bf7da1be5c4/pyyaml_ft-8.0.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:052561b89d5b2a8e1289f326d060e794c21fa068aa11255fe71d65baf18a632e", size = 810403, upload-time = "2025-06-10T15:32:11.051Z" }, + { url = "https://files.pythonhosted.org/packages/d5/d2/e369064aa51009eb9245399fd8ad2c562bd0bcd392a00be44b2a824ded7c/pyyaml_ft-8.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:3bb4b927929b0cb162fb1605392a321e3333e48ce616cdcfa04a839271373255", size = 835581, upload-time = "2025-06-10T15:32:12.897Z" }, + { url = "https://files.pythonhosted.org/packages/c0/28/26534bed77109632a956977f60d8519049f545abc39215d086e33a61f1f2/pyyaml_ft-8.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:de04cfe9439565e32f178106c51dd6ca61afaa2907d143835d501d84703d3793", size = 171579, upload-time = "2025-06-10T15:32:14.34Z" }, +] + +[[package]] +name = "rich" +version = "15.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown-it-py" }, + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c0/8f/0722ca900cc807c13a6a0c696dacf35430f72e0ec571c4275d2371fca3e9/rich-15.0.0.tar.gz", hash = "sha256:edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36", size = 230680, upload-time = "2026-04-12T08:24:00.75Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/82/3b/64d4899d73f91ba49a8c18a8ff3f0ea8f1c1d75481760df8c68ef5235bf5/rich-15.0.0-py3-none-any.whl", hash = "sha256:33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb", size = 310654, upload-time = "2026-04-12T08:24:02.83Z" }, +] + +[[package]] +name = "ruff" +version = "0.15.22" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/3a/06/ae069393fc66e8ff33036d4b368003833bf6e88ccf182e17e7a2f1c754fd/ruff-0.15.22.tar.gz", hash = "sha256:3f15175b1fb580126f58285a5dae6b2ea89000136d980c64499211f116b54809", size = 4785063, upload-time = "2026-07-16T15:14:13.244Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/23/18/ee54b7ae1e121be7a28ea6da4b67564ebb0530e183a54415ab7e3bcd2c4e/ruff-0.15.22-py3-none-linux_armv6l.whl", hash = "sha256:44423e73493737f5e7c5b41d475483898ff37afcdae38bc3da5085e29af1c2d8", size = 10781258, upload-time = "2026-07-16T15:13:19.452Z" }, + { url = "https://files.pythonhosted.org/packages/2f/d2/2520cb14761ddbeaf57642a76942fc36adcbdbe53b4532241995f6fc485c/ruff-0.15.22-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:b82c6482946e9eda7ff2e091d25b8bad3f718684e1916d41bd56873cee05b697", size = 10999477, upload-time = "2026-07-16T15:13:23.318Z" }, + { url = "https://files.pythonhosted.org/packages/c9/10/74e53572aa758dfaa678c2a2646b5c5515d884b7ca56be4d2ce03ca4b560/ruff-0.15.22-py3-none-macosx_11_0_arm64.whl", hash = "sha256:11c1c715af53a09f714e011106bffc419751ec8232fcb5da42173284ea3fec6f", size = 10466716, upload-time = "2026-07-16T15:13:26.162Z" }, + { url = "https://files.pythonhosted.org/packages/1e/cc/44eaaf0844e028182f2d0a8f2190d0f359159aed0a9e5ab861d892f1ae2a/ruff-0.15.22-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:742a29cf29bddb7c8327895d6a10e0e6c5b38a96dd407af9b5d0857f809c0576", size = 10892644, upload-time = "2026-07-16T15:13:29.229Z" }, + { url = "https://files.pythonhosted.org/packages/9f/21/8edf559014d2b0f82beea19cfb713993ad802ccda16868769979c6090a84/ruff-0.15.22-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:72af58b951b0ae395935ae79763dc349bc0eb706319d28f7a33ad2cfb3cfc178", size = 10576719, upload-time = "2026-07-16T15:13:32.35Z" }, + { url = "https://files.pythonhosted.org/packages/bf/1e/3a13abd392a3b50b62e5938a831f9ab6e588358cacad5c18545b716d2182/ruff-0.15.22-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62d425005c1835eb24e2ee4161cb90e8db263415f4a71c8c72c33abaa6c0c224", size = 11376494, upload-time = "2026-07-16T15:13:35.958Z" }, + { url = "https://files.pythonhosted.org/packages/bf/3e/422d3d95bcf04dd78e1aeac22184d4f9a8fb2c01865d39d44618484a0317/ruff-0.15.22-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e8b9b3f8779a4f08c969defc3c8c35abffaa757e601ed5ae66d6d1db6519969a", size = 12208370, upload-time = "2026-07-16T15:13:39.185Z" }, + { url = "https://files.pythonhosted.org/packages/1e/91/5d065a0e0a02bf4813f5119ad278462eed081d2b832eb7c021ade0ec9e65/ruff-0.15.22-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1e0dd1b2e4d3d585f897a0d137cbf4eaf6223bef4e8ce34d6bb12556c5f9249e", size = 11581098, upload-time = "2026-07-16T15:13:42.132Z" }, + { url = "https://files.pythonhosted.org/packages/f6/f9/a0d4871d12fae702eb1f41b686caf05f1f8b124dc6db6f784f53d74918fa/ruff-0.15.22-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:365523eb91d9224e1bcb03b022fbf0facb8f9e23792a2c53d9d4b3924bdbdebb", size = 11399422, upload-time = "2026-07-16T15:13:45.2Z" }, + { url = "https://files.pythonhosted.org/packages/18/80/c843a5176cddbceb0b7e8dd41cf9993490796c1c469348d384f5a5c13c56/ruff-0.15.22-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:fabfd168afdf29fee5be98b831efa9683c94d7c5a3b58b9ce5a2e38444589a74", size = 11381683, upload-time = "2026-07-16T15:13:48.46Z" }, + { url = "https://files.pythonhosted.org/packages/d4/00/8485de0ae92239438a36cfc51350db9b9e85c9ebdfaea91b18e422706662/ruff-0.15.22-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:225dbf095a87f1d9f90f5fd7924d2613ee452a75a4308c63a8f50f761787aa7c", size = 10850295, upload-time = "2026-07-16T15:13:51.655Z" }, + { url = "https://files.pythonhosted.org/packages/fa/91/24977ec2ec72eaf15e4394ace2959fdff2dd1e14f03e005e838023407169/ruff-0.15.22-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:1877d63b9d24ed278744f1523fd11b85540566d54641f97c566d7d9dc5ca5296", size = 10579640, upload-time = "2026-07-16T15:13:54.79Z" }, + { url = "https://files.pythonhosted.org/packages/9c/47/9b51216951974df1f263ac19da550d34252e0ed7218c25f10c5ef9ed7517/ruff-0.15.22-py3-none-musllinux_1_2_i686.whl", hash = "sha256:a1606c510bd7215680d32efab38965f7cdec3ef69f5170a3f4791404ffdd5262", size = 11105077, upload-time = "2026-07-16T15:13:57.915Z" }, + { url = "https://files.pythonhosted.org/packages/c2/47/20e9d4a3b8016778acea5fc32bb50d35d207500a17ddb529ffa6996feef8/ruff-0.15.22-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:630479b18625f5ffc373f77603a22a9f8ac0acd7ff0501178b5db28ec71e9c64", size = 11490980, upload-time = "2026-07-16T15:14:01.032Z" }, + { url = "https://files.pythonhosted.org/packages/4d/76/3f72d8fc38c1cb77b38c56a70da9d0c17700cc1cc50f9649c9d3c8f5ba71/ruff-0.15.22-py3-none-win32.whl", hash = "sha256:e5ba0e4a13fd14abbed2a77b517a3911290c6c6c59ef67784328d1668fab76cf", size = 10789165, upload-time = "2026-07-16T15:14:04.16Z" }, + { url = "https://files.pythonhosted.org/packages/cb/46/4965251734c2b6fcdca1b1b187d20bcac3af0ee5b083b89c910bb961ce3a/ruff-0.15.22-py3-none-win_amd64.whl", hash = "sha256:9be63ba1eb936acd2d1342fb8337c356353706fce233b2a15a09a97037e6acde", size = 11938297, upload-time = "2026-07-16T15:14:07.316Z" }, + { url = "https://files.pythonhosted.org/packages/57/c9/e69b1ff4c8b69093ef08b8919ab767af0569666865b39c30a8795d88d3c6/ruff-0.15.22-py3-none-win_arm64.whl", hash = "sha256:e1168075b72158510839f250027659cdd78476f40507dd517892304c41318661", size = 11298172, upload-time = "2026-07-16T15:14:10.51Z" }, +] + +[[package]] +name = "shellingham" +version = "1.5.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de", size = 10310, upload-time = "2023-10-24T04:13:40.426Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686", size = 9755, upload-time = "2023-10-24T04:13:38.866Z" }, +] + +[[package]] +name = "stringcase" +version = "1.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f3/1f/1241aa3d66e8dc1612427b17885f5fcd9c9ee3079fc0d28e9a3aeeb36fa3/stringcase-1.2.0.tar.gz", hash = "sha256:48a06980661908efe8d9d34eab2b6c13aefa2163b3ced26972902e3bdfd87008", size = 2958, upload-time = "2017-08-06T01:40:57.021Z" } + +[[package]] +name = "testfixtures" +version = "12.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/11/4d/b1c5fae372cd46b7bc1ec1dbca6efecaef8fe1e4edad203cc6e36cd5eafd/testfixtures-12.3.0.tar.gz", hash = "sha256:d807ceb9bdd6ea7cc0663370dd5568339056b35dc15c26effd1ae267e323acf1", size = 201458, upload-time = "2026-07-08T21:32:04.42Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1c/7c/cf6a4bd936b0d8377992a07fe94ae9f6844e728fcfaa006b7ff9e059a038/testfixtures-12.3.0-py3-none-any.whl", hash = "sha256:da013e07f1e850b4d92ea6045c4a71f49d6ddcaab11c8b29f65ea38ff678aee8", size = 69493, upload-time = "2026-07-08T21:32:03.252Z" }, +] + +[[package]] +name = "typer" +version = "0.27.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "annotated-doc" }, + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "rich" }, + { name = "shellingham" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/37/78/fda3361b56efc27944f24225f6ecd13d96d6fcfe37bd0eb34e2f4c63f9fc/typer-0.27.0.tar.gz", hash = "sha256:629bd12ea5d13a17148125d9a264f949eb171fb3f120f9b04d85873cab054fa5", size = 203430, upload-time = "2026-07-15T19:21:07.007Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/40/03/26a383c9e58c213199d1aad1c3d353cfc22d4444ec6d2c0bf8ad02523843/typer-0.27.0-py3-none-any.whl", hash = "sha256:6f4b27631e47f077871b7dc30e933ec0131c1390fbe0e387ea5574b5bac9ccf1", size = 122716, upload-time = "2026-07-15T19:21:05.553Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.16.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f6/cc/6253133b5bb138fc3306cebfbda2c520f545d36b5be2c7255cc528bb45d6/typing_extensions-4.16.0.tar.gz", hash = "sha256:dc983d19a509c94dba722ee6abd33940f7c05a89e243c47e907eb4db6f1a43e5", size = 113555, upload-time = "2026-07-02T08:40:05.92Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl", hash = "sha256:481caa481374e813c1b176ada14e97f1f67a4539ce9cfeb3f350d78d6370c2e8", size = 45571, upload-time = "2026-07-02T08:40:04.659Z" }, +] + +[[package]] +name = "typing-inspection" +version = "0.4.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz", hash = "sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464", size = 75949, upload-time = "2025-10-01T02:14:41.687Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl", hash = "sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7", size = 14611, upload-time = "2025-10-01T02:14:40.154Z" }, +] From 6d547df885f17f0b813ce2e8cfb876459ce97080 Mon Sep 17 00:00:00 2001 From: Giancarlos Isasi Date: Wed, 22 Jul 2026 23:59:20 -0500 Subject: [PATCH 2/9] chore: migrate from isort and black to ruff --- danger_python/cli.py | 15 +- danger_python/danger.py | 43 +-- danger_python/decorators.py | 3 +- danger_python/generator/builder.py | 38 +- danger_python/generator/models.py | 20 +- danger_python/generator/parser.py | 38 +- danger_python/generator/renderer.py | 3 +- danger_python/models.py | 538 ++++++++++++++-------------- danger_python/shell.py | 5 +- pyproject.toml | 18 + scripts/generate_scheme.py | 2 +- setup.cfg | 14 - tests/conftest.py | 30 +- tests/fixtures/danger.py | 4 +- tests/fixtures/shell.py | 3 +- tests/generator/test_builder.py | 19 +- tests/generator/test_model.py | 24 +- tests/generator/test_parser.py | 2 +- tests/test_cli.py | 4 +- tests/test_danger.py | 6 +- tests/test_shell.py | 4 +- 21 files changed, 420 insertions(+), 413 deletions(-) diff --git a/danger_python/cli.py b/danger_python/cli.py index a41c655..759d0de 100644 --- a/danger_python/cli.py +++ b/danger_python/cli.py @@ -1,5 +1,4 @@ import sys -from typing import List import click from click_default_group import DefaultGroup @@ -21,9 +20,9 @@ def run() -> None: @danger_command(cli, "runner") -def runner(arguments: List[str]) -> None: +def runner(arguments: list[str]) -> None: """Runs dangerfile.py as a danger process, ignoring unknown options""" - with open("dangerfile.py", "r") as dangerfile: + with open("dangerfile.py") as dangerfile: try: execute_dangerfile(dangerfile.read()) except DangerfileException as exc: @@ -32,25 +31,25 @@ def runner(arguments: List[str]) -> None: @danger_command(cli, "pr") -def pr(arguments: List[str]) -> None: +def pr(arguments: list[str]) -> None: """Runs your local Dangerfile against an existing GitHub PR. - Will not post on the PR""" + Will not post on the PR""" _execute_danger_js("pr", arguments) @danger_command(cli, "local") -def local(arguments: List[str]) -> None: +def local(arguments: list[str]) -> None: """Runs danger standalone on a repo, useful for git hooks""" _execute_danger_js("local", arguments) @danger_command(cli, "ci") -def ci(arguments: List[str]) -> None: +def ci(arguments: list[str]) -> None: """Runs Danger on CI""" _execute_danger_js("ci", arguments) -def _execute_danger_js(command_name: str, arguments: List[str]) -> None: +def _execute_danger_js(command_name: str, arguments: list[str]) -> None: command = [command_name] command.extend(arguments) diff --git a/danger_python/danger.py b/danger_python/danger.py index 0c9c2a9..a49c795 100644 --- a/danger_python/danger.py +++ b/danger_python/danger.py @@ -1,8 +1,9 @@ import json import sys +from collections.abc import Callable from functools import partial from operator import attrgetter -from typing import Any, Callable, Dict, List, Optional +from typing import Any from pydantic import BaseModel @@ -19,8 +20,8 @@ class Violation(BaseModel): message: str - file_name: Optional[str] = None - line: Optional[int] = None + file_name: str | None = None + line: int | None = None class Config: allow_population_by_field_name = True @@ -36,25 +37,25 @@ class Config: class DangerResults(BaseModel): - fails: List[Violation] = [] - warnings: List[Violation] = [] - messages: List[Violation] = [] - markdowns: List[Violation] = [] + fails: list[Violation] = [] + warnings: list[Violation] = [] + messages: list[Violation] = [] + markdowns: list[Violation] = [] meta: DangerMeta = DangerMeta() -def serialize_violation(violation: Violation) -> Dict[str, Any]: +def serialize_violation(violation: Violation) -> dict[str, Any]: return violation.dict(exclude_none=True, by_alias=True) -def serialize_results(results: DangerResults) -> Dict[str, Any]: +def serialize_results(results: DangerResults) -> dict[str, Any]: return results.dict(exclude_none=True, by_alias=True) def load_dsl() -> DangerDSLJSONType: file_url = sys.stdin.read().split("danger://dsl/")[-1] - with open(file_url, "r") as json_file: + with open(file_url) as json_file: input_json = json.loads(json_file.read()) return DangerDSLJSONType(**input_json["danger"]) @@ -66,45 +67,45 @@ def __init__(self): if not Danger.results: Danger.results = DangerResults() - dsl: Optional[DangerDSLJSONType] = None - results: Optional[DangerResults] = None + dsl: DangerDSLJSONType | None = None + results: DangerResults | None = None @property - def git(self) -> Optional[GitJSONDSL]: + def git(self) -> GitJSONDSL | None: assert Danger.dsl is not None return Danger.dsl.git @property - def github(self) -> Optional[GitHubDSL]: + def github(self) -> GitHubDSL | None: assert Danger.dsl is not None return Danger.dsl.github @property - def bitbucket_cloud(self) -> Optional[BitBucketCloudJSONDSL]: + def bitbucket_cloud(self) -> BitBucketCloudJSONDSL | None: assert Danger.dsl is not None return Danger.dsl.bitbucket_cloud @property - def bitbucket_server(self) -> Optional[BitBucketServerJSONDSL]: + def bitbucket_server(self) -> BitBucketServerJSONDSL | None: assert Danger.dsl is not None return Danger.dsl.bitbucket_server @property - def gitlab(self) -> Optional[GitLabDSL]: + def gitlab(self) -> GitLabDSL | None: assert Danger.dsl is not None return Danger.dsl.gitlab @property - def settings(self) -> Optional[DangerDSLJSONTypeSettings]: + def settings(self) -> DangerDSLJSONTypeSettings | None: assert Danger.dsl is not None return Danger.dsl.settings def _add_to_results( - field: Callable[[DangerResults], List[Violation]], + field: Callable[[DangerResults], list[Violation]], message: str, - file_name: Optional[str] = None, - line: Optional[int] = None, + file_name: str | None = None, + line: int | None = None, ): assert Danger.results is not None violation = Violation(message=message, file_name=file_name, line=line) diff --git a/danger_python/decorators.py b/danger_python/decorators.py index 48cb14e..b921921 100644 --- a/danger_python/decorators.py +++ b/danger_python/decorators.py @@ -4,7 +4,8 @@ def danger_command(cli, command_name: str): def wrapper(func): command_wrapper = cli.command( - context_settings=dict(ignore_unknown_options=True), name=command_name, + context_settings={"ignore_unknown_options": True}, + name=command_name, ) argument_wrapper = click.argument("arguments", nargs=-1, type=click.UNPROCESSED) return command_wrapper(argument_wrapper(func)) diff --git a/danger_python/generator/builder.py b/danger_python/generator/builder.py index 6cbc275..0686070 100644 --- a/danger_python/generator/builder.py +++ b/danger_python/generator/builder.py @@ -1,7 +1,7 @@ +from collections.abc import Iterable from functools import reduce from itertools import chain from operator import attrgetter -from typing import Iterable, List, Optional import stringcase @@ -21,7 +21,7 @@ ) -def build_types(schema: List[SchemaItem]) -> List[TypeDefinition]: +def build_types(schema: list[SchemaItem]) -> list[TypeDefinition]: built_types = list(chain.from_iterable(map(_build_types_for_item, schema))) return sorted(built_types, key=attrgetter("name")) @@ -33,8 +33,8 @@ def _normalize_typename(typename: str) -> str: def _build_types_for_item( - item: SchemaItem, prefix: Optional[str] = None -) -> List[TypeDefinition]: + item: SchemaItem, prefix: str | None = None +) -> list[TypeDefinition]: if isinstance(item, SchemaEnum): return _build_types_for_enum(item, prefix) elif isinstance(item, SchemaObject): @@ -44,30 +44,30 @@ def _build_types_for_item( def _build_types_for_enum( - schema: SchemaEnum, prefix: Optional[str] = None -) -> List[TypeDefinition]: + schema: SchemaEnum, prefix: str | None = None +) -> list[TypeDefinition]: def format_case(enum_case: str) -> str: return stringcase.constcase(enum_case.lower()) type_name = _nested_object_name(schema, prefix) - values = list(map(lambda v: (format_case(v), v), schema.values)) + values = [(format_case(v), v) for v in schema.values] return [EnumDefinition(name=type_name, values=values, depends_on=set())] def _build_types_for_class( - object: SchemaObject, prefix: Optional[str] = None -) -> List[TypeDefinition]: + object: SchemaObject, prefix: str | None = None +) -> list[TypeDefinition]: class_name = _nested_object_name(object, prefix) properties = [_build_property(p, class_name) for p in object.properties] - depends_on = map( - lambda p: _normalize_typename(p.value_type), - filter(lambda p: not p.known_type, properties), + depends_on = ( + _normalize_typename(p.value_type) + for p in filter(lambda p: not p.known_type, properties) ) definition = ClassDefinition( name=class_name, properties=properties, depends_on=set(depends_on) ) - types: List[TypeDefinition] = [definition] + types: list[TypeDefinition] = [definition] types.extend(_build_nested_objects(object, class_name)) return types @@ -77,10 +77,8 @@ def _build_nested_objects( object: SchemaObject, parent_class_name: str ) -> Iterable[TypeDefinition]: return chain.from_iterable( - map( - lambda p: _build_types_for_item(_item_for_nesting(p), parent_class_name), - object.properties, - ) + _build_types_for_item(_item_for_nesting(p), parent_class_name) + for p in object.properties ) @@ -103,7 +101,7 @@ def _item_for_nesting(item: SchemaItem) -> SchemaItem: def _build_property(item: SchemaItem, parent_class_name: str) -> PropertyDefinition: if isinstance(item, SchemaReference): return _property(item.name, item.reference, False) - if isinstance(item, SchemaEnum) or isinstance(item, SchemaObject): + if isinstance(item, (SchemaEnum, SchemaObject)): return _property_from_object(item, parent_class_name) if isinstance(item, SchemaAllOf): return _build_property(_item_for_nesting(item), parent_class_name) @@ -121,7 +119,7 @@ def _property_from_value(value: SchemaValue) -> PropertyDefinition: return _property(value.name, _resolve_type(value.value_types), True) -def _resolve_type(value_types: List[str]) -> str: +def _resolve_type(value_types: list[str]) -> str: mappings = { "string": "str", "boolean": "bool", @@ -183,6 +181,6 @@ def _property(name: str, type_name: str, known_type: bool) -> PropertyDefinition ) -def _nested_object_name(parent_object: SchemaItem, prefix: Optional[str] = None) -> str: +def _nested_object_name(parent_object: SchemaItem, prefix: str | None = None) -> str: object_name = stringcase.pascalcase(parent_object.name) return f"{prefix}{object_name}" if prefix else object_name diff --git a/danger_python/generator/models.py b/danger_python/generator/models.py index 0e0d1de..9dcb237 100644 --- a/danger_python/generator/models.py +++ b/danger_python/generator/models.py @@ -1,5 +1,5 @@ from dataclasses import InitVar, dataclass, field -from typing import Any, List, Optional, Set, Tuple +from typing import Any @dataclass @@ -9,15 +9,15 @@ class SchemaItem: @dataclass class SchemaObject(SchemaItem): - properties: List["SchemaItem"] = field(default_factory=list) + properties: list["SchemaItem"] = field(default_factory=list) @dataclass class SchemaValue(SchemaItem): - value_types: List[str] = field(default_factory=list) + value_types: list[str] = field(default_factory=list) value_type: InitVar[str] = None - def __post_init__(self, value_type: Optional[str]): + def __post_init__(self, value_type: str | None): if value_type: self.value_types = [value_type] @@ -29,7 +29,7 @@ class SchemaReference(SchemaItem): @dataclass class SchemaEnum(SchemaValue): - values: List[Any] = field(default_factory=list) + values: list[Any] = field(default_factory=list) @dataclass @@ -39,12 +39,12 @@ class SchemaArray(SchemaItem): @dataclass class SchemaAllOf(SchemaItem): - all_of: List[SchemaItem] = field(default_factory=list) + all_of: list[SchemaItem] = field(default_factory=list) @dataclass class SchemaAnyOf(SchemaItem): - any_of: List[SchemaItem] = field(default_factory=list) + any_of: list[SchemaItem] = field(default_factory=list) @dataclass @@ -87,14 +87,14 @@ def patched_type(self) -> str: @dataclass class TypeDefinition: name: str - depends_on: Set[str] = field(default_factory=set) + depends_on: set[str] = field(default_factory=set) @dataclass class ClassDefinition(TypeDefinition): - properties: List[PropertyDefinition] = field(default_factory=list) + properties: list[PropertyDefinition] = field(default_factory=list) @dataclass class EnumDefinition(TypeDefinition): - values: List[Tuple[str, str]] = field(default_factory=list) + values: list[tuple[str, str]] = field(default_factory=list) diff --git a/danger_python/generator/parser.py b/danger_python/generator/parser.py index ee8c3ad..470956d 100644 --- a/danger_python/generator/parser.py +++ b/danger_python/generator/parser.py @@ -1,5 +1,5 @@ import json -from typing import Any, Dict, List, Optional +from typing import Any from .models import ( SchemaAllOf, @@ -13,17 +13,17 @@ ) -def parse_schema(schema: str) -> List[SchemaItem]: +def parse_schema(schema: str) -> list[SchemaItem]: objects = json.loads(schema).get("definitions", {}) return _parse_items(objects) -def _parse_items(json: Dict[str, Any]) -> List[SchemaItem]: +def _parse_items(json: dict[str, Any]) -> list[SchemaItem]: keys = sorted(json.keys()) return list(filter(None, (_parse_item(name, json[name]) for name in keys))) -def _parse_item(name: str, json: Dict[str, Any]) -> SchemaItem: +def _parse_item(name: str, json: dict[str, Any]) -> SchemaItem: parsers = ( _parse_object, _parse_enum, @@ -33,20 +33,20 @@ def _parse_item(name: str, json: Dict[str, Any]) -> SchemaItem: _parse_any_of, _parse_value, ) - values = filter(None, map(lambda p: p(name, json), parsers)) + values = filter(None, (p(name, json) for p in parsers)) return next(values) -def _parse_object(name: str, json: Dict[str, Any]) -> Optional[SchemaObject]: - if json.get("type", None) == "object": +def _parse_object(name: str, json: dict[str, Any]) -> SchemaObject | None: + if json.get("type") == "object": properties = _parse_items(json.get("properties", {})) return SchemaObject(name=name, properties=properties) return None -def _parse_value(name: str, json: Dict[str, Any]) -> SchemaValue: - value_types = json.get("type", None) +def _parse_value(name: str, json: dict[str, Any]) -> SchemaValue: + value_types = json.get("type") if value_types: value_types = value_types if isinstance(value_types, list) else [value_types] return SchemaValue(name=name, value_types=value_types) @@ -54,38 +54,38 @@ def _parse_value(name: str, json: Dict[str, Any]) -> SchemaValue: return SchemaValue(name=name, value_type="any") -def _parse_reference(name: str, json: Dict[str, Any]) -> Optional[SchemaReference]: - if json.get("$ref", None): +def _parse_reference(name: str, json: dict[str, Any]) -> SchemaReference | None: + if json.get("$ref"): reference = json["$ref"].split("#/definitions/")[-1] return SchemaReference(name=name, reference=reference) return None -def _parse_enum(name: str, json: Dict[str, Any]) -> Optional[SchemaEnum]: - if json.get("enum", None): +def _parse_enum(name: str, json: dict[str, Any]) -> SchemaEnum | None: + if json.get("enum"): return SchemaEnum(name=name, value_type=json["type"], values=json["enum"]) return None -def _parse_array(name: str, json: Dict[str, Any]) -> Optional[SchemaArray]: - if json.get("type", None) == "array": +def _parse_array(name: str, json: dict[str, Any]) -> SchemaArray | None: + if json.get("type") == "array": return SchemaArray(name=name, item=_parse_item("", json.get("items", {}))) return None -def _parse_all_of(name: str, json: Dict[str, Any]) -> Optional[SchemaAllOf]: - if json.get("allOf", None): +def _parse_all_of(name: str, json: dict[str, Any]) -> SchemaAllOf | None: + if json.get("allOf"): items = [_parse_item(name, item) for item in json["allOf"]] return SchemaAllOf(name=name, all_of=items) return None -def _parse_any_of(name: str, json: Dict[str, Any]) -> Optional[SchemaAnyOf]: - if json.get("anyOf", None): +def _parse_any_of(name: str, json: dict[str, Any]) -> SchemaAnyOf | None: + if json.get("anyOf"): items = [_parse_item(name, item) for item in json["anyOf"]] return SchemaAnyOf(name=name, any_of=items) diff --git a/danger_python/generator/renderer.py b/danger_python/generator/renderer.py index b4b871e..efe4fd4 100644 --- a/danger_python/generator/renderer.py +++ b/danger_python/generator/renderer.py @@ -1,12 +1,11 @@ import subprocess -from typing import List from jinja2 import Environment, PackageLoader, select_autoescape from .models import TypeDefinition -def render_classes(to_render: List[TypeDefinition]) -> str: +def render_classes(to_render: list[TypeDefinition]) -> str: template_environment = Environment( loader=PackageLoader("danger_python.generator", "templates"), autoescape=select_autoescape([]), diff --git a/danger_python/models.py b/danger_python/models.py index 8dadb8b..be2992a 100644 --- a/danger_python/models.py +++ b/danger_python/models.py @@ -1,16 +1,16 @@ from enum import Enum -from typing import Any, List, Optional +from typing import Any, Optional from pydantic import BaseModel class BitBucketCloudCommit(BaseModel): author: Optional["BitBucketCloudCommitAuthor"] - date: Optional[str] - hash: Optional[str] + date: str | None + hash: str | None links: Optional["BitBucketCloudCommitsLinks"] - message: Optional[str] - parents: Optional[List["BitBucketCloudCommitParents"]] + message: str | None + parents: list["BitBucketCloudCommitParents"] | None class Config: fields = { @@ -24,7 +24,7 @@ class Config: class BitBucketCloudCommitAuthor(BaseModel): - raw: Optional[str] + raw: str | None user: Optional["BitBucketCloudUser"] class Config: @@ -35,7 +35,7 @@ class Config: class BitBucketCloudCommitParents(BaseModel): - hash: Optional[str] + hash: str | None class Config: fields = { @@ -53,7 +53,7 @@ class Config: class BitBucketCloudCommitsLinksHtml(BaseModel): - href: Optional[str] + href: str | None class Config: fields = { @@ -89,7 +89,7 @@ class Config: class BitBucketCloudCompletePRLinksActivity(BaseModel): - href: Optional[str] + href: str | None class Config: fields = { @@ -98,7 +98,7 @@ class Config: class BitBucketCloudCompletePRLinksApprove(BaseModel): - href: Optional[str] + href: str | None class Config: fields = { @@ -107,7 +107,7 @@ class Config: class BitBucketCloudCompletePRLinksComments(BaseModel): - href: Optional[str] + href: str | None class Config: fields = { @@ -116,7 +116,7 @@ class Config: class BitBucketCloudCompletePRLinksCommits(BaseModel): - href: Optional[str] + href: str | None class Config: fields = { @@ -125,7 +125,7 @@ class Config: class BitBucketCloudCompletePRLinksDecline(BaseModel): - href: Optional[str] + href: str | None class Config: fields = { @@ -134,7 +134,7 @@ class Config: class BitBucketCloudCompletePRLinksDiff(BaseModel): - href: Optional[str] + href: str | None class Config: fields = { @@ -143,7 +143,7 @@ class Config: class BitBucketCloudCompletePRLinksHtml(BaseModel): - href: Optional[str] + href: str | None class Config: fields = { @@ -152,7 +152,7 @@ class Config: class BitBucketCloudCompletePRLinksMerge(BaseModel): - href: Optional[str] + href: str | None class Config: fields = { @@ -161,7 +161,7 @@ class Config: class BitBucketCloudCompletePRLinksSelf(BaseModel): - href: Optional[str] + href: str | None class Config: fields = { @@ -170,7 +170,7 @@ class Config: class BitBucketCloudCompletePRLinksStatuses(BaseModel): - href: Optional[str] + href: str | None class Config: fields = { @@ -179,9 +179,9 @@ class Config: class BitBucketCloudContent(BaseModel): - html: Optional[str] - markup: Optional[str] - raw: Optional[str] + html: str | None + markup: str | None + raw: str | None type: Optional["BitBucketCloudContentType"] class Config: @@ -198,9 +198,9 @@ class BitBucketCloudContentType(Enum): class BitBucketCloudJSONDSL(BaseModel): - activities: Optional[List["BitBucketCloudPRActivity"]] - comments: Optional[List["BitBucketCloudPRComment"]] - commits: Optional[List["BitBucketCloudCommit"]] + activities: list["BitBucketCloudPRActivity"] | None + comments: list["BitBucketCloudPRComment"] | None + commits: list["BitBucketCloudCommit"] | None metadata: Optional["RepoMetaData"] pr: Optional["BitBucketCloudPRDSL"] @@ -228,7 +228,7 @@ class Config: class BitBucketCloudMergeRefBranch(BaseModel): - name: Optional[str] + name: str | None class Config: fields = { @@ -237,7 +237,7 @@ class Config: class BitBucketCloudMergeRefCommit(BaseModel): - hash: Optional[str] + hash: str | None class Config: fields = { @@ -257,8 +257,8 @@ class Config: class BitBucketCloudPRActivityPullRequest(BaseModel): - id: Optional[int] - title: Optional[str] + id: int | None + title: str | None class Config: fields = { @@ -269,14 +269,14 @@ class Config: class BitBucketCloudPRComment(BaseModel): content: Optional["BitBucketCloudContent"] - created_on: Optional[str] - deleted: Optional[bool] - id: Optional[int] + created_on: str | None + deleted: bool | None + id: int | None inline: Optional["BitBucketCloudPRCommentInline"] links: Optional["BitBucketCloudPRLinks"] pullrequest: Optional["BitBucketCloudPRCommentPullrequest"] - type: Optional[str] - updated_on: Optional[str] + type: str | None + updated_on: str | None user: Optional["BitBucketCloudUser"] class Config: @@ -295,9 +295,9 @@ class Config: class BitBucketCloudPRCommentInline(BaseModel): - from_: Optional[int] - path: Optional[str] - to: Optional[int] + from_: int | None + path: str | None + to: int | None class Config: fields = { @@ -308,9 +308,9 @@ class Config: class BitBucketCloudPRCommentPullrequest(BaseModel): - id: Optional[int] + id: int | None links: Optional["BitBucketCloudPRLinks"] - title: Optional[str] + title: str | None class Config: fields = { @@ -322,17 +322,17 @@ class Config: class BitBucketCloudPRDSL(BaseModel): author: Optional["BitBucketCloudUser"] - created_on: Optional[int] - description: Optional[str] + created_on: int | None + description: str | None destination: Optional["BitBucketCloudMergeRef"] - id: Optional[int] + id: int | None links: Optional["BitBucketCloudCompletePRLinks"] - participants: Optional[List["BitBucketCloudPRParticipant"]] - reviewers: Optional[List["BitBucketCloudUser"]] + participants: list["BitBucketCloudPRParticipant"] | None + reviewers: list["BitBucketCloudUser"] | None source: Optional["BitBucketCloudMergeRef"] state: Optional["BitBucketCloudPRDSLState"] - title: Optional[str] - updated_on: Optional[int] + title: str | None + updated_on: int | None class Config: fields = { @@ -370,7 +370,7 @@ class Config: class BitBucketCloudPRLinksHtml(BaseModel): - href: Optional[str] + href: str | None class Config: fields = { @@ -379,7 +379,7 @@ class Config: class BitBucketCloudPRLinksSelf(BaseModel): - href: Optional[str] + href: str | None class Config: fields = { @@ -388,7 +388,7 @@ class Config: class BitBucketCloudPRParticipant(BaseModel): - approved: Optional[bool] + approved: bool | None role: Optional["BitBucketCloudPRParticipantRole"] user: Optional["BitBucketCloudUser"] @@ -406,9 +406,9 @@ class BitBucketCloudPRParticipantRole(Enum): class BitBucketCloudRepo(BaseModel): - full_name: Optional[str] - name: Optional[str] - uuid: Optional[str] + full_name: str | None + name: str | None + uuid: str | None class Config: fields = { @@ -419,10 +419,10 @@ class Config: class BitBucketCloudUser(BaseModel): - account_id: Optional[str] - display_name: Optional[str] - nickname: Optional[str] - uuid: Optional[str] + account_id: str | None + display_name: str | None + nickname: str | None + uuid: str | None class Config: fields = { @@ -435,13 +435,13 @@ class Config: class BitBucketServerCommit(BaseModel): author: Optional["BitBucketServerCommitAuthor"] - author_timestamp: Optional[int] + author_timestamp: int | None committer: Optional["BitBucketServerCommitCommitter"] - committer_timestamp: Optional[int] - display_id: Optional[str] - id: Optional[str] - message: Optional[str] - parents: Optional[List["BitBucketServerCommitParents"]] + committer_timestamp: int | None + display_id: str | None + id: str | None + message: str | None + parents: list["BitBucketServerCommitParents"] | None class Config: fields = { @@ -457,9 +457,9 @@ class Config: class BitBucketServerCommitAuthor(BaseModel): - display_name: Optional[str] - email_address: Optional[str] - name: Optional[str] + display_name: str | None + email_address: str | None + name: str | None class Config: fields = { @@ -470,9 +470,9 @@ class Config: class BitBucketServerCommitCommitter(BaseModel): - display_name: Optional[str] - email_address: Optional[str] - name: Optional[str] + display_name: str | None + email_address: str | None + name: str | None class Config: fields = { @@ -483,8 +483,8 @@ class Config: class BitBucketServerCommitParents(BaseModel): - display_id: Optional[str] - id: Optional[str] + display_id: str | None + id: str | None class Config: fields = { @@ -494,10 +494,10 @@ class Config: class BitBucketServerJSONDSL(BaseModel): - activities: Optional[List["BitBucketServerPRActivity"]] - comments: Optional[List["BitBucketServerPRActivity"]] - commits: Optional[List["BitBucketServerCommit"]] - issues: Optional[List["JIRAIssue"]] + activities: list["BitBucketServerPRActivity"] | None + comments: list["BitBucketServerPRActivity"] | None + commits: list["BitBucketServerCommit"] | None + issues: list["JIRAIssue"] | None metadata: Optional["RepoMetaData"] pr: Optional["BitBucketServerPRDSL"] @@ -518,9 +518,9 @@ class BitBucketServerLinks(Enum): class BitBucketServerMergeRef(BaseModel): - display_id: Optional[str] - id: Optional[str] - latest_commit: Optional[str] + display_id: str | None + id: str | None + latest_commit: str | None repository: Optional["BitBucketServerRepo"] class Config: @@ -537,8 +537,8 @@ class BitBucketServerPRActivity(BaseModel): comment: Optional["BitBucketServerPRComment"] comment_action: Optional["BitBucketServerPRActivityCommentAction"] comment_anchor: Optional["BitBucketServerPRActivityCommentAnchor"] - created_date: Optional[int] - id: Optional[int] + created_date: int | None + id: int | None user: Optional["BitBucketServerUser"] class Config: @@ -569,12 +569,12 @@ class BitBucketServerPRActivityCommentAction(Enum): class BitBucketServerPRActivityCommentAnchor(BaseModel): diff_type: Optional["BitBucketServerPRActivityCommentAnchorDiffType"] file_type: Optional["BitBucketServerPRActivityCommentAnchorFileType"] - from_hash: Optional[str] - line: Optional[int] + from_hash: str | None + line: int | None line_type: Optional["BitBucketServerPRActivityCommentAnchorLineType"] - path: Optional[str] - src_path: Optional[str] - to_hash: Optional[str] + path: str | None + src_path: str | None + to_hash: str | None class Config: fields = { @@ -609,14 +609,14 @@ class BitBucketServerPRActivityCommentAnchorLineType(Enum): class BitBucketServerPRComment(BaseModel): author: Optional["BitBucketServerUser"] - comments: Optional[List["BitBucketServerPRActivity"]] - created_date: Optional[int] - id: Optional[int] + comments: list["BitBucketServerPRActivity"] | None + created_date: int | None + id: int | None parent: Optional["BitBucketServerPRCommentParent"] permitted_operations: Optional["BitBucketServerPRCommentPermittedOperations"] - text: Optional[str] - updated_date: Optional[int] - version: Optional[int] + text: str | None + updated_date: int | None + version: int | None class Config: fields = { @@ -633,7 +633,7 @@ class Config: class BitBucketServerPRCommentParent(BaseModel): - id: Optional[int] + id: int | None class Config: fields = { @@ -642,8 +642,8 @@ class Config: class BitBucketServerPRCommentPermittedOperations(BaseModel): - deletable: Optional[bool] - editable: Optional[bool] + deletable: bool | None + editable: bool | None class Config: fields = { @@ -654,21 +654,21 @@ class Config: class BitBucketServerPRDSL(BaseModel): author: Optional["BitBucketServerPRParticipant"] - closed: Optional[bool] - created_date: Optional[int] - description: Optional[str] + closed: bool | None + created_date: int | None + description: str | None from_ref: Optional["BitBucketServerMergeRef"] - id: Optional[int] + id: int | None links: Optional["BitBucketServerPRDSLLinks"] - locked: Optional[bool] - open: Optional[bool] - participants: Optional[List["BitBucketServerPRParticipant"]] - reviewers: Optional[List["BitBucketServerPRParticipant"]] + locked: bool | None + open: bool | None + participants: list["BitBucketServerPRParticipant"] | None + reviewers: list["BitBucketServerPRParticipant"] | None state: Optional["BitBucketServerPRDSLState"] - title: Optional[str] + title: str | None to_ref: Optional["BitBucketServerMergeRef"] - updated_date: Optional[int] - version: Optional[int] + updated_date: int | None + version: int | None class Config: fields = { @@ -703,7 +703,7 @@ class BitBucketServerPRDSLState(Enum): class BitBucketServerPRParticipant(BaseModel): - approved: Optional[bool] + approved: bool | None role: Optional["BitBucketServerPRParticipantRole"] status: Optional["BitBucketServerPRParticipantStatus"] user: Optional["BitBucketServerUser"] @@ -730,13 +730,13 @@ class BitBucketServerPRParticipantStatus(Enum): class BitBucketServerRepo(BaseModel): - forkable: Optional[bool] + forkable: bool | None links: Optional["BitBucketServerLinks"] - name: Optional[str] + name: str | None project: Optional["BitBucketServerRepoProject"] - public: Optional[bool] - scm_id: Optional[str] - slug: Optional[str] + public: bool | None + scm_id: str | None + slug: str | None class Config: fields = { @@ -751,12 +751,12 @@ class Config: class BitBucketServerRepoProject(BaseModel): - id: Optional[int] - key: Optional[str] + id: int | None + key: str | None links: Optional["BitBucketServerRepoProjectLinks"] - name: Optional[str] - public: Optional[bool] - type: Optional[str] + name: str | None + public: bool | None + type: str | None class Config: fields = { @@ -774,12 +774,12 @@ class BitBucketServerRepoProjectLinks(Enum): class BitBucketServerUser(BaseModel): - active: Optional[bool] - display_name: Optional[str] - email_address: Optional[str] - id: Optional[int] - name: Optional[str] - slug: Optional[str] + active: bool | None + display_name: str | None + email_address: str | None + id: int | None + name: str | None + slug: str | None type: Optional["BitBucketServerUserType"] class Config: @@ -800,12 +800,12 @@ class BitBucketServerUserType(Enum): class CliArgs(BaseModel): - base: Optional[str] - dangerfile: Optional[str] - external_ci_provider: Optional[str] - id: Optional[str] - text_only: Optional[str] - verbose: Optional[str] + base: str | None + dangerfile: str | None + external_ci_provider: str | None + id: str | None + text_only: str | None + verbose: str | None class Config: fields = { @@ -849,9 +849,9 @@ class Config: class DangerDSLJSONTypeSettingsGithub(BaseModel): - access_token: Optional[str] + access_token: str | None additional_headers: Any - base_url: Optional[str] + base_url: str | None class Config: fields = { @@ -871,12 +871,12 @@ class Config: class EndpointOptions(BaseModel): - base_url: Optional[str] + base_url: str | None data: Any headers: Optional["EndpointOptionsHeaders"] method: Optional["EndpointOptionsMethod"] request: Optional["EndpointOptionsRequest"] - url: Optional[str] + url: str | None class Config: fields = { @@ -909,11 +909,11 @@ class EndpointOptionsRequest(BaseModel): class GitCommit(BaseModel): author: Optional["GitCommitAuthor"] committer: Optional["GitCommitAuthor"] - message: Optional[str] - parents: Optional[List[str]] - sha: Optional[str] + message: str | None + parents: list[str] | None + sha: str | None tree: Any - url: Optional[str] + url: str | None class Config: fields = { @@ -928,9 +928,9 @@ class Config: class GitCommitAuthor(BaseModel): - date: Optional[str] - email: Optional[str] - name: Optional[str] + date: str | None + email: str | None + name: str | None class Config: fields = { @@ -941,9 +941,9 @@ class Config: class GitHubAPIPR(BaseModel): - number: Optional[int] - owner: Optional[str] - repo: Optional[str] + number: int | None + owner: str | None + repo: str | None class Config: fields = { @@ -957,9 +957,9 @@ class GitHubCommit(BaseModel): author: Optional["GitHubUser"] commit: Optional["GitCommit"] committer: Optional["GitHubUser"] - parents: Optional[List[Any]] - sha: Optional[str] - url: Optional[str] + parents: list[Any] | None + sha: str | None + url: str | None class Config: fields = { @@ -974,11 +974,11 @@ class Config: class GitHubDSL(BaseModel): api: Optional["Octokit"] - commits: Optional[List["GitHubCommit"]] + commits: list["GitHubCommit"] | None issue: Optional["GitHubIssue"] pr: Optional["GitHubPRDSL"] requested_reviewers: Optional["GitHubReviewers"] - reviews: Optional[List["GitHubReview"]] + reviews: list["GitHubReview"] | None this_pr: Optional["GitHubAPIPR"] utils: Optional["GitHubUtilsDSL"] @@ -996,7 +996,7 @@ class Config: class GitHubIssue(BaseModel): - labels: Optional[List["GitHubIssueLabel"]] + labels: list["GitHubIssueLabel"] | None class Config: fields = { @@ -1005,10 +1005,10 @@ class Config: class GitHubIssueLabel(BaseModel): - color: Optional[str] - id: Optional[int] - name: Optional[str] - url: Optional[str] + color: str | None + id: int | None + name: str | None + url: str | None class Config: fields = { @@ -1020,10 +1020,10 @@ class Config: class GitHubMergeRef(BaseModel): - label: Optional[str] - ref: Optional[str] + label: str | None + ref: str | None repo: Optional["GitHubRepo"] - sha: Optional[str] + sha: str | None user: Optional["GitHubUser"] class Config: @@ -1037,28 +1037,28 @@ class Config: class GitHubPRDSL(BaseModel): - additions: Optional[int] + additions: int | None assignee: Optional["GitHubUser"] - assignees: Optional[List["GitHubUser"]] + assignees: list["GitHubUser"] | None author_association: Optional["GitHubPRDSLAuthorAssociation"] base: Optional["GitHubMergeRef"] - body: Optional[str] - changed_files: Optional[int] - closed_at: Optional[str] - comments: Optional[int] - commits: Optional[int] - created_at: Optional[str] - deletions: Optional[int] + body: str | None + changed_files: int | None + closed_at: str | None + comments: int | None + commits: int | None + created_at: str | None + deletions: int | None head: Optional["GitHubMergeRef"] - html_url: Optional[str] - locked: Optional[bool] - merged: Optional[bool] - merged_at: Optional[str] - number: Optional[int] - review_comments: Optional[int] + html_url: str | None + locked: bool | None + merged: bool | None + merged_at: str | None + number: int | None + review_comments: int | None state: Optional["GitHubPRDSLState"] - title: Optional[str] - updated_at: Optional[str] + title: str | None + updated_at: str | None user: Optional["GitHubUser"] class Config: @@ -1108,15 +1108,15 @@ class GitHubPRDSLState(Enum): class GitHubRepo(BaseModel): assignee: Optional["GitHubUser"] - assignees: Optional[List["GitHubUser"]] - description: Optional[str] - fork: Optional[bool] - full_name: Optional[str] - html_url: Optional[str] - id: Optional[int] - name: Optional[str] + assignees: list["GitHubUser"] | None + description: str | None + fork: bool | None + full_name: str | None + html_url: str | None + id: int | None + name: str | None owner: Optional["GitHubUser"] - private: Optional[bool] + private: bool | None class Config: fields = { @@ -1134,9 +1134,9 @@ class Config: class GitHubReview(BaseModel): - body: Optional[str] - commit_id: Optional[str] - id: Optional[int] + body: str | None + commit_id: str | None + id: int | None state: Optional["GitHubReviewState"] user: Optional["GitHubUser"] @@ -1159,8 +1159,8 @@ class GitHubReviewState(Enum): class GitHubReviewers(BaseModel): - teams: Optional[List[Any]] - users: Optional[List["GitHubUser"]] + teams: list[Any] | None + users: list["GitHubUser"] | None class Config: fields = { @@ -1170,10 +1170,10 @@ class Config: class GitHubUser(BaseModel): - avatar_url: Optional[str] - href: Optional[str] - id: Optional[int] - login: Optional[str] + avatar_url: str | None + href: str | None + id: int | None + login: str | None type: Optional["GitHubUserType"] class Config: @@ -1218,10 +1218,10 @@ class GitHubUtilsDSLCreateUpdatedIssueWithID(BaseModel): class GitJSONDSL(BaseModel): - commits: Optional[List["GitCommit"]] - created_files: Optional[List[str]] - deleted_files: Optional[List[str]] - modified_files: Optional[List[str]] + commits: list["GitCommit"] | None + created_files: list[str] | None + deleted_files: list[str] | None + modified_files: list[str] | None class Config: fields = { @@ -1233,7 +1233,7 @@ class Config: class GitLabDSL(BaseModel): - commits: Optional[List["GitLabMRCommit"]] + commits: list["GitLabMRCommit"] | None metadata: Optional["RepoMetaData"] mr: Optional["GitLabMR"] utils: Optional["GitLabDSLUtils"] @@ -1252,54 +1252,54 @@ class GitLabDSLUtils(BaseModel): class GitLabMR(BaseModel): - allow_collaboration: Optional[bool] - allow_maintainer_to_push: Optional[bool] + allow_collaboration: bool | None + allow_maintainer_to_push: bool | None approvals_before_merge: Any assignee: Optional["GitLabUser"] author: Optional["GitLabUser"] - changes_count: Optional[str] - closed_at: Optional[str] + changes_count: str | None + closed_at: str | None closed_by: Optional["GitLabUser"] - created_at: Optional[str] - description: Optional[str] + created_at: str | None + description: str | None diff_refs: Optional["GitLabMRDiffRefs"] discussion_locked: Any - diverged_commits_count: Optional[int] - downvotes: Optional[int] - first_deployed_to_production_at: Optional[str] - force_remove_source_branch: Optional[bool] - id: Optional[int] - iid: Optional[int] - labels: Optional[List[str]] - latest_build_finished_at: Optional[str] - latest_build_started_at: Optional[str] - merge_commit_sha: Optional[str] + diverged_commits_count: int | None + downvotes: int | None + first_deployed_to_production_at: str | None + force_remove_source_branch: bool | None + id: int | None + iid: int | None + labels: list[str] | None + latest_build_finished_at: str | None + latest_build_started_at: str | None + merge_commit_sha: str | None merge_error: Any merge_status: Optional["GitLabMRMergeStatus"] - merge_when_pipeline_succeeds: Optional[bool] - merged_at: Optional[str] + merge_when_pipeline_succeeds: bool | None + merged_at: str | None merged_by: Optional["GitLabUser"] milestone: Optional["GitLabMRMilestone"] pipeline: Optional["GitLabMRPipeline"] - project_id: Optional[int] - rebase_in_progress: Optional[bool] - sha: Optional[str] - should_remove_source_branch: Optional[bool] - source_branch: Optional[str] - source_project_id: Optional[int] - squash: Optional[bool] + project_id: int | None + rebase_in_progress: bool | None + sha: str | None + should_remove_source_branch: bool | None + source_branch: str | None + source_project_id: int | None + squash: bool | None state: Optional["GitLabMRState"] - subscribed: Optional[bool] - target_branch: Optional[str] - target_project_id: Optional[int] + subscribed: bool | None + target_branch: str | None + target_project_id: int | None time_stats: Optional["GitLabMRTimeStats"] - title: Optional[str] - updated_at: Optional[str] - upvotes: Optional[int] + title: str | None + updated_at: str | None + upvotes: int | None user: Optional["GitLabMRUser"] - user_notes_count: Optional[int] - web_url: Optional[str] - work_in_progress: Optional[bool] + user_notes_count: int | None + web_url: str | None + work_in_progress: bool | None class Config: fields = { @@ -1355,18 +1355,18 @@ class Config: class GitLabMRCommit(BaseModel): - author_email: Optional[str] - author_name: Optional[str] - authored_date: Optional[str] - committed_date: Optional[str] - committer_email: Optional[str] - committer_name: Optional[str] - created_at: Optional[str] - id: Optional[str] - message: Optional[str] - parent_ids: Optional[List[str]] - short_id: Optional[str] - title: Optional[str] + author_email: str | None + author_name: str | None + authored_date: str | None + committed_date: str | None + committer_email: str | None + committer_name: str | None + created_at: str | None + id: str | None + message: str | None + parent_ids: list[str] | None + short_id: str | None + title: str | None class Config: fields = { @@ -1386,9 +1386,9 @@ class Config: class GitLabMRDiffRefs(BaseModel): - base_sha: Optional[str] - head_sha: Optional[str] - start_sha: Optional[str] + base_sha: str | None + head_sha: str | None + start_sha: str | None class Config: fields = { @@ -1408,17 +1408,17 @@ class GitLabMRMergeStatus(Enum): class GitLabMRMilestone(BaseModel): - created_at: Optional[str] - description: Optional[str] - due_date: Optional[str] - id: Optional[int] - iid: Optional[int] - project_id: Optional[int] - start_date: Optional[str] + created_at: str | None + description: str | None + due_date: str | None + id: int | None + iid: int | None + project_id: int | None + start_date: str | None state: Optional["GitLabMRMilestoneState"] - title: Optional[str] - updated_at: Optional[str] - web_url: Optional[str] + title: str | None + updated_at: str | None + web_url: str | None class Config: fields = { @@ -1442,11 +1442,11 @@ class GitLabMRMilestoneState(Enum): class GitLabMRPipeline(BaseModel): - id: Optional[int] - ref: Optional[str] - sha: Optional[str] + id: int | None + ref: str | None + sha: str | None status: Optional["GitLabMRPipelineStatus"] - web_url: Optional[str] + web_url: str | None class Config: fields = { @@ -1475,10 +1475,10 @@ class GitLabMRState(Enum): class GitLabMRTimeStats(BaseModel): - human_time_estimate: Optional[int] - human_total_time_spent: Optional[int] - time_estimate: Optional[int] - total_time_spent: Optional[int] + human_time_estimate: int | None + human_total_time_spent: int | None + time_estimate: int | None + total_time_spent: int | None class Config: fields = { @@ -1490,7 +1490,7 @@ class Config: class GitLabMRUser(BaseModel): - can_merge: Optional[bool] + can_merge: bool | None class Config: fields = { @@ -1499,12 +1499,12 @@ class Config: class GitLabUser(BaseModel): - avatar_url: Optional[str] - id: Optional[int] - name: Optional[str] + avatar_url: str | None + id: int | None + name: str | None state: Optional["GitLabUserState"] - username: Optional[str] - web_url: Optional[str] + username: str | None + web_url: str | None class Config: fields = { @@ -1523,8 +1523,8 @@ class GitLabUserState(Enum): class JIRAIssue(BaseModel): - key: Optional[str] - url: Optional[str] + key: str | None + url: str | None class Config: fields = { @@ -7320,8 +7320,8 @@ class PaginateIterator(BaseModel): class RepoMetaData(BaseModel): - pull_request_id: Optional[str] - repo_slug: Optional[str] + pull_request_id: str | None + repo_slug: str | None class Config: fields = { diff --git a/danger_python/shell.py b/danger_python/shell.py index 549b2bf..9d25fbe 100644 --- a/danger_python/shell.py +++ b/danger_python/shell.py @@ -3,7 +3,6 @@ import sys import traceback from types import TracebackType -from typing import List from .danger import Danger, fail, markdown, message, serialize_results, warn from .exceptions import DangerfileException, SystemConfigurationException @@ -19,12 +18,12 @@ def resolve_danger_path(): raise SystemConfigurationException("danger-js not found in PATH") -def invoke_danger(parameters: List[str]) -> subprocess.CompletedProcess: +def invoke_danger(parameters: list[str]) -> subprocess.CompletedProcess: command = build_danger_command(parameters) return subprocess.run(command, capture_output=True) -def build_danger_command(parameters: List[str]) -> List[str]: +def build_danger_command(parameters: list[str]) -> list[str]: command = [resolve_danger_path()] command.extend(parameters) command.extend(["-p", "danger-python", "-u"]) diff --git a/pyproject.toml b/pyproject.toml index af08fce..fdaba03 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -54,3 +54,21 @@ build-backend = "uv_build" [tool.uv.build-backend] module-root = "" module-name = "danger_python" + +[tool.ruff] +line-length = 88 +target-version = "py313" +# dangerfile.py runs under the danger runtime, which injects `danger`/`warn` +# as globals; it was excluded from the old flake8 config for the same reason. +extend-exclude = ["dangerfile.py"] + +[tool.ruff.lint] +# Extend (not replace) Ruff's defaults so Pyflakes (F) and pycodestyle (E) +# checks are retained; add import sorting (I), pyupgrade (UP), bugbear (B), +# comprehensions (C4), and simplify (SIM). +extend-select = ["E", "F", "I", "UP", "B", "C4", "SIM"] +# Line length is enforced by the formatter (line-length = 88); E501 only fires +# on lines the formatter cannot wrap (e.g. long string literals in the +# generated models.py). The previous flake8 config ignored E501 for the same +# reason — keep that intent so lint and format do not disagree. +ignore = ["E501"] diff --git a/scripts/generate_scheme.py b/scripts/generate_scheme.py index e02f306..0cfc245 100644 --- a/scripts/generate_scheme.py +++ b/scripts/generate_scheme.py @@ -7,7 +7,7 @@ def main(): - with open("input_schema.json", "r") as schema_file: + with open("input_schema.json") as schema_file: types = build_types(parse_schema(schema_file.read())) rendered = render_classes(types) diff --git a/setup.cfg b/setup.cfg index fa20609..dba8f29 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,17 +1,3 @@ -[isort] -multi_line_output=3 -include_trailing_comma=True -force_grid_wrap=0 -use_parentheses=True -line_length=88 - -[flake8] -ignore = E203, E266, E501, W503 -max-line-length = 88 -max-complexity = 18 -select = B,C,E,F,W,T4 -exclude = dangerfile.py - [mypy] files=danger_python,tests ignore_missing_imports=true diff --git a/tests/conftest.py b/tests/conftest.py index 2d730d0..7268ba3 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,6 +1,6 @@ import sys +from collections.abc import Iterator from io import StringIO -from typing import Dict, Iterator, List, Optional from unittest import mock import pytest @@ -13,17 +13,17 @@ @pytest.fixture -def modified_files() -> List[str]: +def modified_files() -> list[str]: return [] @pytest.fixture -def created_files() -> List[str]: +def created_files() -> list[str]: return [] @pytest.fixture -def deleted_files() -> List[str]: +def deleted_files() -> list[str]: return [] @@ -46,7 +46,7 @@ def stdin(stdin_str: str) -> Iterator[None]: @pytest.fixture -def danger_js_path() -> Optional[str]: +def danger_js_path() -> str | None: return None @@ -62,15 +62,15 @@ def danger_js_arguments() -> str: @pytest.fixture def subprocesses( - danger_js_path: Optional[str], danger_js_output: str, danger_js_arguments: str -) -> List[SubprocessFixture]: + danger_js_path: str | None, danger_js_output: str, danger_js_arguments: str +) -> list[SubprocessFixture]: which_danger_subprocess = SubprocessFixture( command="which danger", exit_code=0 if danger_js_path else 1, output=danger_js_path if danger_js_path else "danger not found", ) - danger_subprocess: Optional[SubprocessFixture] = None + danger_subprocess: SubprocessFixture | None = None if danger_js_path: danger_subprocess = SubprocessFixture( @@ -83,7 +83,7 @@ def subprocesses( @pytest.fixture -def run_subprocess(subprocesses: List[SubprocessFixture]) -> Iterator[None]: +def run_subprocess(subprocesses: list[SubprocessFixture]) -> Iterator[None]: with mock.patch("subprocess.Popen", new_callable=MockPopen) as mock_popen: for process in subprocesses: mock_popen.set_command( @@ -97,11 +97,11 @@ def run_subprocess(subprocesses: List[SubprocessFixture]) -> Iterator[None]: @pytest.fixture def files( - modified_files: List[str], - created_files: List[str], - deleted_files: List[str], + modified_files: list[str], + created_files: list[str], + deleted_files: list[str], dangerfile: str, -) -> Dict[str, str]: +) -> dict[str, str]: return { "/var/path/to/file.json": danger_input_file_fixture( modified_files=modified_files, @@ -113,9 +113,9 @@ def files( @pytest.fixture -def filesystem(files: Dict[str, str]) -> Iterator[None]: +def filesystem(files: dict[str, str]) -> Iterator[None]: with Patcher() as patcher: - for (filename, contents) in files.items(): + for filename, contents in files.items(): patcher.fs.create_file(filename, contents=contents) yield diff --git a/tests/fixtures/danger.py b/tests/fixtures/danger.py index d3a52b1..d7d1ef2 100644 --- a/tests/fixtures/danger.py +++ b/tests/fixtures/danger.py @@ -1,9 +1,9 @@ -from typing import Any, Dict +from typing import Any from jinja2 import Environment, PackageLoader, select_autoescape -def danger_input_file_fixture(**kwargs: Dict[str, Any]) -> str: +def danger_input_file_fixture(**kwargs: dict[str, Any]) -> str: template_environment = Environment( loader=PackageLoader("tests", "fixtures"), autoescape=select_autoescape([]) ) diff --git a/tests/fixtures/shell.py b/tests/fixtures/shell.py index 46b6a9c..3f04e4e 100644 --- a/tests/fixtures/shell.py +++ b/tests/fixtures/shell.py @@ -1,9 +1,8 @@ from dataclasses import dataclass -from typing import Optional @dataclass class SubprocessFixture: command: str exit_code: int - output: Optional[str] + output: str | None diff --git a/tests/generator/test_builder.py b/tests/generator/test_builder.py index 61c008a..214ff06 100644 --- a/tests/generator/test_builder.py +++ b/tests/generator/test_builder.py @@ -405,7 +405,9 @@ def test_type_builder_handles_top_level_enumerations(): assert len(build_result) == 1 assert build_result[0] == EnumDefinition( - name="TestEnum", values=[("A", "a"), ("B", "b"), ("C", "c")], depends_on=set(), + name="TestEnum", + values=[("A", "a"), ("B", "b"), ("C", "c")], + depends_on=set(), ) @@ -514,7 +516,10 @@ def test_type_builder_resolves_union_types_to_any(): name="ObjectA", properties=[ PropertyDefinition( - name="ref_b", key="refB", value_type="Any", known_type=True, + name="ref_b", + key="refB", + value_type="Any", + known_type=True, ) ], depends_on=set(), @@ -553,10 +558,16 @@ def test_type_builder_handles_specific_non_camel_case_property_names(): name="NonStandardObject", properties=[ PropertyDefinition( - name="base_url", key="baseURL", value_type="str", known_type=True, + name="base_url", + key="baseURL", + value_type="str", + known_type=True, ), PropertyDefinition( - name="defaults", key="DEFAULTS", value_type="Any", known_type=True, + name="defaults", + key="DEFAULTS", + value_type="Any", + known_type=True, ), PropertyDefinition( name="this_pr", key="thisPR", value_type="Any", known_type=True diff --git a/tests/generator/test_model.py b/tests/generator/test_model.py index c8f3e70..ae5ec32 100644 --- a/tests/generator/test_model.py +++ b/tests/generator/test_model.py @@ -16,10 +16,10 @@ def test_property_definition_formats_the_type_correctly(): ) integer = PropertyDefinition(name="", key="", value_type="int", known_type=True) - assert "Optional[str]" == optional_string.formatted_type - assert "List['CustomType']" == list_custom_type.formatted_type - assert "Optional['TheType']" == optional_custom_type.formatted_type - assert "int" == integer.formatted_type + assert optional_string.formatted_type == "Optional[str]" + assert list_custom_type.formatted_type == "List['CustomType']" + assert optional_custom_type.formatted_type == "Optional['TheType']" + assert integer.formatted_type == "int" def test_property_definition_returns_non_reserved_name(): @@ -34,9 +34,9 @@ def test_property_definition_returns_non_reserved_name(): ) id_int = PropertyDefinition(name="id", key="", value_type="int", known_type=True) - assert "from_" == from_string.non_reserved_name - assert "self_" == self_custom_type.non_reserved_name - assert "id" == id_int.non_reserved_name + assert from_string.non_reserved_name == "from_" + assert self_custom_type.non_reserved_name == "self_" + assert id_int.non_reserved_name == "id" def test_patched_property_type_formats_the_type_correctly(): @@ -55,8 +55,8 @@ def test_patched_property_type_formats_the_type_correctly(): integer = PropertyDefinition(name="", key="", value_type="int", known_type=True) any_type = PropertyDefinition(name="", key="", value_type="Any", known_type=True) - assert "Optional[str]" == optional_string.patched_type - assert "Optional[List['CustomType']]" == list_custom_type.patched_type - assert "Optional['TheType']" == custom_type.patched_type - assert "Optional[int]" == integer.patched_type - assert "Any" == any_type.patched_type + assert optional_string.patched_type == "Optional[str]" + assert list_custom_type.patched_type == "Optional[List['CustomType']]" + assert custom_type.patched_type == "Optional['TheType']" + assert integer.patched_type == "Optional[int]" + assert any_type.patched_type == "Any" diff --git a/tests/generator/test_parser.py b/tests/generator/test_parser.py index f50f54b..05cde0a 100644 --- a/tests/generator/test_parser.py +++ b/tests/generator/test_parser.py @@ -211,7 +211,7 @@ def test_schema_parser_parses_real_schema(): """ Test schema parser parses real schema. """ - with open("tests/fixtures/input_schema.json", "r") as input_schema: + with open("tests/fixtures/input_schema.json") as input_schema: parsed_schema = parse_schema(input_schema.read()) assert len(parsed_schema) == 52 diff --git a/tests/test_cli.py b/tests/test_cli.py index 1916387..d41cf44 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -70,9 +70,7 @@ def test_ci_command_invokes_danger_js_passing_arguments(): @pytest.mark.parametrize("command", ["run", "runner"]) -@pytest.mark.parametrize( - "dangerfile", ['print("Hello world")\n' 'print("Goodbye world")'] -) +@pytest.mark.parametrize("dangerfile", ['print("Hello world")\nprint("Goodbye world")']) @pytest.mark.usefixtures("danger") def test_run_command_invokes_dangerfile(command): """ diff --git a/tests/test_danger.py b/tests/test_danger.py index c6a6b91..b3847c4 100644 --- a/tests/test_danger.py +++ b/tests/test_danger.py @@ -1,5 +1,3 @@ -from typing import Dict - import pytest from danger_python.danger import ( @@ -64,7 +62,7 @@ def test_results_are_correctly_serialized(): } -def __load_dsl_files() -> Dict[str, str]: +def __load_dsl_files() -> dict[str, str]: danger_dsl_json = danger_input_file_fixture( modified_files=["a.py"], created_files=["b.py"], deleted_files=["c.py"] ) @@ -159,7 +157,7 @@ def test_fail_method_appends_failure_to_results(): ) -def _load_top_level_json() -> Dict[str, str]: +def _load_top_level_json() -> dict[str, str]: danger_dsl_json = """{ "danger": { "bitbucket_cloud": { diff --git a/tests/test_shell.py b/tests/test_shell.py index 79f471e..ae3509e 100644 --- a/tests/test_shell.py +++ b/tests/test_shell.py @@ -64,7 +64,7 @@ def test_dangerfile_executor_formats_syntax_error_correctly(): """ Test that dangerfile executor formats the SyntaxError correctly. """ - dangerfile = "a = 2\n" "b = 8\n" "This is not a valid Python syntax\n" + dangerfile = "a = 2\nb = 8\nThis is not a valid Python syntax\n" with pytest.raises(DangerfileException) as danger_exc: execute_dangerfile(dangerfile) @@ -83,7 +83,7 @@ def test_dangerfile_executor_formats_name_error_correctly(): """ Test that dangerfile executor formats the NameError correctly. """ - dangerfile = "a = 2\n" "c += 8\n" "b = 12\n" + dangerfile = "a = 2\nc += 8\nb = 12\n" with pytest.raises(DangerfileException) as danger_exc: execute_dangerfile(dangerfile) From be29cf5605a15b5a1b8c1b9fdcd6da0428a56cf3 Mon Sep 17 00:00:00 2001 From: Giancarlos Isasi Date: Thu, 23 Jul 2026 00:12:55 -0500 Subject: [PATCH 3/9] chore: replace mypy with pyrefly --- .gitignore | 2 ++ pyproject.toml | 26 ++++++++++++++++++++++++++ setup.cfg | 4 ---- 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 27bfe4f..3bea066 100644 --- a/.gitignore +++ b/.gitignore @@ -105,3 +105,5 @@ venv.bak/ # Coverage report cov.xml + +.ruff_cache \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index fdaba03..5c41d31 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -72,3 +72,29 @@ extend-select = ["E", "F", "I", "UP", "B", "C4", "SIM"] # generated models.py). The previous flake8 config ignored E501 for the same # reason — keep that intent so lint and format do not disagree. ignore = ["E501"] + +[tool.pyrefly] +# Migrated from the old mypy config in setup.cfg ([mypy]): +# files = danger_python,tests -> project-includes +# ignore_missing_imports = true -> ignore-missing-imports = ["*"] +# `pyrefly init --migrate-from mypy` only emits a default project-includes (it +# does not read setup.cfg's [mypy] table), so the two settings are ported by +# hand below. +# +# Target the >=3.13 support floor (not the 3.14 dev interpreter) so results +# reflect the minimum supported version, matching ruff's target-version = "py313". +python-version = "3.13" +# Scope checks to the package and its tests — mirrors mypy `files = danger_python,tests`. +project-includes = ["danger_python", "tests"] +# Preserve the old mypy `ignore_missing_imports = true`: treat any module that +# cannot be resolved / ships no type information (e.g. stringcase, +# click-default-group) as `Any` instead of raising an import error. "*" is +# pyrefly module-globbing for "all module paths". +ignore-missing-imports = ["*"] +# danger_python/models.py is machine-generated by scripts/generate_scheme.py. +# Pyrefly skips any file containing a `@generated` marker (treating it as +# excluded), which prevents false positives on codegen output. The marker must +# be emitted by the Jinja template (danger_python/generator/templates/dsl.py.jinja) +# for this to take effect — that template edit is a Group 6.3 follow-up. The +# generated models.py type-checks clean today, so nothing is masked in the interim. +ignore-errors-in-generated-code = true diff --git a/setup.cfg b/setup.cfg index dba8f29..89f5aaf 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,7 +1,3 @@ -[mypy] -files=danger_python,tests -ignore_missing_imports=true - [tool:pytest] source = danger_python python_files = test_*.py From 3349cfeff180e382b511fdcba5938341cb528075 Mon Sep 17 00:00:00 2001 From: Giancarlos Isasi Date: Thu, 23 Jul 2026 01:08:46 -0500 Subject: [PATCH 4/9] chore: migrate to pydantic v2 Also consolidate tooling config by moving from setup.cfg to pyproject.toml --- danger_python/danger.py | 235 +- danger_python/generator/renderer.py | 9 +- .../generator/templates/dsl.py.jinja | 12 +- danger_python/models.py | 14184 ++++++---------- pyproject.toml | 31 +- scripts/generate_scheme.py | 17 +- setup.cfg | 19 - tests/generator/test_renderer.py | 65 +- 8 files changed, 5794 insertions(+), 8778 deletions(-) delete mode 100644 setup.cfg diff --git a/danger_python/danger.py b/danger_python/danger.py index a49c795..b6bfe64 100644 --- a/danger_python/danger.py +++ b/danger_python/danger.py @@ -1,118 +1,117 @@ -import json -import sys -from collections.abc import Callable -from functools import partial -from operator import attrgetter -from typing import Any - -from pydantic import BaseModel - -from .models import ( - BitBucketCloudJSONDSL, - BitBucketServerJSONDSL, - DangerDSLJSONType, - DangerDSLJSONTypeSettings, - GitHubDSL, - GitJSONDSL, - GitLabDSL, -) - - -class Violation(BaseModel): - message: str - file_name: str | None = None - line: int | None = None - - class Config: - allow_population_by_field_name = True - fields = {"message": "message", "file_name": "file", "line": "line"} - - -class DangerMeta(BaseModel): - href: str = "https://danger.systems/python" - name: str = "danger-python" - - class Config: - fields = {"href": "runtimeHref", "name": "runtimeName"} - - -class DangerResults(BaseModel): - fails: list[Violation] = [] - warnings: list[Violation] = [] - messages: list[Violation] = [] - markdowns: list[Violation] = [] - meta: DangerMeta = DangerMeta() - - -def serialize_violation(violation: Violation) -> dict[str, Any]: - return violation.dict(exclude_none=True, by_alias=True) - - -def serialize_results(results: DangerResults) -> dict[str, Any]: - return results.dict(exclude_none=True, by_alias=True) - - -def load_dsl() -> DangerDSLJSONType: - file_url = sys.stdin.read().split("danger://dsl/")[-1] - - with open(file_url) as json_file: - input_json = json.loads(json_file.read()) - return DangerDSLJSONType(**input_json["danger"]) - - -class Danger: - def __init__(self): - if not Danger.dsl: - Danger.dsl = load_dsl() - if not Danger.results: - Danger.results = DangerResults() - - dsl: DangerDSLJSONType | None = None - results: DangerResults | None = None - - @property - def git(self) -> GitJSONDSL | None: - assert Danger.dsl is not None - return Danger.dsl.git - - @property - def github(self) -> GitHubDSL | None: - assert Danger.dsl is not None - return Danger.dsl.github - - @property - def bitbucket_cloud(self) -> BitBucketCloudJSONDSL | None: - assert Danger.dsl is not None - return Danger.dsl.bitbucket_cloud - - @property - def bitbucket_server(self) -> BitBucketServerJSONDSL | None: - assert Danger.dsl is not None - return Danger.dsl.bitbucket_server - - @property - def gitlab(self) -> GitLabDSL | None: - assert Danger.dsl is not None - return Danger.dsl.gitlab - - @property - def settings(self) -> DangerDSLJSONTypeSettings | None: - assert Danger.dsl is not None - return Danger.dsl.settings - - -def _add_to_results( - field: Callable[[DangerResults], list[Violation]], - message: str, - file_name: str | None = None, - line: int | None = None, -): - assert Danger.results is not None - violation = Violation(message=message, file_name=file_name, line=line) - field(Danger.results).append(violation) - - -message = partial(_add_to_results, attrgetter("messages")) -markdown = partial(_add_to_results, attrgetter("markdowns")) -warn = partial(_add_to_results, attrgetter("warnings")) -fail = partial(_add_to_results, attrgetter("fails")) +import json +import sys +from collections.abc import Callable +from functools import partial +from operator import attrgetter +from typing import Any + +from pydantic import BaseModel, ConfigDict, Field + +from .models import ( + BitBucketCloudJSONDSL, + BitBucketServerJSONDSL, + DangerDSLJSONType, + DangerDSLJSONTypeSettings, + GitHubDSL, + GitJSONDSL, + GitLabDSL, +) + + +class Violation(BaseModel): + # pydantic v1 `allow_population_by_field_name` -> v2 `populate_by_name`, so + # the model can still be built by field name (Violation(file_name=...)) while + # serializing to the danger-js alias (`file`). + model_config = ConfigDict(populate_by_name=True) + + message: str + file_name: str | None = Field(default=None, alias="file") + line: int | None = None + + +class DangerMeta(BaseModel): + # v1 `Config.fields` alias map -> v2 per-field `Field(alias=...)`. + href: str = Field(default="https://danger.systems/python", alias="runtimeHref") + name: str = Field(default="danger-python", alias="runtimeName") + + +class DangerResults(BaseModel): + fails: list[Violation] = [] + warnings: list[Violation] = [] + messages: list[Violation] = [] + markdowns: list[Violation] = [] + meta: DangerMeta = DangerMeta() + + +def serialize_violation(violation: Violation) -> dict[str, Any]: + return violation.model_dump(exclude_none=True, by_alias=True) + + +def serialize_results(results: DangerResults) -> dict[str, Any]: + return results.model_dump(exclude_none=True, by_alias=True) + + +def load_dsl() -> DangerDSLJSONType: + file_url = sys.stdin.read().split("danger://dsl/")[-1] + + with open(file_url) as json_file: + input_json = json.loads(json_file.read()) + return DangerDSLJSONType(**input_json["danger"]) + + +class Danger: + def __init__(self): + if not Danger.dsl: + Danger.dsl = load_dsl() + if not Danger.results: + Danger.results = DangerResults() + + dsl: DangerDSLJSONType | None = None + results: DangerResults | None = None + + @property + def git(self) -> GitJSONDSL | None: + assert Danger.dsl is not None + return Danger.dsl.git + + @property + def github(self) -> GitHubDSL | None: + assert Danger.dsl is not None + return Danger.dsl.github + + @property + def bitbucket_cloud(self) -> BitBucketCloudJSONDSL | None: + assert Danger.dsl is not None + return Danger.dsl.bitbucket_cloud + + @property + def bitbucket_server(self) -> BitBucketServerJSONDSL | None: + assert Danger.dsl is not None + return Danger.dsl.bitbucket_server + + @property + def gitlab(self) -> GitLabDSL | None: + assert Danger.dsl is not None + return Danger.dsl.gitlab + + @property + def settings(self) -> DangerDSLJSONTypeSettings | None: + assert Danger.dsl is not None + return Danger.dsl.settings + + +def _add_to_results( + field: Callable[[DangerResults], list[Violation]], + message: str, + file_name: str | None = None, + line: int | None = None, +): + assert Danger.results is not None + violation = Violation(message=message, file_name=file_name, line=line) + field(Danger.results).append(violation) + + +message = partial(_add_to_results, attrgetter("messages")) +markdown = partial(_add_to_results, attrgetter("markdowns")) +warn = partial(_add_to_results, attrgetter("warnings")) +fail = partial(_add_to_results, attrgetter("fails")) diff --git a/danger_python/generator/renderer.py b/danger_python/generator/renderer.py index efe4fd4..5b1f5fd 100644 --- a/danger_python/generator/renderer.py +++ b/danger_python/generator/renderer.py @@ -12,5 +12,12 @@ def render_classes(to_render: list[TypeDefinition]) -> str: ) template = template_environment.get_template("dsl.py.jinja") rendered = template.render(types=to_render) - result = subprocess.run(["black", "-c", rendered], capture_output=True) + # Format the generated source with Ruff (black was removed in the tooling + # migration). `ruff format -` reads the module from stdin and writes the + # formatted result to stdout, using the project's [tool.ruff] config. + result = subprocess.run( + ["ruff", "format", "-"], + input=rendered.encode("utf-8"), + capture_output=True, + ) return result.stdout.decode("utf-8") diff --git a/danger_python/generator/templates/dsl.py.jinja b/danger_python/generator/templates/dsl.py.jinja index 3766564..c8c06a3 100644 --- a/danger_python/generator/templates/dsl.py.jinja +++ b/danger_python/generator/templates/dsl.py.jinja @@ -1,7 +1,8 @@ +# @generated by scripts/generate_scheme.py - DO NOT EDIT. from enum import Enum from typing import Any, List, Optional -from pydantic import BaseModel +from pydantic import BaseModel, Field {% for type in types %} {% if 'EnumDefinition' in type.__class__.__name__ %} @@ -10,16 +11,11 @@ class {{ type.name }}(Enum): {% else %}pass{% endfor %} {% elif 'ClassDefinition' in type.__class__.__name__ %} class {{ type.name }}(BaseModel): - {% for property in type.properties %}{{ property.non_reserved_name }}: {{ property.patched_type }} + {% for property in type.properties %}{{ property.non_reserved_name }}: {{ property.patched_type }} = Field(default=None, alias="{{ property.key }}") {% else %}pass{% endfor %} - {% if type.properties %}class Config: - fields = { -{% for property in type.properties %} "{{ property.non_reserved_name }}": "{{ property.key }}", -{% endfor %} } - {% endif %} {% endif %} {% endfor %} {% for type in types %} -{% if 'ClassDefinition' in type.__class__.__name__ %}{{ type.name }}.update_forward_refs(){% endif %} +{% if 'ClassDefinition' in type.__class__.__name__ %}{{ type.name }}.model_rebuild(){% endif %} {% endfor %} diff --git a/danger_python/models.py b/danger_python/models.py index be2992a..09e26f4 100644 --- a/danger_python/models.py +++ b/danger_python/models.py @@ -1,8578 +1,5606 @@ -from enum import Enum -from typing import Any, Optional - -from pydantic import BaseModel - - -class BitBucketCloudCommit(BaseModel): - author: Optional["BitBucketCloudCommitAuthor"] - date: str | None - hash: str | None - links: Optional["BitBucketCloudCommitsLinks"] - message: str | None - parents: list["BitBucketCloudCommitParents"] | None - - class Config: - fields = { - "author": "author", - "date": "date", - "hash": "hash", - "links": "links", - "message": "message", - "parents": "parents", - } - - -class BitBucketCloudCommitAuthor(BaseModel): - raw: str | None - user: Optional["BitBucketCloudUser"] - - class Config: - fields = { - "raw": "raw", - "user": "user", - } - - -class BitBucketCloudCommitParents(BaseModel): - hash: str | None - - class Config: - fields = { - "hash": "hash", - } - - -class BitBucketCloudCommitsLinks(BaseModel): - html: Optional["BitBucketCloudCommitsLinksHtml"] - - class Config: - fields = { - "html": "html", - } - - -class BitBucketCloudCommitsLinksHtml(BaseModel): - href: str | None - - class Config: - fields = { - "href": "href", - } - - -class BitBucketCloudCompletePRLinks(BaseModel): - activity: Optional["BitBucketCloudCompletePRLinksActivity"] - approve: Optional["BitBucketCloudCompletePRLinksApprove"] - comments: Optional["BitBucketCloudCompletePRLinksComments"] - commits: Optional["BitBucketCloudCompletePRLinksCommits"] - decline: Optional["BitBucketCloudCompletePRLinksDecline"] - diff: Optional["BitBucketCloudCompletePRLinksDiff"] - html: Optional["BitBucketCloudCompletePRLinksHtml"] - merge: Optional["BitBucketCloudCompletePRLinksMerge"] - self_: Optional["BitBucketCloudCompletePRLinksSelf"] - statuses: Optional["BitBucketCloudCompletePRLinksStatuses"] - - class Config: - fields = { - "activity": "activity", - "approve": "approve", - "comments": "comments", - "commits": "commits", - "decline": "decline", - "diff": "diff", - "html": "html", - "merge": "merge", - "self_": "self", - "statuses": "statuses", - } - - -class BitBucketCloudCompletePRLinksActivity(BaseModel): - href: str | None - - class Config: - fields = { - "href": "href", - } - - -class BitBucketCloudCompletePRLinksApprove(BaseModel): - href: str | None - - class Config: - fields = { - "href": "href", - } - - -class BitBucketCloudCompletePRLinksComments(BaseModel): - href: str | None - - class Config: - fields = { - "href": "href", - } - - -class BitBucketCloudCompletePRLinksCommits(BaseModel): - href: str | None - - class Config: - fields = { - "href": "href", - } - - -class BitBucketCloudCompletePRLinksDecline(BaseModel): - href: str | None - - class Config: - fields = { - "href": "href", - } - - -class BitBucketCloudCompletePRLinksDiff(BaseModel): - href: str | None - - class Config: - fields = { - "href": "href", - } - - -class BitBucketCloudCompletePRLinksHtml(BaseModel): - href: str | None - - class Config: - fields = { - "href": "href", - } - - -class BitBucketCloudCompletePRLinksMerge(BaseModel): - href: str | None - - class Config: - fields = { - "href": "href", - } - - -class BitBucketCloudCompletePRLinksSelf(BaseModel): - href: str | None - - class Config: - fields = { - "href": "href", - } - - -class BitBucketCloudCompletePRLinksStatuses(BaseModel): - href: str | None - - class Config: - fields = { - "href": "href", - } - - -class BitBucketCloudContent(BaseModel): - html: str | None - markup: str | None - raw: str | None - type: Optional["BitBucketCloudContentType"] - - class Config: - fields = { - "html": "html", - "markup": "markup", - "raw": "raw", - "type": "type", - } - - -class BitBucketCloudContentType(Enum): - RENDERED = "rendered" - - -class BitBucketCloudJSONDSL(BaseModel): - activities: list["BitBucketCloudPRActivity"] | None - comments: list["BitBucketCloudPRComment"] | None - commits: list["BitBucketCloudCommit"] | None - metadata: Optional["RepoMetaData"] - pr: Optional["BitBucketCloudPRDSL"] - - class Config: - fields = { - "activities": "activities", - "comments": "comments", - "commits": "commits", - "metadata": "metadata", - "pr": "pr", - } - - -class BitBucketCloudMergeRef(BaseModel): - branch: Optional["BitBucketCloudMergeRefBranch"] - commit: Optional["BitBucketCloudMergeRefCommit"] - repository: Optional["BitBucketCloudRepo"] - - class Config: - fields = { - "branch": "branch", - "commit": "commit", - "repository": "repository", - } - - -class BitBucketCloudMergeRefBranch(BaseModel): - name: str | None - - class Config: - fields = { - "name": "name", - } - - -class BitBucketCloudMergeRefCommit(BaseModel): - hash: str | None - - class Config: - fields = { - "hash": "hash", - } - - -class BitBucketCloudPRActivity(BaseModel): - comment: Optional["BitBucketCloudPRComment"] - pull_request: Optional["BitBucketCloudPRActivityPullRequest"] - - class Config: - fields = { - "comment": "comment", - "pull_request": "pull_request", - } - - -class BitBucketCloudPRActivityPullRequest(BaseModel): - id: int | None - title: str | None - - class Config: - fields = { - "id": "id", - "title": "title", - } - - -class BitBucketCloudPRComment(BaseModel): - content: Optional["BitBucketCloudContent"] - created_on: str | None - deleted: bool | None - id: int | None - inline: Optional["BitBucketCloudPRCommentInline"] - links: Optional["BitBucketCloudPRLinks"] - pullrequest: Optional["BitBucketCloudPRCommentPullrequest"] - type: str | None - updated_on: str | None - user: Optional["BitBucketCloudUser"] - - class Config: - fields = { - "content": "content", - "created_on": "created_on", - "deleted": "deleted", - "id": "id", - "inline": "inline", - "links": "links", - "pullrequest": "pullrequest", - "type": "type", - "updated_on": "updated_on", - "user": "user", - } - - -class BitBucketCloudPRCommentInline(BaseModel): - from_: int | None - path: str | None - to: int | None - - class Config: - fields = { - "from_": "from", - "path": "path", - "to": "to", - } - - -class BitBucketCloudPRCommentPullrequest(BaseModel): - id: int | None - links: Optional["BitBucketCloudPRLinks"] - title: str | None - - class Config: - fields = { - "id": "id", - "links": "links", - "title": "title", - } - - -class BitBucketCloudPRDSL(BaseModel): - author: Optional["BitBucketCloudUser"] - created_on: int | None - description: str | None - destination: Optional["BitBucketCloudMergeRef"] - id: int | None - links: Optional["BitBucketCloudCompletePRLinks"] - participants: list["BitBucketCloudPRParticipant"] | None - reviewers: list["BitBucketCloudUser"] | None - source: Optional["BitBucketCloudMergeRef"] - state: Optional["BitBucketCloudPRDSLState"] - title: str | None - updated_on: int | None - - class Config: - fields = { - "author": "author", - "created_on": "created_on", - "description": "description", - "destination": "destination", - "id": "id", - "links": "links", - "participants": "participants", - "reviewers": "reviewers", - "source": "source", - "state": "state", - "title": "title", - "updated_on": "updated_on", - } - - -class BitBucketCloudPRDSLState(Enum): - DECLINED = "DECLINED" - MERGED = "MERGED" - OPEN = "OPEN" - SUPERSEDED = "SUPERSEDED" - - -class BitBucketCloudPRLinks(BaseModel): - html: Optional["BitBucketCloudPRLinksHtml"] - self_: Optional["BitBucketCloudPRLinksSelf"] - - class Config: - fields = { - "html": "html", - "self_": "self", - } - - -class BitBucketCloudPRLinksHtml(BaseModel): - href: str | None - - class Config: - fields = { - "href": "href", - } - - -class BitBucketCloudPRLinksSelf(BaseModel): - href: str | None - - class Config: - fields = { - "href": "href", - } - - -class BitBucketCloudPRParticipant(BaseModel): - approved: bool | None - role: Optional["BitBucketCloudPRParticipantRole"] - user: Optional["BitBucketCloudUser"] - - class Config: - fields = { - "approved": "approved", - "role": "role", - "user": "user", - } - - -class BitBucketCloudPRParticipantRole(Enum): - PARTICIPANT = "PARTICIPANT" - REVIEWER = "REVIEWER" - - -class BitBucketCloudRepo(BaseModel): - full_name: str | None - name: str | None - uuid: str | None - - class Config: - fields = { - "full_name": "full_name", - "name": "name", - "uuid": "uuid", - } - - -class BitBucketCloudUser(BaseModel): - account_id: str | None - display_name: str | None - nickname: str | None - uuid: str | None - - class Config: - fields = { - "account_id": "account_id", - "display_name": "display_name", - "nickname": "nickname", - "uuid": "uuid", - } - - -class BitBucketServerCommit(BaseModel): - author: Optional["BitBucketServerCommitAuthor"] - author_timestamp: int | None - committer: Optional["BitBucketServerCommitCommitter"] - committer_timestamp: int | None - display_id: str | None - id: str | None - message: str | None - parents: list["BitBucketServerCommitParents"] | None - - class Config: - fields = { - "author": "author", - "author_timestamp": "authorTimestamp", - "committer": "committer", - "committer_timestamp": "committerTimestamp", - "display_id": "displayId", - "id": "id", - "message": "message", - "parents": "parents", - } - - -class BitBucketServerCommitAuthor(BaseModel): - display_name: str | None - email_address: str | None - name: str | None - - class Config: - fields = { - "display_name": "displayName", - "email_address": "emailAddress", - "name": "name", - } - - -class BitBucketServerCommitCommitter(BaseModel): - display_name: str | None - email_address: str | None - name: str | None - - class Config: - fields = { - "display_name": "displayName", - "email_address": "emailAddress", - "name": "name", - } - - -class BitBucketServerCommitParents(BaseModel): - display_id: str | None - id: str | None - - class Config: - fields = { - "display_id": "displayId", - "id": "id", - } - - -class BitBucketServerJSONDSL(BaseModel): - activities: list["BitBucketServerPRActivity"] | None - comments: list["BitBucketServerPRActivity"] | None - commits: list["BitBucketServerCommit"] | None - issues: list["JIRAIssue"] | None - metadata: Optional["RepoMetaData"] - pr: Optional["BitBucketServerPRDSL"] - - class Config: - fields = { - "activities": "activities", - "comments": "comments", - "commits": "commits", - "issues": "issues", - "metadata": "metadata", - "pr": "pr", - } - - -class BitBucketServerLinks(Enum): - CLONE = "clone" - SELF = "self" - - -class BitBucketServerMergeRef(BaseModel): - display_id: str | None - id: str | None - latest_commit: str | None - repository: Optional["BitBucketServerRepo"] - - class Config: - fields = { - "display_id": "displayId", - "id": "id", - "latest_commit": "latestCommit", - "repository": "repository", - } - - -class BitBucketServerPRActivity(BaseModel): - action: Optional["BitBucketServerPRActivityAction"] - comment: Optional["BitBucketServerPRComment"] - comment_action: Optional["BitBucketServerPRActivityCommentAction"] - comment_anchor: Optional["BitBucketServerPRActivityCommentAnchor"] - created_date: int | None - id: int | None - user: Optional["BitBucketServerUser"] - - class Config: - fields = { - "action": "action", - "comment": "comment", - "comment_action": "commentAction", - "comment_anchor": "commentAnchor", - "created_date": "createdDate", - "id": "id", - "user": "user", - } - - -class BitBucketServerPRActivityAction(Enum): - COMMENTED = "COMMENTED" - DECLINED = "DECLINED" - MERGED = "MERGED" - OPENED = "OPENED" - UPDATED = "UPDATED" - - -class BitBucketServerPRActivityCommentAction(Enum): - ADDED = "ADDED" - UPDATED = "UPDATED" - - -class BitBucketServerPRActivityCommentAnchor(BaseModel): - diff_type: Optional["BitBucketServerPRActivityCommentAnchorDiffType"] - file_type: Optional["BitBucketServerPRActivityCommentAnchorFileType"] - from_hash: str | None - line: int | None - line_type: Optional["BitBucketServerPRActivityCommentAnchorLineType"] - path: str | None - src_path: str | None - to_hash: str | None - - class Config: - fields = { - "diff_type": "diffType", - "file_type": "fileType", - "from_hash": "fromHash", - "line": "line", - "line_type": "lineType", - "path": "path", - "src_path": "srcPath", - "to_hash": "toHash", - } - - -class BitBucketServerPRActivityCommentAnchorDiffType(Enum): - COMMIT = "COMMIT" - EFFECTIVE = "EFFECTIVE" - RANGE = "RANGE" - REQUIRED = "REQUIRED" - - -class BitBucketServerPRActivityCommentAnchorFileType(Enum): - FROM = "FROM" - TO = "TO" - - -class BitBucketServerPRActivityCommentAnchorLineType(Enum): - ADDED = "ADDED" - CONTEXT = "CONTEXT" - REMOVED = "REMOVED" - - -class BitBucketServerPRComment(BaseModel): - author: Optional["BitBucketServerUser"] - comments: list["BitBucketServerPRActivity"] | None - created_date: int | None - id: int | None - parent: Optional["BitBucketServerPRCommentParent"] - permitted_operations: Optional["BitBucketServerPRCommentPermittedOperations"] - text: str | None - updated_date: int | None - version: int | None - - class Config: - fields = { - "author": "author", - "comments": "comments", - "created_date": "createdDate", - "id": "id", - "parent": "parent", - "permitted_operations": "permittedOperations", - "text": "text", - "updated_date": "updatedDate", - "version": "version", - } - - -class BitBucketServerPRCommentParent(BaseModel): - id: int | None - - class Config: - fields = { - "id": "id", - } - - -class BitBucketServerPRCommentPermittedOperations(BaseModel): - deletable: bool | None - editable: bool | None - - class Config: - fields = { - "deletable": "deletable", - "editable": "editable", - } - - -class BitBucketServerPRDSL(BaseModel): - author: Optional["BitBucketServerPRParticipant"] - closed: bool | None - created_date: int | None - description: str | None - from_ref: Optional["BitBucketServerMergeRef"] - id: int | None - links: Optional["BitBucketServerPRDSLLinks"] - locked: bool | None - open: bool | None - participants: list["BitBucketServerPRParticipant"] | None - reviewers: list["BitBucketServerPRParticipant"] | None - state: Optional["BitBucketServerPRDSLState"] - title: str | None - to_ref: Optional["BitBucketServerMergeRef"] - updated_date: int | None - version: int | None - - class Config: - fields = { - "author": "author", - "closed": "closed", - "created_date": "createdDate", - "description": "description", - "from_ref": "fromRef", - "id": "id", - "links": "links", - "locked": "locked", - "open": "open", - "participants": "participants", - "reviewers": "reviewers", - "state": "state", - "title": "title", - "to_ref": "toRef", - "updated_date": "updatedDate", - "version": "version", - } - - -class BitBucketServerPRDSLLinks(Enum): - SELF = "self" - - -class BitBucketServerPRDSLState(Enum): - DECLINED = "DECLINED" - MERGED = "MERGED" - OPEN = "OPEN" - SUPERSEDED = "SUPERSEDED" - - -class BitBucketServerPRParticipant(BaseModel): - approved: bool | None - role: Optional["BitBucketServerPRParticipantRole"] - status: Optional["BitBucketServerPRParticipantStatus"] - user: Optional["BitBucketServerUser"] - - class Config: - fields = { - "approved": "approved", - "role": "role", - "status": "status", - "user": "user", - } - - -class BitBucketServerPRParticipantRole(Enum): - AUTHOR = "AUTHOR" - PARTICIPANT = "PARTICIPANT" - REVIEWER = "REVIEWER" - - -class BitBucketServerPRParticipantStatus(Enum): - APPROVED = "APPROVED" - NEEDS_WORK = "NEEDS_WORK" - UNAPPROVED = "UNAPPROVED" - - -class BitBucketServerRepo(BaseModel): - forkable: bool | None - links: Optional["BitBucketServerLinks"] - name: str | None - project: Optional["BitBucketServerRepoProject"] - public: bool | None - scm_id: str | None - slug: str | None - - class Config: - fields = { - "forkable": "forkable", - "links": "links", - "name": "name", - "project": "project", - "public": "public", - "scm_id": "scmId", - "slug": "slug", - } - - -class BitBucketServerRepoProject(BaseModel): - id: int | None - key: str | None - links: Optional["BitBucketServerRepoProjectLinks"] - name: str | None - public: bool | None - type: str | None - - class Config: - fields = { - "id": "id", - "key": "key", - "links": "links", - "name": "name", - "public": "public", - "type": "type", - } - - -class BitBucketServerRepoProjectLinks(Enum): - SELF = "self" - - -class BitBucketServerUser(BaseModel): - active: bool | None - display_name: str | None - email_address: str | None - id: int | None - name: str | None - slug: str | None - type: Optional["BitBucketServerUserType"] - - class Config: - fields = { - "active": "active", - "display_name": "displayName", - "email_address": "emailAddress", - "id": "id", - "name": "name", - "slug": "slug", - "type": "type", - } - - -class BitBucketServerUserType(Enum): - NORMAL = "NORMAL" - SERVICE = "SERVICE" - - -class CliArgs(BaseModel): - base: str | None - dangerfile: str | None - external_ci_provider: str | None - id: str | None - text_only: str | None - verbose: str | None - - class Config: - fields = { - "base": "base", - "dangerfile": "dangerfile", - "external_ci_provider": "externalCiProvider", - "id": "id", - "text_only": "textOnly", - "verbose": "verbose", - } - - -class DangerDSLJSONType(BaseModel): - bitbucket_cloud: Optional["BitBucketCloudJSONDSL"] - bitbucket_server: Optional["BitBucketServerJSONDSL"] - git: Optional["GitJSONDSL"] - github: Optional["GitHubDSL"] - gitlab: Optional["GitLabDSL"] - settings: Optional["DangerDSLJSONTypeSettings"] - - class Config: - fields = { - "bitbucket_cloud": "bitbucket_cloud", - "bitbucket_server": "bitbucket_server", - "git": "git", - "github": "github", - "gitlab": "gitlab", - "settings": "settings", - } - - -class DangerDSLJSONTypeSettings(BaseModel): - cli_args: Optional["CliArgs"] - github: Optional["DangerDSLJSONTypeSettingsGithub"] - - class Config: - fields = { - "cli_args": "cliArgs", - "github": "github", - } - - -class DangerDSLJSONTypeSettingsGithub(BaseModel): - access_token: str | None - additional_headers: Any - base_url: str | None - - class Config: - fields = { - "access_token": "accessToken", - "additional_headers": "additionalHeaders", - "base_url": "baseURL", - } - - -class Endpoint(BaseModel): - defaults: Optional["EndpointOptions"] - - class Config: - fields = { - "defaults": "DEFAULTS", - } - - -class EndpointOptions(BaseModel): - base_url: str | None - data: Any - headers: Optional["EndpointOptionsHeaders"] - method: Optional["EndpointOptionsMethod"] - request: Optional["EndpointOptionsRequest"] - url: str | None - - class Config: - fields = { - "base_url": "baseUrl", - "data": "data", - "headers": "headers", - "method": "method", - "request": "request", - "url": "url", - } - - -class EndpointOptionsHeaders(BaseModel): - pass - - -class EndpointOptionsMethod(Enum): - DELETE = "DELETE" - GET = "GET" - HEAD = "HEAD" - PATCH = "PATCH" - POST = "POST" - PUT = "PUT" - - -class EndpointOptionsRequest(BaseModel): - pass - - -class GitCommit(BaseModel): - author: Optional["GitCommitAuthor"] - committer: Optional["GitCommitAuthor"] - message: str | None - parents: list[str] | None - sha: str | None - tree: Any - url: str | None - - class Config: - fields = { - "author": "author", - "committer": "committer", - "message": "message", - "parents": "parents", - "sha": "sha", - "tree": "tree", - "url": "url", - } - - -class GitCommitAuthor(BaseModel): - date: str | None - email: str | None - name: str | None - - class Config: - fields = { - "date": "date", - "email": "email", - "name": "name", - } - - -class GitHubAPIPR(BaseModel): - number: int | None - owner: str | None - repo: str | None - - class Config: - fields = { - "number": "number", - "owner": "owner", - "repo": "repo", - } - - -class GitHubCommit(BaseModel): - author: Optional["GitHubUser"] - commit: Optional["GitCommit"] - committer: Optional["GitHubUser"] - parents: list[Any] | None - sha: str | None - url: str | None - - class Config: - fields = { - "author": "author", - "commit": "commit", - "committer": "committer", - "parents": "parents", - "sha": "sha", - "url": "url", - } - - -class GitHubDSL(BaseModel): - api: Optional["Octokit"] - commits: list["GitHubCommit"] | None - issue: Optional["GitHubIssue"] - pr: Optional["GitHubPRDSL"] - requested_reviewers: Optional["GitHubReviewers"] - reviews: list["GitHubReview"] | None - this_pr: Optional["GitHubAPIPR"] - utils: Optional["GitHubUtilsDSL"] - - class Config: - fields = { - "api": "api", - "commits": "commits", - "issue": "issue", - "pr": "pr", - "requested_reviewers": "requested_reviewers", - "reviews": "reviews", - "this_pr": "thisPR", - "utils": "utils", - } - - -class GitHubIssue(BaseModel): - labels: list["GitHubIssueLabel"] | None - - class Config: - fields = { - "labels": "labels", - } - - -class GitHubIssueLabel(BaseModel): - color: str | None - id: int | None - name: str | None - url: str | None - - class Config: - fields = { - "color": "color", - "id": "id", - "name": "name", - "url": "url", - } - - -class GitHubMergeRef(BaseModel): - label: str | None - ref: str | None - repo: Optional["GitHubRepo"] - sha: str | None - user: Optional["GitHubUser"] - - class Config: - fields = { - "label": "label", - "ref": "ref", - "repo": "repo", - "sha": "sha", - "user": "user", - } - - -class GitHubPRDSL(BaseModel): - additions: int | None - assignee: Optional["GitHubUser"] - assignees: list["GitHubUser"] | None - author_association: Optional["GitHubPRDSLAuthorAssociation"] - base: Optional["GitHubMergeRef"] - body: str | None - changed_files: int | None - closed_at: str | None - comments: int | None - commits: int | None - created_at: str | None - deletions: int | None - head: Optional["GitHubMergeRef"] - html_url: str | None - locked: bool | None - merged: bool | None - merged_at: str | None - number: int | None - review_comments: int | None - state: Optional["GitHubPRDSLState"] - title: str | None - updated_at: str | None - user: Optional["GitHubUser"] - - class Config: - fields = { - "additions": "additions", - "assignee": "assignee", - "assignees": "assignees", - "author_association": "author_association", - "base": "base", - "body": "body", - "changed_files": "changed_files", - "closed_at": "closed_at", - "comments": "comments", - "commits": "commits", - "created_at": "created_at", - "deletions": "deletions", - "head": "head", - "html_url": "html_url", - "locked": "locked", - "merged": "merged", - "merged_at": "merged_at", - "number": "number", - "review_comments": "review_comments", - "state": "state", - "title": "title", - "updated_at": "updated_at", - "user": "user", - } - - -class GitHubPRDSLAuthorAssociation(Enum): - COLLABORATOR = "COLLABORATOR" - CONTRIBUTOR = "CONTRIBUTOR" - FIRST_TIMER = "FIRST_TIMER" - FIRST_TIME_CONTRIBUTOR = "FIRST_TIME_CONTRIBUTOR" - MEMBER = "MEMBER" - NONE = "NONE" - OWNER = "OWNER" - - -class GitHubPRDSLState(Enum): - CLOSED = "closed" - LOCKED = "locked" - MERGED = "merged" - OPEN = "open" - - -class GitHubRepo(BaseModel): - assignee: Optional["GitHubUser"] - assignees: list["GitHubUser"] | None - description: str | None - fork: bool | None - full_name: str | None - html_url: str | None - id: int | None - name: str | None - owner: Optional["GitHubUser"] - private: bool | None - - class Config: - fields = { - "assignee": "assignee", - "assignees": "assignees", - "description": "description", - "fork": "fork", - "full_name": "full_name", - "html_url": "html_url", - "id": "id", - "name": "name", - "owner": "owner", - "private": "private", - } - - -class GitHubReview(BaseModel): - body: str | None - commit_id: str | None - id: int | None - state: Optional["GitHubReviewState"] - user: Optional["GitHubUser"] - - class Config: - fields = { - "body": "body", - "commit_id": "commit_id", - "id": "id", - "state": "state", - "user": "user", - } - - -class GitHubReviewState(Enum): - APPROVED = "APPROVED" - CHANGES_REQUESTED = "CHANGES_REQUESTED" - COMMENTED = "COMMENTED" - DISMISSED = "DISMISSED" - PENDING = "PENDING" - - -class GitHubReviewers(BaseModel): - teams: list[Any] | None - users: list["GitHubUser"] | None - - class Config: - fields = { - "teams": "teams", - "users": "users", - } - - -class GitHubUser(BaseModel): - avatar_url: str | None - href: str | None - id: int | None - login: str | None - type: Optional["GitHubUserType"] - - class Config: - fields = { - "avatar_url": "avatar_url", - "href": "href", - "id": "id", - "login": "login", - "type": "type", - } - - -class GitHubUserType(Enum): - BOT = "Bot" - ORGANIZATION = "Organization" - USER = "User" - - -class GitHubUtilsDSL(BaseModel): - create_or_add_label: Optional["GitHubUtilsDSLCreateOrAddLabel"] - create_or_update_pr: Optional["GitHubUtilsDSLCreateOrUpdatePR"] - create_updated_issue_with_id: Optional["GitHubUtilsDSLCreateUpdatedIssueWithID"] - - class Config: - fields = { - "create_or_add_label": "createOrAddLabel", - "create_or_update_pr": "createOrUpdatePR", - "create_updated_issue_with_id": "createUpdatedIssueWithID", - } - - -class GitHubUtilsDSLCreateOrAddLabel(BaseModel): - pass - - -class GitHubUtilsDSLCreateOrUpdatePR(BaseModel): - pass - - -class GitHubUtilsDSLCreateUpdatedIssueWithID(BaseModel): - pass - - -class GitJSONDSL(BaseModel): - commits: list["GitCommit"] | None - created_files: list[str] | None - deleted_files: list[str] | None - modified_files: list[str] | None - - class Config: - fields = { - "commits": "commits", - "created_files": "created_files", - "deleted_files": "deleted_files", - "modified_files": "modified_files", - } - - -class GitLabDSL(BaseModel): - commits: list["GitLabMRCommit"] | None - metadata: Optional["RepoMetaData"] - mr: Optional["GitLabMR"] - utils: Optional["GitLabDSLUtils"] - - class Config: - fields = { - "commits": "commits", - "metadata": "metadata", - "mr": "mr", - "utils": "utils", - } - - -class GitLabDSLUtils(BaseModel): - pass - - -class GitLabMR(BaseModel): - allow_collaboration: bool | None - allow_maintainer_to_push: bool | None - approvals_before_merge: Any - assignee: Optional["GitLabUser"] - author: Optional["GitLabUser"] - changes_count: str | None - closed_at: str | None - closed_by: Optional["GitLabUser"] - created_at: str | None - description: str | None - diff_refs: Optional["GitLabMRDiffRefs"] - discussion_locked: Any - diverged_commits_count: int | None - downvotes: int | None - first_deployed_to_production_at: str | None - force_remove_source_branch: bool | None - id: int | None - iid: int | None - labels: list[str] | None - latest_build_finished_at: str | None - latest_build_started_at: str | None - merge_commit_sha: str | None - merge_error: Any - merge_status: Optional["GitLabMRMergeStatus"] - merge_when_pipeline_succeeds: bool | None - merged_at: str | None - merged_by: Optional["GitLabUser"] - milestone: Optional["GitLabMRMilestone"] - pipeline: Optional["GitLabMRPipeline"] - project_id: int | None - rebase_in_progress: bool | None - sha: str | None - should_remove_source_branch: bool | None - source_branch: str | None - source_project_id: int | None - squash: bool | None - state: Optional["GitLabMRState"] - subscribed: bool | None - target_branch: str | None - target_project_id: int | None - time_stats: Optional["GitLabMRTimeStats"] - title: str | None - updated_at: str | None - upvotes: int | None - user: Optional["GitLabMRUser"] - user_notes_count: int | None - web_url: str | None - work_in_progress: bool | None - - class Config: - fields = { - "allow_collaboration": "allow_collaboration", - "allow_maintainer_to_push": "allow_maintainer_to_push", - "approvals_before_merge": "approvals_before_merge", - "assignee": "assignee", - "author": "author", - "changes_count": "changes_count", - "closed_at": "closed_at", - "closed_by": "closed_by", - "created_at": "created_at", - "description": "description", - "diff_refs": "diff_refs", - "discussion_locked": "discussion_locked", - "diverged_commits_count": "diverged_commits_count", - "downvotes": "downvotes", - "first_deployed_to_production_at": "first_deployed_to_production_at", - "force_remove_source_branch": "force_remove_source_branch", - "id": "id", - "iid": "iid", - "labels": "labels", - "latest_build_finished_at": "latest_build_finished_at", - "latest_build_started_at": "latest_build_started_at", - "merge_commit_sha": "merge_commit_sha", - "merge_error": "merge_error", - "merge_status": "merge_status", - "merge_when_pipeline_succeeds": "merge_when_pipeline_succeeds", - "merged_at": "merged_at", - "merged_by": "merged_by", - "milestone": "milestone", - "pipeline": "pipeline", - "project_id": "project_id", - "rebase_in_progress": "rebase_in_progress", - "sha": "sha", - "should_remove_source_branch": "should_remove_source_branch", - "source_branch": "source_branch", - "source_project_id": "source_project_id", - "squash": "squash", - "state": "state", - "subscribed": "subscribed", - "target_branch": "target_branch", - "target_project_id": "target_project_id", - "time_stats": "time_stats", - "title": "title", - "updated_at": "updated_at", - "upvotes": "upvotes", - "user": "user", - "user_notes_count": "user_notes_count", - "web_url": "web_url", - "work_in_progress": "work_in_progress", - } - - -class GitLabMRCommit(BaseModel): - author_email: str | None - author_name: str | None - authored_date: str | None - committed_date: str | None - committer_email: str | None - committer_name: str | None - created_at: str | None - id: str | None - message: str | None - parent_ids: list[str] | None - short_id: str | None - title: str | None - - class Config: - fields = { - "author_email": "author_email", - "author_name": "author_name", - "authored_date": "authored_date", - "committed_date": "committed_date", - "committer_email": "committer_email", - "committer_name": "committer_name", - "created_at": "created_at", - "id": "id", - "message": "message", - "parent_ids": "parent_ids", - "short_id": "short_id", - "title": "title", - } - - -class GitLabMRDiffRefs(BaseModel): - base_sha: str | None - head_sha: str | None - start_sha: str | None - - class Config: - fields = { - "base_sha": "base_sha", - "head_sha": "head_sha", - "start_sha": "start_sha", - } - - -class GitLabMRMergeStatus(Enum): - UNCHECKED = "unchecked" - CANNOT_BE_MERGED_RECHECK = "cannot_be_merged_recheck" - CHECKING = "checking" - CANNOT_BE_MERGED_RECHECKING = "cannot_be_merged_rechecking" - CAN_BE_MERGED = "can_be_merged" - CANNOT_BE_MERGED = "cannot_be_merged" - - -class GitLabMRMilestone(BaseModel): - created_at: str | None - description: str | None - due_date: str | None - id: int | None - iid: int | None - project_id: int | None - start_date: str | None - state: Optional["GitLabMRMilestoneState"] - title: str | None - updated_at: str | None - web_url: str | None - - class Config: - fields = { - "created_at": "created_at", - "description": "description", - "due_date": "due_date", - "id": "id", - "iid": "iid", - "project_id": "project_id", - "start_date": "start_date", - "state": "state", - "title": "title", - "updated_at": "updated_at", - "web_url": "web_url", - } - - -class GitLabMRMilestoneState(Enum): - ACTIVE = "active" - CLOSED = "closed" - - -class GitLabMRPipeline(BaseModel): - id: int | None - ref: str | None - sha: str | None - status: Optional["GitLabMRPipelineStatus"] - web_url: str | None - - class Config: - fields = { - "id": "id", - "ref": "ref", - "sha": "sha", - "status": "status", - "web_url": "web_url", - } - - -class GitLabMRPipelineStatus(Enum): - CANCELED = "canceled" - FAILED = "failed" - PENDING = "pending" - RUNNING = "running" - SKIPPED = "skipped" - SUCCESS = "success" - - -class GitLabMRState(Enum): - CLOSED = "closed" - LOCKED = "locked" - MERGED = "merged" - OPEN = "open" - - -class GitLabMRTimeStats(BaseModel): - human_time_estimate: int | None - human_total_time_spent: int | None - time_estimate: int | None - total_time_spent: int | None - - class Config: - fields = { - "human_time_estimate": "human_time_estimate", - "human_total_time_spent": "human_total_time_spent", - "time_estimate": "time_estimate", - "total_time_spent": "total_time_spent", - } - - -class GitLabMRUser(BaseModel): - can_merge: bool | None - - class Config: - fields = { - "can_merge": "can_merge", - } - - -class GitLabUser(BaseModel): - avatar_url: str | None - id: int | None - name: str | None - state: Optional["GitLabUserState"] - username: str | None - web_url: str | None - - class Config: - fields = { - "avatar_url": "avatar_url", - "id": "id", - "name": "name", - "state": "state", - "username": "username", - "web_url": "web_url", - } - - -class GitLabUserState(Enum): - ACTIVE = "active" - BLOCKED = "blocked" - - -class JIRAIssue(BaseModel): - key: str | None - url: str | None - - class Config: - fields = { - "key": "key", - "url": "url", - } - - -class Log(BaseModel): - debug: Optional["LogDebug"] - error: Optional["LogError"] - info: Optional["LogInfo"] - warn: Optional["LogWarn"] - - class Config: - fields = { - "debug": "debug", - "error": "error", - "info": "info", - "warn": "warn", - } - - -class LogDebug(BaseModel): - pass - - -class LogError(BaseModel): - pass - - -class LogInfo(BaseModel): - pass - - -class LogWarn(BaseModel): - pass - - -class Octokit(BaseModel): - activity: Optional["OctokitActivity"] - apps: Optional["OctokitApps"] - checks: Optional["OctokitChecks"] - codes_of_conduct: Optional["OctokitCodesOfConduct"] - emojis: Optional["OctokitEmojis"] - gists: Optional["OctokitGists"] - git: Optional["OctokitGit"] - gitignore: Optional["OctokitGitignore"] - hook: Optional["OctokitHook"] - interactions: Optional["OctokitInteractions"] - issues: Optional["OctokitIssues"] - licenses: Optional["OctokitLicenses"] - log: Optional["Log"] - markdown: Optional["OctokitMarkdown"] - meta: Optional["OctokitMeta"] - migrations: Optional["OctokitMigrations"] - oauth_authorizations: Optional["OctokitOauthAuthorizations"] - orgs: Optional["OctokitOrgs"] - paginate: Optional["Paginate"] - projects: Optional["OctokitProjects"] - pulls: Optional["OctokitPulls"] - rate_limit: Optional["OctokitRateLimit"] - reactions: Optional["OctokitReactions"] - repos: Optional["OctokitRepos"] - request: Optional["Request"] - search: Optional["OctokitSearch"] - teams: Optional["OctokitTeams"] - users: Optional["OctokitUsers"] - - class Config: - fields = { - "activity": "activity", - "apps": "apps", - "checks": "checks", - "codes_of_conduct": "codesOfConduct", - "emojis": "emojis", - "gists": "gists", - "git": "git", - "gitignore": "gitignore", - "hook": "hook", - "interactions": "interactions", - "issues": "issues", - "licenses": "licenses", - "log": "log", - "markdown": "markdown", - "meta": "meta", - "migrations": "migrations", - "oauth_authorizations": "oauthAuthorizations", - "orgs": "orgs", - "paginate": "paginate", - "projects": "projects", - "pulls": "pulls", - "rate_limit": "rateLimit", - "reactions": "reactions", - "repos": "repos", - "request": "request", - "search": "search", - "teams": "teams", - "users": "users", - } - - -class OctokitActivity(BaseModel): - check_starring_repo: Optional["OctokitActivityCheckStarringRepo"] - delete_repo_subscription: Optional["OctokitActivityDeleteRepoSubscription"] - delete_thread_subscription: Optional["OctokitActivityDeleteThreadSubscription"] - get_repo_subscription: Optional["OctokitActivityGetRepoSubscription"] - get_thread: Optional["OctokitActivityGetThread"] - get_thread_subscription: Optional["OctokitActivityGetThreadSubscription"] - list_events_for_org: Optional["OctokitActivityListEventsForOrg"] - list_events_for_user: Optional["OctokitActivityListEventsForUser"] - list_feeds: Optional["OctokitActivityListFeeds"] - list_notifications: Optional["OctokitActivityListNotifications"] - list_notifications_for_repo: Optional["OctokitActivityListNotificationsForRepo"] - list_public_events: Optional["OctokitActivityListPublicEvents"] - list_public_events_for_org: Optional["OctokitActivityListPublicEventsForOrg"] - list_public_events_for_repo_network: Optional[ - "OctokitActivityListPublicEventsForRepoNetwork" - ] - list_public_events_for_user: Optional["OctokitActivityListPublicEventsForUser"] - list_received_events_for_user: Optional["OctokitActivityListReceivedEventsForUser"] - list_received_public_events_for_user: Optional[ - "OctokitActivityListReceivedPublicEventsForUser" - ] - list_repo_events: Optional["OctokitActivityListRepoEvents"] - list_repos_starred_by_authenticated_user: Optional[ - "OctokitActivityListReposStarredByAuthenticatedUser" - ] - list_repos_starred_by_user: Optional["OctokitActivityListReposStarredByUser"] - list_repos_watched_by_user: Optional["OctokitActivityListReposWatchedByUser"] - list_stargazers_for_repo: Optional["OctokitActivityListStargazersForRepo"] - list_watched_repos_for_authenticated_user: Optional[ - "OctokitActivityListWatchedReposForAuthenticatedUser" - ] - list_watchers_for_repo: Optional["OctokitActivityListWatchersForRepo"] - mark_as_read: Optional["OctokitActivityMarkAsRead"] - mark_notifications_as_read_for_repo: Optional[ - "OctokitActivityMarkNotificationsAsReadForRepo" - ] - mark_thread_as_read: Optional["OctokitActivityMarkThreadAsRead"] - set_repo_subscription: Optional["OctokitActivitySetRepoSubscription"] - set_thread_subscription: Optional["OctokitActivitySetThreadSubscription"] - star_repo: Optional["OctokitActivityStarRepo"] - unstar_repo: Optional["OctokitActivityUnstarRepo"] - - class Config: - fields = { - "check_starring_repo": "checkStarringRepo", - "delete_repo_subscription": "deleteRepoSubscription", - "delete_thread_subscription": "deleteThreadSubscription", - "get_repo_subscription": "getRepoSubscription", - "get_thread": "getThread", - "get_thread_subscription": "getThreadSubscription", - "list_events_for_org": "listEventsForOrg", - "list_events_for_user": "listEventsForUser", - "list_feeds": "listFeeds", - "list_notifications": "listNotifications", - "list_notifications_for_repo": "listNotificationsForRepo", - "list_public_events": "listPublicEvents", - "list_public_events_for_org": "listPublicEventsForOrg", - "list_public_events_for_repo_network": "listPublicEventsForRepoNetwork", - "list_public_events_for_user": "listPublicEventsForUser", - "list_received_events_for_user": "listReceivedEventsForUser", - "list_received_public_events_for_user": "listReceivedPublicEventsForUser", - "list_repo_events": "listRepoEvents", - "list_repos_starred_by_authenticated_user": "listReposStarredByAuthenticatedUser", - "list_repos_starred_by_user": "listReposStarredByUser", - "list_repos_watched_by_user": "listReposWatchedByUser", - "list_stargazers_for_repo": "listStargazersForRepo", - "list_watched_repos_for_authenticated_user": "listWatchedReposForAuthenticatedUser", - "list_watchers_for_repo": "listWatchersForRepo", - "mark_as_read": "markAsRead", - "mark_notifications_as_read_for_repo": "markNotificationsAsReadForRepo", - "mark_thread_as_read": "markThreadAsRead", - "set_repo_subscription": "setRepoSubscription", - "set_thread_subscription": "setThreadSubscription", - "star_repo": "starRepo", - "unstar_repo": "unstarRepo", - } - - -class OctokitActivityCheckStarringRepo(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitActivityDeleteRepoSubscription(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitActivityDeleteThreadSubscription(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitActivityGetRepoSubscription(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitActivityGetThread(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitActivityGetThreadSubscription(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitActivityListEventsForOrg(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitActivityListEventsForUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitActivityListFeeds(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitActivityListNotifications(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitActivityListNotificationsForRepo(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitActivityListPublicEvents(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitActivityListPublicEventsForOrg(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitActivityListPublicEventsForRepoNetwork(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitActivityListPublicEventsForUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitActivityListReceivedEventsForUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitActivityListReceivedPublicEventsForUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitActivityListRepoEvents(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitActivityListReposStarredByAuthenticatedUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitActivityListReposStarredByUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitActivityListReposWatchedByUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitActivityListStargazersForRepo(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitActivityListWatchedReposForAuthenticatedUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitActivityListWatchersForRepo(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitActivityMarkAsRead(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitActivityMarkNotificationsAsReadForRepo(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitActivityMarkThreadAsRead(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitActivitySetRepoSubscription(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitActivitySetThreadSubscription(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitActivityStarRepo(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitActivityUnstarRepo(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitApps(BaseModel): - add_repo_to_installation: Optional["OctokitAppsAddRepoToInstallation"] - check_account_is_associated_with_any: Optional[ - "OctokitAppsCheckAccountIsAssociatedWithAny" - ] - check_account_is_associated_with_any_stubbed: Optional[ - "OctokitAppsCheckAccountIsAssociatedWithAnyStubbed" - ] - create_content_attachment: Optional["OctokitAppsCreateContentAttachment"] - create_from_manifest: Optional["OctokitAppsCreateFromManifest"] - create_installation_token: Optional["OctokitAppsCreateInstallationToken"] - find_org_installation: Optional["OctokitAppsFindOrgInstallation"] - find_repo_installation: Optional["OctokitAppsFindRepoInstallation"] - find_user_installation: Optional["OctokitAppsFindUserInstallation"] - get_authenticated: Optional["OctokitAppsGetAuthenticated"] - get_by_slug: Optional["OctokitAppsGetBySlug"] - get_installation: Optional["OctokitAppsGetInstallation"] - list_accounts_user_or_org_on_plan: Optional[ - "OctokitAppsListAccountsUserOrOrgOnPlan" - ] - list_accounts_user_or_org_on_plan_stubbed: Optional[ - "OctokitAppsListAccountsUserOrOrgOnPlanStubbed" - ] - list_installation_repos_for_authenticated_user: Optional[ - "OctokitAppsListInstallationReposForAuthenticatedUser" - ] - list_installations: Optional["OctokitAppsListInstallations"] - list_installations_for_authenticated_user: Optional[ - "OctokitAppsListInstallationsForAuthenticatedUser" - ] - list_marketplace_purchases_for_authenticated_user: Optional[ - "OctokitAppsListMarketplacePurchasesForAuthenticatedUser" - ] - list_marketplace_purchases_for_authenticated_user_stubbed: Optional[ - "OctokitAppsListMarketplacePurchasesForAuthenticatedUserStubbed" - ] - list_plans: Optional["OctokitAppsListPlans"] - list_plans_stubbed: Optional["OctokitAppsListPlansStubbed"] - list_repos: Optional["OctokitAppsListRepos"] - remove_repo_from_installation: Optional["OctokitAppsRemoveRepoFromInstallation"] - - class Config: - fields = { - "add_repo_to_installation": "addRepoToInstallation", - "check_account_is_associated_with_any": "checkAccountIsAssociatedWithAny", - "check_account_is_associated_with_any_stubbed": "checkAccountIsAssociatedWithAnyStubbed", - "create_content_attachment": "createContentAttachment", - "create_from_manifest": "createFromManifest", - "create_installation_token": "createInstallationToken", - "find_org_installation": "findOrgInstallation", - "find_repo_installation": "findRepoInstallation", - "find_user_installation": "findUserInstallation", - "get_authenticated": "getAuthenticated", - "get_by_slug": "getBySlug", - "get_installation": "getInstallation", - "list_accounts_user_or_org_on_plan": "listAccountsUserOrOrgOnPlan", - "list_accounts_user_or_org_on_plan_stubbed": "listAccountsUserOrOrgOnPlanStubbed", - "list_installation_repos_for_authenticated_user": "listInstallationReposForAuthenticatedUser", - "list_installations": "listInstallations", - "list_installations_for_authenticated_user": "listInstallationsForAuthenticatedUser", - "list_marketplace_purchases_for_authenticated_user": "listMarketplacePurchasesForAuthenticatedUser", - "list_marketplace_purchases_for_authenticated_user_stubbed": "listMarketplacePurchasesForAuthenticatedUserStubbed", - "list_plans": "listPlans", - "list_plans_stubbed": "listPlansStubbed", - "list_repos": "listRepos", - "remove_repo_from_installation": "removeRepoFromInstallation", - } - - -class OctokitAppsAddRepoToInstallation(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitAppsCheckAccountIsAssociatedWithAny(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitAppsCheckAccountIsAssociatedWithAnyStubbed(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitAppsCreateContentAttachment(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitAppsCreateFromManifest(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitAppsCreateInstallationToken(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitAppsFindOrgInstallation(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitAppsFindRepoInstallation(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitAppsFindUserInstallation(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitAppsGetAuthenticated(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitAppsGetBySlug(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitAppsGetInstallation(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitAppsListAccountsUserOrOrgOnPlan(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitAppsListAccountsUserOrOrgOnPlanStubbed(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitAppsListInstallationReposForAuthenticatedUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitAppsListInstallations(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitAppsListInstallationsForAuthenticatedUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitAppsListMarketplacePurchasesForAuthenticatedUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitAppsListMarketplacePurchasesForAuthenticatedUserStubbed(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitAppsListPlans(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitAppsListPlansStubbed(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitAppsListRepos(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitAppsRemoveRepoFromInstallation(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitChecks(BaseModel): - create: Optional["OctokitChecksCreate"] - create_suite: Optional["OctokitChecksCreateSuite"] - get: Optional["OctokitChecksGet"] - get_suite: Optional["OctokitChecksGetSuite"] - list_annotations: Optional["OctokitChecksListAnnotations"] - list_for_ref: Optional["OctokitChecksListForRef"] - list_for_suite: Optional["OctokitChecksListForSuite"] - list_suites_for_ref: Optional["OctokitChecksListSuitesForRef"] - rerequest_suite: Optional["OctokitChecksRerequestSuite"] - set_suites_preferences: Optional["OctokitChecksSetSuitesPreferences"] - update: Optional["OctokitChecksUpdate"] - - class Config: - fields = { - "create": "create", - "create_suite": "createSuite", - "get": "get", - "get_suite": "getSuite", - "list_annotations": "listAnnotations", - "list_for_ref": "listForRef", - "list_for_suite": "listForSuite", - "list_suites_for_ref": "listSuitesForRef", - "rerequest_suite": "rerequestSuite", - "set_suites_preferences": "setSuitesPreferences", - "update": "update", - } - - -class OctokitChecksCreate(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitChecksCreateSuite(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitChecksGet(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitChecksGetSuite(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitChecksListAnnotations(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitChecksListForRef(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitChecksListForSuite(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitChecksListSuitesForRef(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitChecksRerequestSuite(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitChecksSetSuitesPreferences(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitChecksUpdate(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitCodesOfConduct(BaseModel): - get_conduct_code: Optional["OctokitCodesOfConductGetConductCode"] - get_for_repo: Optional["OctokitCodesOfConductGetForRepo"] - list_conduct_codes: Optional["OctokitCodesOfConductListConductCodes"] - - class Config: - fields = { - "get_conduct_code": "getConductCode", - "get_for_repo": "getForRepo", - "list_conduct_codes": "listConductCodes", - } - - -class OctokitCodesOfConductGetConductCode(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitCodesOfConductGetForRepo(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitCodesOfConductListConductCodes(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitEmojis(BaseModel): - get: Optional["OctokitEmojisGet"] - - class Config: - fields = { - "get": "get", - } - - -class OctokitEmojisGet(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGists(BaseModel): - check_is_starred: Optional["OctokitGistsCheckIsStarred"] - create: Optional["OctokitGistsCreate"] - create_comment: Optional["OctokitGistsCreateComment"] - delete: Optional["OctokitGistsDelete"] - delete_comment: Optional["OctokitGistsDeleteComment"] - fork: Optional["OctokitGistsFork"] - get: Optional["OctokitGistsGet"] - get_comment: Optional["OctokitGistsGetComment"] - get_revision: Optional["OctokitGistsGetRevision"] - list: Optional["OctokitGistsList"] - list_comments: Optional["OctokitGistsListComments"] - list_commits: Optional["OctokitGistsListCommits"] - list_forks: Optional["OctokitGistsListForks"] - list_public: Optional["OctokitGistsListPublic"] - list_public_for_user: Optional["OctokitGistsListPublicForUser"] - list_starred: Optional["OctokitGistsListStarred"] - star: Optional["OctokitGistsStar"] - unstar: Optional["OctokitGistsUnstar"] - update: Optional["OctokitGistsUpdate"] - update_comment: Optional["OctokitGistsUpdateComment"] - - class Config: - fields = { - "check_is_starred": "checkIsStarred", - "create": "create", - "create_comment": "createComment", - "delete": "delete", - "delete_comment": "deleteComment", - "fork": "fork", - "get": "get", - "get_comment": "getComment", - "get_revision": "getRevision", - "list": "list", - "list_comments": "listComments", - "list_commits": "listCommits", - "list_forks": "listForks", - "list_public": "listPublic", - "list_public_for_user": "listPublicForUser", - "list_starred": "listStarred", - "star": "star", - "unstar": "unstar", - "update": "update", - "update_comment": "updateComment", - } - - -class OctokitGistsCheckIsStarred(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGistsCreate(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGistsCreateComment(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGistsDelete(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGistsDeleteComment(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGistsFork(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGistsGet(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGistsGetComment(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGistsGetRevision(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGistsList(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGistsListComments(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGistsListCommits(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGistsListForks(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGistsListPublic(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGistsListPublicForUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGistsListStarred(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGistsStar(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGistsUnstar(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGistsUpdate(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGistsUpdateComment(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGit(BaseModel): - create_blob: Optional["OctokitGitCreateBlob"] - create_commit: Optional["OctokitGitCreateCommit"] - create_ref: Optional["OctokitGitCreateRef"] - create_tag: Optional["OctokitGitCreateTag"] - create_tree: Optional["OctokitGitCreateTree"] - delete_ref: Optional["OctokitGitDeleteRef"] - get_blob: Optional["OctokitGitGetBlob"] - get_commit: Optional["OctokitGitGetCommit"] - get_ref: Optional["OctokitGitGetRef"] - get_tag: Optional["OctokitGitGetTag"] - get_tree: Optional["OctokitGitGetTree"] - list_refs: Optional["OctokitGitListRefs"] - update_ref: Optional["OctokitGitUpdateRef"] - - class Config: - fields = { - "create_blob": "createBlob", - "create_commit": "createCommit", - "create_ref": "createRef", - "create_tag": "createTag", - "create_tree": "createTree", - "delete_ref": "deleteRef", - "get_blob": "getBlob", - "get_commit": "getCommit", - "get_ref": "getRef", - "get_tag": "getTag", - "get_tree": "getTree", - "list_refs": "listRefs", - "update_ref": "updateRef", - } - - -class OctokitGitCreateBlob(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGitCreateCommit(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGitCreateRef(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGitCreateTag(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGitCreateTree(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGitDeleteRef(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGitGetBlob(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGitGetCommit(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGitGetRef(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGitGetTag(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGitGetTree(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGitListRefs(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGitUpdateRef(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGitignore(BaseModel): - get_template: Optional["OctokitGitignoreGetTemplate"] - list_templates: Optional["OctokitGitignoreListTemplates"] - - class Config: - fields = { - "get_template": "getTemplate", - "list_templates": "listTemplates", - } - - -class OctokitGitignoreGetTemplate(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitGitignoreListTemplates(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitHook(BaseModel): - pass - - -class OctokitInteractions(BaseModel): - add_or_update_restrictions_for_org: Optional[ - "OctokitInteractionsAddOrUpdateRestrictionsForOrg" - ] - add_or_update_restrictions_for_repo: Optional[ - "OctokitInteractionsAddOrUpdateRestrictionsForRepo" - ] - get_restrictions_for_org: Optional["OctokitInteractionsGetRestrictionsForOrg"] - get_restrictions_for_repo: Optional["OctokitInteractionsGetRestrictionsForRepo"] - remove_restrictions_for_org: Optional["OctokitInteractionsRemoveRestrictionsForOrg"] - remove_restrictions_for_repo: Optional[ - "OctokitInteractionsRemoveRestrictionsForRepo" - ] - - class Config: - fields = { - "add_or_update_restrictions_for_org": "addOrUpdateRestrictionsForOrg", - "add_or_update_restrictions_for_repo": "addOrUpdateRestrictionsForRepo", - "get_restrictions_for_org": "getRestrictionsForOrg", - "get_restrictions_for_repo": "getRestrictionsForRepo", - "remove_restrictions_for_org": "removeRestrictionsForOrg", - "remove_restrictions_for_repo": "removeRestrictionsForRepo", - } - - -class OctokitInteractionsAddOrUpdateRestrictionsForOrg(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitInteractionsAddOrUpdateRestrictionsForRepo(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitInteractionsGetRestrictionsForOrg(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitInteractionsGetRestrictionsForRepo(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitInteractionsRemoveRestrictionsForOrg(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitInteractionsRemoveRestrictionsForRepo(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssues(BaseModel): - add_assignees: Optional["OctokitIssuesAddAssignees"] - add_labels: Optional["OctokitIssuesAddLabels"] - check_assignee: Optional["OctokitIssuesCheckAssignee"] - create: Optional["OctokitIssuesCreate"] - create_comment: Optional["OctokitIssuesCreateComment"] - create_label: Optional["OctokitIssuesCreateLabel"] - create_milestone: Optional["OctokitIssuesCreateMilestone"] - delete_comment: Optional["OctokitIssuesDeleteComment"] - delete_label: Optional["OctokitIssuesDeleteLabel"] - delete_milestone: Optional["OctokitIssuesDeleteMilestone"] - get: Optional["OctokitIssuesGet"] - get_comment: Optional["OctokitIssuesGetComment"] - get_event: Optional["OctokitIssuesGetEvent"] - get_label: Optional["OctokitIssuesGetLabel"] - get_milestone: Optional["OctokitIssuesGetMilestone"] - list: Optional["OctokitIssuesList"] - list_assignees: Optional["OctokitIssuesListAssignees"] - list_comments: Optional["OctokitIssuesListComments"] - list_comments_for_repo: Optional["OctokitIssuesListCommentsForRepo"] - list_events: Optional["OctokitIssuesListEvents"] - list_events_for_repo: Optional["OctokitIssuesListEventsForRepo"] - list_events_for_timeline: Optional["OctokitIssuesListEventsForTimeline"] - list_for_authenticated_user: Optional["OctokitIssuesListForAuthenticatedUser"] - list_for_org: Optional["OctokitIssuesListForOrg"] - list_for_repo: Optional["OctokitIssuesListForRepo"] - list_labels_for_milestone: Optional["OctokitIssuesListLabelsForMilestone"] - list_labels_for_repo: Optional["OctokitIssuesListLabelsForRepo"] - list_labels_on_issue: Optional["OctokitIssuesListLabelsOnIssue"] - list_milestones_for_repo: Optional["OctokitIssuesListMilestonesForRepo"] - lock: Optional["OctokitIssuesLock"] - remove_assignees: Optional["OctokitIssuesRemoveAssignees"] - remove_label: Optional["OctokitIssuesRemoveLabel"] - remove_labels: Optional["OctokitIssuesRemoveLabels"] - replace_labels: Optional["OctokitIssuesReplaceLabels"] - unlock: Optional["OctokitIssuesUnlock"] - update: Optional["OctokitIssuesUpdate"] - update_comment: Optional["OctokitIssuesUpdateComment"] - update_label: Optional["OctokitIssuesUpdateLabel"] - update_milestone: Optional["OctokitIssuesUpdateMilestone"] - - class Config: - fields = { - "add_assignees": "addAssignees", - "add_labels": "addLabels", - "check_assignee": "checkAssignee", - "create": "create", - "create_comment": "createComment", - "create_label": "createLabel", - "create_milestone": "createMilestone", - "delete_comment": "deleteComment", - "delete_label": "deleteLabel", - "delete_milestone": "deleteMilestone", - "get": "get", - "get_comment": "getComment", - "get_event": "getEvent", - "get_label": "getLabel", - "get_milestone": "getMilestone", - "list": "list", - "list_assignees": "listAssignees", - "list_comments": "listComments", - "list_comments_for_repo": "listCommentsForRepo", - "list_events": "listEvents", - "list_events_for_repo": "listEventsForRepo", - "list_events_for_timeline": "listEventsForTimeline", - "list_for_authenticated_user": "listForAuthenticatedUser", - "list_for_org": "listForOrg", - "list_for_repo": "listForRepo", - "list_labels_for_milestone": "listLabelsForMilestone", - "list_labels_for_repo": "listLabelsForRepo", - "list_labels_on_issue": "listLabelsOnIssue", - "list_milestones_for_repo": "listMilestonesForRepo", - "lock": "lock", - "remove_assignees": "removeAssignees", - "remove_label": "removeLabel", - "remove_labels": "removeLabels", - "replace_labels": "replaceLabels", - "unlock": "unlock", - "update": "update", - "update_comment": "updateComment", - "update_label": "updateLabel", - "update_milestone": "updateMilestone", - } - - -class OctokitIssuesAddAssignees(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesAddLabels(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesCheckAssignee(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesCreate(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesCreateComment(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesCreateLabel(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesCreateMilestone(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesDeleteComment(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesDeleteLabel(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesDeleteMilestone(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesGet(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesGetComment(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesGetEvent(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesGetLabel(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesGetMilestone(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesList(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesListAssignees(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesListComments(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesListCommentsForRepo(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesListEvents(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesListEventsForRepo(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesListEventsForTimeline(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesListForAuthenticatedUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesListForOrg(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesListForRepo(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesListLabelsForMilestone(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesListLabelsForRepo(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesListLabelsOnIssue(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesListMilestonesForRepo(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesLock(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesRemoveAssignees(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesRemoveLabel(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesRemoveLabels(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesReplaceLabels(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesUnlock(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesUpdate(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesUpdateComment(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesUpdateLabel(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitIssuesUpdateMilestone(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitLicenses(BaseModel): - get: Optional["OctokitLicensesGet"] - get_for_repo: Optional["OctokitLicensesGetForRepo"] - list: Optional["OctokitLicensesList"] - - class Config: - fields = { - "get": "get", - "get_for_repo": "getForRepo", - "list": "list", - } - - -class OctokitLicensesGet(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitLicensesGetForRepo(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitLicensesList(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitMarkdown(BaseModel): - render: Optional["OctokitMarkdownRender"] - render_raw: Optional["OctokitMarkdownRenderRaw"] - - class Config: - fields = { - "render": "render", - "render_raw": "renderRaw", - } - - -class OctokitMarkdownRender(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitMarkdownRenderRaw(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitMeta(BaseModel): - get: Optional["OctokitMetaGet"] - - class Config: - fields = { - "get": "get", - } - - -class OctokitMetaGet(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitMigrations(BaseModel): - cancel_import: Optional["OctokitMigrationsCancelImport"] - delete_archive_for_authenticated_user: Optional[ - "OctokitMigrationsDeleteArchiveForAuthenticatedUser" - ] - delete_archive_for_org: Optional["OctokitMigrationsDeleteArchiveForOrg"] - get_archive_for_authenticated_user: Optional[ - "OctokitMigrationsGetArchiveForAuthenticatedUser" - ] - get_archive_for_org: Optional["OctokitMigrationsGetArchiveForOrg"] - get_commit_authors: Optional["OctokitMigrationsGetCommitAuthors"] - get_import_progress: Optional["OctokitMigrationsGetImportProgress"] - get_large_files: Optional["OctokitMigrationsGetLargeFiles"] - get_status_for_authenticated_user: Optional[ - "OctokitMigrationsGetStatusForAuthenticatedUser" - ] - get_status_for_org: Optional["OctokitMigrationsGetStatusForOrg"] - list_for_authenticated_user: Optional["OctokitMigrationsListForAuthenticatedUser"] - list_for_org: Optional["OctokitMigrationsListForOrg"] - map_commit_author: Optional["OctokitMigrationsMapCommitAuthor"] - set_lfs_preference: Optional["OctokitMigrationsSetLfsPreference"] - start_for_authenticated_user: Optional["OctokitMigrationsStartForAuthenticatedUser"] - start_for_org: Optional["OctokitMigrationsStartForOrg"] - start_import: Optional["OctokitMigrationsStartImport"] - unlock_repo_for_authenticated_user: Optional[ - "OctokitMigrationsUnlockRepoForAuthenticatedUser" - ] - unlock_repo_for_org: Optional["OctokitMigrationsUnlockRepoForOrg"] - update_import: Optional["OctokitMigrationsUpdateImport"] - - class Config: - fields = { - "cancel_import": "cancelImport", - "delete_archive_for_authenticated_user": "deleteArchiveForAuthenticatedUser", - "delete_archive_for_org": "deleteArchiveForOrg", - "get_archive_for_authenticated_user": "getArchiveForAuthenticatedUser", - "get_archive_for_org": "getArchiveForOrg", - "get_commit_authors": "getCommitAuthors", - "get_import_progress": "getImportProgress", - "get_large_files": "getLargeFiles", - "get_status_for_authenticated_user": "getStatusForAuthenticatedUser", - "get_status_for_org": "getStatusForOrg", - "list_for_authenticated_user": "listForAuthenticatedUser", - "list_for_org": "listForOrg", - "map_commit_author": "mapCommitAuthor", - "set_lfs_preference": "setLfsPreference", - "start_for_authenticated_user": "startForAuthenticatedUser", - "start_for_org": "startForOrg", - "start_import": "startImport", - "unlock_repo_for_authenticated_user": "unlockRepoForAuthenticatedUser", - "unlock_repo_for_org": "unlockRepoForOrg", - "update_import": "updateImport", - } - - -class OctokitMigrationsCancelImport(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitMigrationsDeleteArchiveForAuthenticatedUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitMigrationsDeleteArchiveForOrg(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitMigrationsGetArchiveForAuthenticatedUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitMigrationsGetArchiveForOrg(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitMigrationsGetCommitAuthors(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitMigrationsGetImportProgress(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitMigrationsGetLargeFiles(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitMigrationsGetStatusForAuthenticatedUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitMigrationsGetStatusForOrg(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitMigrationsListForAuthenticatedUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitMigrationsListForOrg(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitMigrationsMapCommitAuthor(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitMigrationsSetLfsPreference(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitMigrationsStartForAuthenticatedUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitMigrationsStartForOrg(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitMigrationsStartImport(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitMigrationsUnlockRepoForAuthenticatedUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitMigrationsUnlockRepoForOrg(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitMigrationsUpdateImport(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOauthAuthorizations(BaseModel): - check_authorization: Optional["OctokitOauthAuthorizationsCheckAuthorization"] - create_authorization: Optional["OctokitOauthAuthorizationsCreateAuthorization"] - delete_authorization: Optional["OctokitOauthAuthorizationsDeleteAuthorization"] - delete_grant: Optional["OctokitOauthAuthorizationsDeleteGrant"] - get_authorization: Optional["OctokitOauthAuthorizationsGetAuthorization"] - get_grant: Optional["OctokitOauthAuthorizationsGetGrant"] - get_or_create_authorization_for_app: Optional[ - "OctokitOauthAuthorizationsGetOrCreateAuthorizationForApp" - ] - get_or_create_authorization_for_app_and_fingerprint: Optional[ - "OctokitOauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprint" - ] - get_or_create_authorization_for_app_fingerprint: Optional[ - "OctokitOauthAuthorizationsGetOrCreateAuthorizationForAppFingerprint" - ] - list_authorizations: Optional["OctokitOauthAuthorizationsListAuthorizations"] - list_grants: Optional["OctokitOauthAuthorizationsListGrants"] - reset_authorization: Optional["OctokitOauthAuthorizationsResetAuthorization"] - revoke_authorization_for_application: Optional[ - "OctokitOauthAuthorizationsRevokeAuthorizationForApplication" - ] - revoke_grant_for_application: Optional[ - "OctokitOauthAuthorizationsRevokeGrantForApplication" - ] - update_authorization: Optional["OctokitOauthAuthorizationsUpdateAuthorization"] - - class Config: - fields = { - "check_authorization": "checkAuthorization", - "create_authorization": "createAuthorization", - "delete_authorization": "deleteAuthorization", - "delete_grant": "deleteGrant", - "get_authorization": "getAuthorization", - "get_grant": "getGrant", - "get_or_create_authorization_for_app": "getOrCreateAuthorizationForApp", - "get_or_create_authorization_for_app_and_fingerprint": "getOrCreateAuthorizationForAppAndFingerprint", - "get_or_create_authorization_for_app_fingerprint": "getOrCreateAuthorizationForAppFingerprint", - "list_authorizations": "listAuthorizations", - "list_grants": "listGrants", - "reset_authorization": "resetAuthorization", - "revoke_authorization_for_application": "revokeAuthorizationForApplication", - "revoke_grant_for_application": "revokeGrantForApplication", - "update_authorization": "updateAuthorization", - } - - -class OctokitOauthAuthorizationsCheckAuthorization(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOauthAuthorizationsCreateAuthorization(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOauthAuthorizationsDeleteAuthorization(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOauthAuthorizationsDeleteGrant(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOauthAuthorizationsGetAuthorization(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOauthAuthorizationsGetGrant(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOauthAuthorizationsGetOrCreateAuthorizationForApp(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprint(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOauthAuthorizationsGetOrCreateAuthorizationForAppFingerprint(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOauthAuthorizationsListAuthorizations(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOauthAuthorizationsListGrants(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOauthAuthorizationsResetAuthorization(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOauthAuthorizationsRevokeAuthorizationForApplication(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOauthAuthorizationsRevokeGrantForApplication(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOauthAuthorizationsUpdateAuthorization(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgs(BaseModel): - add_or_update_membership: Optional["OctokitOrgsAddOrUpdateMembership"] - block_user: Optional["OctokitOrgsBlockUser"] - check_blocked_user: Optional["OctokitOrgsCheckBlockedUser"] - check_membership: Optional["OctokitOrgsCheckMembership"] - check_public_membership: Optional["OctokitOrgsCheckPublicMembership"] - conceal_membership: Optional["OctokitOrgsConcealMembership"] - convert_member_to_outside_collaborator: Optional[ - "OctokitOrgsConvertMemberToOutsideCollaborator" - ] - create_hook: Optional["OctokitOrgsCreateHook"] - create_invitation: Optional["OctokitOrgsCreateInvitation"] - delete_hook: Optional["OctokitOrgsDeleteHook"] - get: Optional["OctokitOrgsGet"] - get_hook: Optional["OctokitOrgsGetHook"] - get_membership: Optional["OctokitOrgsGetMembership"] - get_membership_for_authenticated_user: Optional[ - "OctokitOrgsGetMembershipForAuthenticatedUser" - ] - list: Optional["OctokitOrgsList"] - list_blocked_users: Optional["OctokitOrgsListBlockedUsers"] - list_for_authenticated_user: Optional["OctokitOrgsListForAuthenticatedUser"] - list_for_user: Optional["OctokitOrgsListForUser"] - list_hooks: Optional["OctokitOrgsListHooks"] - list_invitation_teams: Optional["OctokitOrgsListInvitationTeams"] - list_members: Optional["OctokitOrgsListMembers"] - list_memberships: Optional["OctokitOrgsListMemberships"] - list_outside_collaborators: Optional["OctokitOrgsListOutsideCollaborators"] - list_pending_invitations: Optional["OctokitOrgsListPendingInvitations"] - list_public_members: Optional["OctokitOrgsListPublicMembers"] - ping_hook: Optional["OctokitOrgsPingHook"] - publicize_membership: Optional["OctokitOrgsPublicizeMembership"] - remove_member: Optional["OctokitOrgsRemoveMember"] - remove_membership: Optional["OctokitOrgsRemoveMembership"] - remove_outside_collaborator: Optional["OctokitOrgsRemoveOutsideCollaborator"] - unblock_user: Optional["OctokitOrgsUnblockUser"] - update: Optional["OctokitOrgsUpdate"] - update_hook: Optional["OctokitOrgsUpdateHook"] - update_membership: Optional["OctokitOrgsUpdateMembership"] - - class Config: - fields = { - "add_or_update_membership": "addOrUpdateMembership", - "block_user": "blockUser", - "check_blocked_user": "checkBlockedUser", - "check_membership": "checkMembership", - "check_public_membership": "checkPublicMembership", - "conceal_membership": "concealMembership", - "convert_member_to_outside_collaborator": "convertMemberToOutsideCollaborator", - "create_hook": "createHook", - "create_invitation": "createInvitation", - "delete_hook": "deleteHook", - "get": "get", - "get_hook": "getHook", - "get_membership": "getMembership", - "get_membership_for_authenticated_user": "getMembershipForAuthenticatedUser", - "list": "list", - "list_blocked_users": "listBlockedUsers", - "list_for_authenticated_user": "listForAuthenticatedUser", - "list_for_user": "listForUser", - "list_hooks": "listHooks", - "list_invitation_teams": "listInvitationTeams", - "list_members": "listMembers", - "list_memberships": "listMemberships", - "list_outside_collaborators": "listOutsideCollaborators", - "list_pending_invitations": "listPendingInvitations", - "list_public_members": "listPublicMembers", - "ping_hook": "pingHook", - "publicize_membership": "publicizeMembership", - "remove_member": "removeMember", - "remove_membership": "removeMembership", - "remove_outside_collaborator": "removeOutsideCollaborator", - "unblock_user": "unblockUser", - "update": "update", - "update_hook": "updateHook", - "update_membership": "updateMembership", - } - - -class OctokitOrgsAddOrUpdateMembership(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsBlockUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsCheckBlockedUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsCheckMembership(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsCheckPublicMembership(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsConcealMembership(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsConvertMemberToOutsideCollaborator(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsCreateHook(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsCreateInvitation(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsDeleteHook(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsGet(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsGetHook(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsGetMembership(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsGetMembershipForAuthenticatedUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsList(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsListBlockedUsers(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsListForAuthenticatedUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsListForUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsListHooks(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsListInvitationTeams(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsListMembers(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsListMemberships(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsListOutsideCollaborators(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsListPendingInvitations(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsListPublicMembers(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsPingHook(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsPublicizeMembership(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsRemoveMember(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsRemoveMembership(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsRemoveOutsideCollaborator(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsUnblockUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsUpdate(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsUpdateHook(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitOrgsUpdateMembership(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitProjects(BaseModel): - add_collaborator: Optional["OctokitProjectsAddCollaborator"] - create_card: Optional["OctokitProjectsCreateCard"] - create_column: Optional["OctokitProjectsCreateColumn"] - create_for_org: Optional["OctokitProjectsCreateForOrg"] - create_for_repo: Optional["OctokitProjectsCreateForRepo"] - delete: Optional["OctokitProjectsDelete"] - delete_card: Optional["OctokitProjectsDeleteCard"] - delete_column: Optional["OctokitProjectsDeleteColumn"] - get: Optional["OctokitProjectsGet"] - get_card: Optional["OctokitProjectsGetCard"] - get_column: Optional["OctokitProjectsGetColumn"] - list_cards: Optional["OctokitProjectsListCards"] - list_collaborators: Optional["OctokitProjectsListCollaborators"] - list_columns: Optional["OctokitProjectsListColumns"] - list_for_org: Optional["OctokitProjectsListForOrg"] - list_for_repo: Optional["OctokitProjectsListForRepo"] - move_card: Optional["OctokitProjectsMoveCard"] - move_column: Optional["OctokitProjectsMoveColumn"] - remove_collaborator: Optional["OctokitProjectsRemoveCollaborator"] - review_user_permission_level: Optional["OctokitProjectsReviewUserPermissionLevel"] - update: Optional["OctokitProjectsUpdate"] - update_card: Optional["OctokitProjectsUpdateCard"] - update_column: Optional["OctokitProjectsUpdateColumn"] - - class Config: - fields = { - "add_collaborator": "addCollaborator", - "create_card": "createCard", - "create_column": "createColumn", - "create_for_org": "createForOrg", - "create_for_repo": "createForRepo", - "delete": "delete", - "delete_card": "deleteCard", - "delete_column": "deleteColumn", - "get": "get", - "get_card": "getCard", - "get_column": "getColumn", - "list_cards": "listCards", - "list_collaborators": "listCollaborators", - "list_columns": "listColumns", - "list_for_org": "listForOrg", - "list_for_repo": "listForRepo", - "move_card": "moveCard", - "move_column": "moveColumn", - "remove_collaborator": "removeCollaborator", - "review_user_permission_level": "reviewUserPermissionLevel", - "update": "update", - "update_card": "updateCard", - "update_column": "updateColumn", - } - - -class OctokitProjectsAddCollaborator(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitProjectsCreateCard(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitProjectsCreateColumn(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitProjectsCreateForOrg(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitProjectsCreateForRepo(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitProjectsDelete(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitProjectsDeleteCard(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitProjectsDeleteColumn(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitProjectsGet(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitProjectsGetCard(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitProjectsGetColumn(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitProjectsListCards(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitProjectsListCollaborators(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitProjectsListColumns(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitProjectsListForOrg(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitProjectsListForRepo(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitProjectsMoveCard(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitProjectsMoveColumn(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitProjectsRemoveCollaborator(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitProjectsReviewUserPermissionLevel(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitProjectsUpdate(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitProjectsUpdateCard(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitProjectsUpdateColumn(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitPulls(BaseModel): - check_if_merged: Optional["OctokitPullsCheckIfMerged"] - create: Optional["OctokitPullsCreate"] - create_comment: Optional["OctokitPullsCreateComment"] - create_comment_reply: Optional["OctokitPullsCreateCommentReply"] - create_from_issue: Optional["OctokitPullsCreateFromIssue"] - create_review: Optional["OctokitPullsCreateReview"] - create_review_request: Optional["OctokitPullsCreateReviewRequest"] - delete_comment: Optional["OctokitPullsDeleteComment"] - delete_pending_review: Optional["OctokitPullsDeletePendingReview"] - delete_review_request: Optional["OctokitPullsDeleteReviewRequest"] - dismiss_review: Optional["OctokitPullsDismissReview"] - get: Optional["OctokitPullsGet"] - get_comment: Optional["OctokitPullsGetComment"] - get_comments_for_review: Optional["OctokitPullsGetCommentsForReview"] - get_review: Optional["OctokitPullsGetReview"] - list: Optional["OctokitPullsList"] - list_comments: Optional["OctokitPullsListComments"] - list_comments_for_repo: Optional["OctokitPullsListCommentsForRepo"] - list_commits: Optional["OctokitPullsListCommits"] - list_files: Optional["OctokitPullsListFiles"] - list_review_requests: Optional["OctokitPullsListReviewRequests"] - list_reviews: Optional["OctokitPullsListReviews"] - merge: Optional["OctokitPullsMerge"] - submit_review: Optional["OctokitPullsSubmitReview"] - update: Optional["OctokitPullsUpdate"] - update_comment: Optional["OctokitPullsUpdateComment"] - update_review: Optional["OctokitPullsUpdateReview"] - - class Config: - fields = { - "check_if_merged": "checkIfMerged", - "create": "create", - "create_comment": "createComment", - "create_comment_reply": "createCommentReply", - "create_from_issue": "createFromIssue", - "create_review": "createReview", - "create_review_request": "createReviewRequest", - "delete_comment": "deleteComment", - "delete_pending_review": "deletePendingReview", - "delete_review_request": "deleteReviewRequest", - "dismiss_review": "dismissReview", - "get": "get", - "get_comment": "getComment", - "get_comments_for_review": "getCommentsForReview", - "get_review": "getReview", - "list": "list", - "list_comments": "listComments", - "list_comments_for_repo": "listCommentsForRepo", - "list_commits": "listCommits", - "list_files": "listFiles", - "list_review_requests": "listReviewRequests", - "list_reviews": "listReviews", - "merge": "merge", - "submit_review": "submitReview", - "update": "update", - "update_comment": "updateComment", - "update_review": "updateReview", - } - - -class OctokitPullsCheckIfMerged(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitPullsCreate(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitPullsCreateComment(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitPullsCreateCommentReply(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitPullsCreateFromIssue(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitPullsCreateReview(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitPullsCreateReviewRequest(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitPullsDeleteComment(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitPullsDeletePendingReview(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitPullsDeleteReviewRequest(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitPullsDismissReview(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitPullsGet(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitPullsGetComment(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitPullsGetCommentsForReview(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitPullsGetReview(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitPullsList(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitPullsListComments(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitPullsListCommentsForRepo(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitPullsListCommits(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitPullsListFiles(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitPullsListReviewRequests(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitPullsListReviews(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitPullsMerge(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitPullsSubmitReview(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitPullsUpdate(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitPullsUpdateComment(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitPullsUpdateReview(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitRateLimit(BaseModel): - get: Optional["OctokitRateLimitGet"] - - class Config: - fields = { - "get": "get", - } - - -class OctokitRateLimitGet(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReactions(BaseModel): - create_for_commit_comment: Optional["OctokitReactionsCreateForCommitComment"] - create_for_issue: Optional["OctokitReactionsCreateForIssue"] - create_for_issue_comment: Optional["OctokitReactionsCreateForIssueComment"] - create_for_pull_request_review_comment: Optional[ - "OctokitReactionsCreateForPullRequestReviewComment" - ] - create_for_team_discussion: Optional["OctokitReactionsCreateForTeamDiscussion"] - create_for_team_discussion_comment: Optional[ - "OctokitReactionsCreateForTeamDiscussionComment" - ] - delete: Optional["OctokitReactionsDelete"] - list_for_commit_comment: Optional["OctokitReactionsListForCommitComment"] - list_for_issue: Optional["OctokitReactionsListForIssue"] - list_for_issue_comment: Optional["OctokitReactionsListForIssueComment"] - list_for_pull_request_review_comment: Optional[ - "OctokitReactionsListForPullRequestReviewComment" - ] - list_for_team_discussion: Optional["OctokitReactionsListForTeamDiscussion"] - list_for_team_discussion_comment: Optional[ - "OctokitReactionsListForTeamDiscussionComment" - ] - - class Config: - fields = { - "create_for_commit_comment": "createForCommitComment", - "create_for_issue": "createForIssue", - "create_for_issue_comment": "createForIssueComment", - "create_for_pull_request_review_comment": "createForPullRequestReviewComment", - "create_for_team_discussion": "createForTeamDiscussion", - "create_for_team_discussion_comment": "createForTeamDiscussionComment", - "delete": "delete", - "list_for_commit_comment": "listForCommitComment", - "list_for_issue": "listForIssue", - "list_for_issue_comment": "listForIssueComment", - "list_for_pull_request_review_comment": "listForPullRequestReviewComment", - "list_for_team_discussion": "listForTeamDiscussion", - "list_for_team_discussion_comment": "listForTeamDiscussionComment", - } - - -class OctokitReactionsCreateForCommitComment(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReactionsCreateForIssue(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReactionsCreateForIssueComment(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReactionsCreateForPullRequestReviewComment(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReactionsCreateForTeamDiscussion(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReactionsCreateForTeamDiscussionComment(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReactionsDelete(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReactionsListForCommitComment(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReactionsListForIssue(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReactionsListForIssueComment(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReactionsListForPullRequestReviewComment(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReactionsListForTeamDiscussion(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReactionsListForTeamDiscussionComment(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitRepos(BaseModel): - accept_invitation: Optional["OctokitReposAcceptInvitation"] - add_collaborator: Optional["OctokitReposAddCollaborator"] - add_deploy_key: Optional["OctokitReposAddDeployKey"] - add_protected_branch_admin_enforcement: Optional[ - "OctokitReposAddProtectedBranchAdminEnforcement" - ] - add_protected_branch_required_signatures: Optional[ - "OctokitReposAddProtectedBranchRequiredSignatures" - ] - add_protected_branch_required_status_checks_contexts: Optional[ - "OctokitReposAddProtectedBranchRequiredStatusChecksContexts" - ] - add_protected_branch_team_restrictions: Optional[ - "OctokitReposAddProtectedBranchTeamRestrictions" - ] - add_protected_branch_user_restrictions: Optional[ - "OctokitReposAddProtectedBranchUserRestrictions" - ] - check_collaborator: Optional["OctokitReposCheckCollaborator"] - compare_commits: Optional["OctokitReposCompareCommits"] - create_commit_comment: Optional["OctokitReposCreateCommitComment"] - create_deployment: Optional["OctokitReposCreateDeployment"] - create_deployment_status: Optional["OctokitReposCreateDeploymentStatus"] - create_file: Optional["OctokitReposCreateFile"] - create_for_authenticated_user: Optional["OctokitReposCreateForAuthenticatedUser"] - create_fork: Optional["OctokitReposCreateFork"] - create_hook: Optional["OctokitReposCreateHook"] - create_in_org: Optional["OctokitReposCreateInOrg"] - create_release: Optional["OctokitReposCreateRelease"] - create_status: Optional["OctokitReposCreateStatus"] - decline_invitation: Optional["OctokitReposDeclineInvitation"] - delete: Optional["OctokitReposDelete"] - delete_commit_comment: Optional["OctokitReposDeleteCommitComment"] - delete_download: Optional["OctokitReposDeleteDownload"] - delete_file: Optional["OctokitReposDeleteFile"] - delete_hook: Optional["OctokitReposDeleteHook"] - delete_invitation: Optional["OctokitReposDeleteInvitation"] - delete_release: Optional["OctokitReposDeleteRelease"] - delete_release_asset: Optional["OctokitReposDeleteReleaseAsset"] - get: Optional["OctokitReposGet"] - get_archive_link: Optional["OctokitReposGetArchiveLink"] - get_branch: Optional["OctokitReposGetBranch"] - get_branch_protection: Optional["OctokitReposGetBranchProtection"] - get_clones: Optional["OctokitReposGetClones"] - get_code_frequency_stats: Optional["OctokitReposGetCodeFrequencyStats"] - get_collaborator_permission_level: Optional[ - "OctokitReposGetCollaboratorPermissionLevel" - ] - get_combined_status_for_ref: Optional["OctokitReposGetCombinedStatusForRef"] - get_commit: Optional["OctokitReposGetCommit"] - get_commit_activity_stats: Optional["OctokitReposGetCommitActivityStats"] - get_commit_comment: Optional["OctokitReposGetCommitComment"] - get_commit_ref_sha: Optional["OctokitReposGetCommitRefSha"] - get_contents: Optional["OctokitReposGetContents"] - get_contributors_stats: Optional["OctokitReposGetContributorsStats"] - get_deploy_key: Optional["OctokitReposGetDeployKey"] - get_deployment: Optional["OctokitReposGetDeployment"] - get_deployment_status: Optional["OctokitReposGetDeploymentStatus"] - get_download: Optional["OctokitReposGetDownload"] - get_hook: Optional["OctokitReposGetHook"] - get_latest_pages_build: Optional["OctokitReposGetLatestPagesBuild"] - get_latest_release: Optional["OctokitReposGetLatestRelease"] - get_pages: Optional["OctokitReposGetPages"] - get_pages_build: Optional["OctokitReposGetPagesBuild"] - get_participation_stats: Optional["OctokitReposGetParticipationStats"] - get_protected_branch_admin_enforcement: Optional[ - "OctokitReposGetProtectedBranchAdminEnforcement" - ] - get_protected_branch_pull_request_review_enforcement: Optional[ - "OctokitReposGetProtectedBranchPullRequestReviewEnforcement" - ] - get_protected_branch_required_signatures: Optional[ - "OctokitReposGetProtectedBranchRequiredSignatures" - ] - get_protected_branch_required_status_checks: Optional[ - "OctokitReposGetProtectedBranchRequiredStatusChecks" - ] - get_protected_branch_restrictions: Optional[ - "OctokitReposGetProtectedBranchRestrictions" - ] - get_punch_card_stats: Optional["OctokitReposGetPunchCardStats"] - get_readme: Optional["OctokitReposGetReadme"] - get_release: Optional["OctokitReposGetRelease"] - get_release_asset: Optional["OctokitReposGetReleaseAsset"] - get_release_by_tag: Optional["OctokitReposGetReleaseByTag"] - get_top_paths: Optional["OctokitReposGetTopPaths"] - get_top_referrers: Optional["OctokitReposGetTopReferrers"] - get_views: Optional["OctokitReposGetViews"] - list: Optional["OctokitReposList"] - list_assets_for_release: Optional["OctokitReposListAssetsForRelease"] - list_branches: Optional["OctokitReposListBranches"] - list_collaborators: Optional["OctokitReposListCollaborators"] - list_comments_for_commit: Optional["OctokitReposListCommentsForCommit"] - list_commit_comments: Optional["OctokitReposListCommitComments"] - list_commits: Optional["OctokitReposListCommits"] - list_contributors: Optional["OctokitReposListContributors"] - list_deploy_keys: Optional["OctokitReposListDeployKeys"] - list_deployment_statuses: Optional["OctokitReposListDeploymentStatuses"] - list_deployments: Optional["OctokitReposListDeployments"] - list_downloads: Optional["OctokitReposListDownloads"] - list_for_org: Optional["OctokitReposListForOrg"] - list_for_user: Optional["OctokitReposListForUser"] - list_forks: Optional["OctokitReposListForks"] - list_hooks: Optional["OctokitReposListHooks"] - list_invitations: Optional["OctokitReposListInvitations"] - list_invitations_for_authenticated_user: Optional[ - "OctokitReposListInvitationsForAuthenticatedUser" - ] - list_languages: Optional["OctokitReposListLanguages"] - list_pages_builds: Optional["OctokitReposListPagesBuilds"] - list_protected_branch_required_status_checks_contexts: Optional[ - "OctokitReposListProtectedBranchRequiredStatusChecksContexts" - ] - list_protected_branch_team_restrictions: Optional[ - "OctokitReposListProtectedBranchTeamRestrictions" - ] - list_protected_branch_user_restrictions: Optional[ - "OctokitReposListProtectedBranchUserRestrictions" - ] - list_public: Optional["OctokitReposListPublic"] - list_releases: Optional["OctokitReposListReleases"] - list_statuses_for_ref: Optional["OctokitReposListStatusesForRef"] - list_tags: Optional["OctokitReposListTags"] - list_teams: Optional["OctokitReposListTeams"] - list_topics: Optional["OctokitReposListTopics"] - merge: Optional["OctokitReposMerge"] - ping_hook: Optional["OctokitReposPingHook"] - remove_branch_protection: Optional["OctokitReposRemoveBranchProtection"] - remove_collaborator: Optional["OctokitReposRemoveCollaborator"] - remove_deploy_key: Optional["OctokitReposRemoveDeployKey"] - remove_protected_branch_admin_enforcement: Optional[ - "OctokitReposRemoveProtectedBranchAdminEnforcement" - ] - remove_protected_branch_pull_request_review_enforcement: Optional[ - "OctokitReposRemoveProtectedBranchPullRequestReviewEnforcement" - ] - remove_protected_branch_required_signatures: Optional[ - "OctokitReposRemoveProtectedBranchRequiredSignatures" - ] - remove_protected_branch_required_status_checks: Optional[ - "OctokitReposRemoveProtectedBranchRequiredStatusChecks" - ] - remove_protected_branch_required_status_checks_contexts: Optional[ - "OctokitReposRemoveProtectedBranchRequiredStatusChecksContexts" - ] - remove_protected_branch_restrictions: Optional[ - "OctokitReposRemoveProtectedBranchRestrictions" - ] - remove_protected_branch_team_restrictions: Optional[ - "OctokitReposRemoveProtectedBranchTeamRestrictions" - ] - remove_protected_branch_user_restrictions: Optional[ - "OctokitReposRemoveProtectedBranchUserRestrictions" - ] - replace_protected_branch_required_status_checks_contexts: Optional[ - "OctokitReposReplaceProtectedBranchRequiredStatusChecksContexts" - ] - replace_protected_branch_team_restrictions: Optional[ - "OctokitReposReplaceProtectedBranchTeamRestrictions" - ] - replace_protected_branch_user_restrictions: Optional[ - "OctokitReposReplaceProtectedBranchUserRestrictions" - ] - replace_topics: Optional["OctokitReposReplaceTopics"] - request_page_build: Optional["OctokitReposRequestPageBuild"] - retrieve_community_profile_metrics: Optional[ - "OctokitReposRetrieveCommunityProfileMetrics" - ] - test_push_hook: Optional["OctokitReposTestPushHook"] - transfer: Optional["OctokitReposTransfer"] - update: Optional["OctokitReposUpdate"] - update_branch_protection: Optional["OctokitReposUpdateBranchProtection"] - update_commit_comment: Optional["OctokitReposUpdateCommitComment"] - update_file: Optional["OctokitReposUpdateFile"] - update_hook: Optional["OctokitReposUpdateHook"] - update_information_about_pages_site: Optional[ - "OctokitReposUpdateInformationAboutPagesSite" - ] - update_invitation: Optional["OctokitReposUpdateInvitation"] - update_protected_branch_pull_request_review_enforcement: Optional[ - "OctokitReposUpdateProtectedBranchPullRequestReviewEnforcement" - ] - update_protected_branch_required_status_checks: Optional[ - "OctokitReposUpdateProtectedBranchRequiredStatusChecks" - ] - update_release: Optional["OctokitReposUpdateRelease"] - update_release_asset: Optional["OctokitReposUpdateReleaseAsset"] - upload_release_asset: Optional["OctokitReposUploadReleaseAsset"] - - class Config: - fields = { - "accept_invitation": "acceptInvitation", - "add_collaborator": "addCollaborator", - "add_deploy_key": "addDeployKey", - "add_protected_branch_admin_enforcement": "addProtectedBranchAdminEnforcement", - "add_protected_branch_required_signatures": "addProtectedBranchRequiredSignatures", - "add_protected_branch_required_status_checks_contexts": "addProtectedBranchRequiredStatusChecksContexts", - "add_protected_branch_team_restrictions": "addProtectedBranchTeamRestrictions", - "add_protected_branch_user_restrictions": "addProtectedBranchUserRestrictions", - "check_collaborator": "checkCollaborator", - "compare_commits": "compareCommits", - "create_commit_comment": "createCommitComment", - "create_deployment": "createDeployment", - "create_deployment_status": "createDeploymentStatus", - "create_file": "createFile", - "create_for_authenticated_user": "createForAuthenticatedUser", - "create_fork": "createFork", - "create_hook": "createHook", - "create_in_org": "createInOrg", - "create_release": "createRelease", - "create_status": "createStatus", - "decline_invitation": "declineInvitation", - "delete": "delete", - "delete_commit_comment": "deleteCommitComment", - "delete_download": "deleteDownload", - "delete_file": "deleteFile", - "delete_hook": "deleteHook", - "delete_invitation": "deleteInvitation", - "delete_release": "deleteRelease", - "delete_release_asset": "deleteReleaseAsset", - "get": "get", - "get_archive_link": "getArchiveLink", - "get_branch": "getBranch", - "get_branch_protection": "getBranchProtection", - "get_clones": "getClones", - "get_code_frequency_stats": "getCodeFrequencyStats", - "get_collaborator_permission_level": "getCollaboratorPermissionLevel", - "get_combined_status_for_ref": "getCombinedStatusForRef", - "get_commit": "getCommit", - "get_commit_activity_stats": "getCommitActivityStats", - "get_commit_comment": "getCommitComment", - "get_commit_ref_sha": "getCommitRefSha", - "get_contents": "getContents", - "get_contributors_stats": "getContributorsStats", - "get_deploy_key": "getDeployKey", - "get_deployment": "getDeployment", - "get_deployment_status": "getDeploymentStatus", - "get_download": "getDownload", - "get_hook": "getHook", - "get_latest_pages_build": "getLatestPagesBuild", - "get_latest_release": "getLatestRelease", - "get_pages": "getPages", - "get_pages_build": "getPagesBuild", - "get_participation_stats": "getParticipationStats", - "get_protected_branch_admin_enforcement": "getProtectedBranchAdminEnforcement", - "get_protected_branch_pull_request_review_enforcement": "getProtectedBranchPullRequestReviewEnforcement", - "get_protected_branch_required_signatures": "getProtectedBranchRequiredSignatures", - "get_protected_branch_required_status_checks": "getProtectedBranchRequiredStatusChecks", - "get_protected_branch_restrictions": "getProtectedBranchRestrictions", - "get_punch_card_stats": "getPunchCardStats", - "get_readme": "getReadme", - "get_release": "getRelease", - "get_release_asset": "getReleaseAsset", - "get_release_by_tag": "getReleaseByTag", - "get_top_paths": "getTopPaths", - "get_top_referrers": "getTopReferrers", - "get_views": "getViews", - "list": "list", - "list_assets_for_release": "listAssetsForRelease", - "list_branches": "listBranches", - "list_collaborators": "listCollaborators", - "list_comments_for_commit": "listCommentsForCommit", - "list_commit_comments": "listCommitComments", - "list_commits": "listCommits", - "list_contributors": "listContributors", - "list_deploy_keys": "listDeployKeys", - "list_deployment_statuses": "listDeploymentStatuses", - "list_deployments": "listDeployments", - "list_downloads": "listDownloads", - "list_for_org": "listForOrg", - "list_for_user": "listForUser", - "list_forks": "listForks", - "list_hooks": "listHooks", - "list_invitations": "listInvitations", - "list_invitations_for_authenticated_user": "listInvitationsForAuthenticatedUser", - "list_languages": "listLanguages", - "list_pages_builds": "listPagesBuilds", - "list_protected_branch_required_status_checks_contexts": "listProtectedBranchRequiredStatusChecksContexts", - "list_protected_branch_team_restrictions": "listProtectedBranchTeamRestrictions", - "list_protected_branch_user_restrictions": "listProtectedBranchUserRestrictions", - "list_public": "listPublic", - "list_releases": "listReleases", - "list_statuses_for_ref": "listStatusesForRef", - "list_tags": "listTags", - "list_teams": "listTeams", - "list_topics": "listTopics", - "merge": "merge", - "ping_hook": "pingHook", - "remove_branch_protection": "removeBranchProtection", - "remove_collaborator": "removeCollaborator", - "remove_deploy_key": "removeDeployKey", - "remove_protected_branch_admin_enforcement": "removeProtectedBranchAdminEnforcement", - "remove_protected_branch_pull_request_review_enforcement": "removeProtectedBranchPullRequestReviewEnforcement", - "remove_protected_branch_required_signatures": "removeProtectedBranchRequiredSignatures", - "remove_protected_branch_required_status_checks": "removeProtectedBranchRequiredStatusChecks", - "remove_protected_branch_required_status_checks_contexts": "removeProtectedBranchRequiredStatusChecksContexts", - "remove_protected_branch_restrictions": "removeProtectedBranchRestrictions", - "remove_protected_branch_team_restrictions": "removeProtectedBranchTeamRestrictions", - "remove_protected_branch_user_restrictions": "removeProtectedBranchUserRestrictions", - "replace_protected_branch_required_status_checks_contexts": "replaceProtectedBranchRequiredStatusChecksContexts", - "replace_protected_branch_team_restrictions": "replaceProtectedBranchTeamRestrictions", - "replace_protected_branch_user_restrictions": "replaceProtectedBranchUserRestrictions", - "replace_topics": "replaceTopics", - "request_page_build": "requestPageBuild", - "retrieve_community_profile_metrics": "retrieveCommunityProfileMetrics", - "test_push_hook": "testPushHook", - "transfer": "transfer", - "update": "update", - "update_branch_protection": "updateBranchProtection", - "update_commit_comment": "updateCommitComment", - "update_file": "updateFile", - "update_hook": "updateHook", - "update_information_about_pages_site": "updateInformationAboutPagesSite", - "update_invitation": "updateInvitation", - "update_protected_branch_pull_request_review_enforcement": "updateProtectedBranchPullRequestReviewEnforcement", - "update_protected_branch_required_status_checks": "updateProtectedBranchRequiredStatusChecks", - "update_release": "updateRelease", - "update_release_asset": "updateReleaseAsset", - "upload_release_asset": "uploadReleaseAsset", - } - - -class OctokitReposAcceptInvitation(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposAddCollaborator(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposAddDeployKey(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposAddProtectedBranchAdminEnforcement(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposAddProtectedBranchRequiredSignatures(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposAddProtectedBranchRequiredStatusChecksContexts(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposAddProtectedBranchTeamRestrictions(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposAddProtectedBranchUserRestrictions(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposCheckCollaborator(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposCompareCommits(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposCreateCommitComment(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposCreateDeployment(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposCreateDeploymentStatus(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposCreateFile(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposCreateForAuthenticatedUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposCreateFork(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposCreateHook(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposCreateInOrg(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposCreateRelease(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposCreateStatus(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposDeclineInvitation(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposDelete(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposDeleteCommitComment(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposDeleteDownload(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposDeleteFile(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposDeleteHook(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposDeleteInvitation(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposDeleteRelease(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposDeleteReleaseAsset(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGet(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetArchiveLink(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetBranch(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetBranchProtection(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetClones(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetCodeFrequencyStats(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetCollaboratorPermissionLevel(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetCombinedStatusForRef(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetCommit(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetCommitActivityStats(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetCommitComment(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetCommitRefSha(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetContents(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetContributorsStats(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetDeployKey(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetDeployment(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetDeploymentStatus(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetDownload(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetHook(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetLatestPagesBuild(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetLatestRelease(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetPages(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetPagesBuild(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetParticipationStats(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetProtectedBranchAdminEnforcement(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetProtectedBranchPullRequestReviewEnforcement(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetProtectedBranchRequiredSignatures(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetProtectedBranchRequiredStatusChecks(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetProtectedBranchRestrictions(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetPunchCardStats(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetReadme(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetRelease(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetReleaseAsset(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetReleaseByTag(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetTopPaths(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetTopReferrers(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposGetViews(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposList(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposListAssetsForRelease(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposListBranches(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposListCollaborators(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposListCommentsForCommit(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposListCommitComments(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposListCommits(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposListContributors(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposListDeployKeys(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposListDeploymentStatuses(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposListDeployments(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposListDownloads(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposListForOrg(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposListForUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposListForks(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposListHooks(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposListInvitations(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposListInvitationsForAuthenticatedUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposListLanguages(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposListPagesBuilds(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposListProtectedBranchRequiredStatusChecksContexts(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposListProtectedBranchTeamRestrictions(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposListProtectedBranchUserRestrictions(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposListPublic(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposListReleases(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposListStatusesForRef(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposListTags(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposListTeams(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposListTopics(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposMerge(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposPingHook(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposRemoveBranchProtection(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposRemoveCollaborator(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposRemoveDeployKey(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposRemoveProtectedBranchAdminEnforcement(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposRemoveProtectedBranchPullRequestReviewEnforcement(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposRemoveProtectedBranchRequiredSignatures(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposRemoveProtectedBranchRequiredStatusChecks(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposRemoveProtectedBranchRequiredStatusChecksContexts(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposRemoveProtectedBranchRestrictions(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposRemoveProtectedBranchTeamRestrictions(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposRemoveProtectedBranchUserRestrictions(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposReplaceProtectedBranchRequiredStatusChecksContexts(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposReplaceProtectedBranchTeamRestrictions(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposReplaceProtectedBranchUserRestrictions(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposReplaceTopics(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposRequestPageBuild(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposRetrieveCommunityProfileMetrics(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposTestPushHook(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposTransfer(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposUpdate(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposUpdateBranchProtection(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposUpdateCommitComment(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposUpdateFile(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposUpdateHook(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposUpdateInformationAboutPagesSite(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposUpdateInvitation(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposUpdateProtectedBranchPullRequestReviewEnforcement(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposUpdateProtectedBranchRequiredStatusChecks(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposUpdateRelease(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposUpdateReleaseAsset(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitReposUploadReleaseAsset(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitSearch(BaseModel): - code: Optional["OctokitSearchCode"] - commits: Optional["OctokitSearchCommits"] - issues: Optional["OctokitSearchIssues"] - issues_and_pull_requests: Optional["OctokitSearchIssuesAndPullRequests"] - labels: Optional["OctokitSearchLabels"] - repos: Optional["OctokitSearchRepos"] - topics: Optional["OctokitSearchTopics"] - users: Optional["OctokitSearchUsers"] - - class Config: - fields = { - "code": "code", - "commits": "commits", - "issues": "issues", - "issues_and_pull_requests": "issuesAndPullRequests", - "labels": "labels", - "repos": "repos", - "topics": "topics", - "users": "users", - } - - -class OctokitSearchCode(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitSearchCommits(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitSearchIssues(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitSearchIssuesAndPullRequests(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitSearchLabels(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitSearchRepos(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitSearchTopics(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitSearchUsers(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeams(BaseModel): - add_member: Optional["OctokitTeamsAddMember"] - add_or_update_membership: Optional["OctokitTeamsAddOrUpdateMembership"] - add_or_update_project: Optional["OctokitTeamsAddOrUpdateProject"] - add_or_update_repo: Optional["OctokitTeamsAddOrUpdateRepo"] - check_manages_repo: Optional["OctokitTeamsCheckManagesRepo"] - create: Optional["OctokitTeamsCreate"] - create_discussion: Optional["OctokitTeamsCreateDiscussion"] - create_discussion_comment: Optional["OctokitTeamsCreateDiscussionComment"] - delete: Optional["OctokitTeamsDelete"] - delete_discussion: Optional["OctokitTeamsDeleteDiscussion"] - delete_discussion_comment: Optional["OctokitTeamsDeleteDiscussionComment"] - get: Optional["OctokitTeamsGet"] - get_discussion: Optional["OctokitTeamsGetDiscussion"] - get_discussion_comment: Optional["OctokitTeamsGetDiscussionComment"] - get_member: Optional["OctokitTeamsGetMember"] - get_membership: Optional["OctokitTeamsGetMembership"] - list: Optional["OctokitTeamsList"] - list_child: Optional["OctokitTeamsListChild"] - list_discussion_comments: Optional["OctokitTeamsListDiscussionComments"] - list_discussions: Optional["OctokitTeamsListDiscussions"] - list_for_authenticated_user: Optional["OctokitTeamsListForAuthenticatedUser"] - list_members: Optional["OctokitTeamsListMembers"] - list_pending_invitations: Optional["OctokitTeamsListPendingInvitations"] - list_projects: Optional["OctokitTeamsListProjects"] - list_repos: Optional["OctokitTeamsListRepos"] - remove_member: Optional["OctokitTeamsRemoveMember"] - remove_membership: Optional["OctokitTeamsRemoveMembership"] - remove_project: Optional["OctokitTeamsRemoveProject"] - remove_repo: Optional["OctokitTeamsRemoveRepo"] - review_project: Optional["OctokitTeamsReviewProject"] - update: Optional["OctokitTeamsUpdate"] - update_discussion: Optional["OctokitTeamsUpdateDiscussion"] - update_discussion_comment: Optional["OctokitTeamsUpdateDiscussionComment"] - - class Config: - fields = { - "add_member": "addMember", - "add_or_update_membership": "addOrUpdateMembership", - "add_or_update_project": "addOrUpdateProject", - "add_or_update_repo": "addOrUpdateRepo", - "check_manages_repo": "checkManagesRepo", - "create": "create", - "create_discussion": "createDiscussion", - "create_discussion_comment": "createDiscussionComment", - "delete": "delete", - "delete_discussion": "deleteDiscussion", - "delete_discussion_comment": "deleteDiscussionComment", - "get": "get", - "get_discussion": "getDiscussion", - "get_discussion_comment": "getDiscussionComment", - "get_member": "getMember", - "get_membership": "getMembership", - "list": "list", - "list_child": "listChild", - "list_discussion_comments": "listDiscussionComments", - "list_discussions": "listDiscussions", - "list_for_authenticated_user": "listForAuthenticatedUser", - "list_members": "listMembers", - "list_pending_invitations": "listPendingInvitations", - "list_projects": "listProjects", - "list_repos": "listRepos", - "remove_member": "removeMember", - "remove_membership": "removeMembership", - "remove_project": "removeProject", - "remove_repo": "removeRepo", - "review_project": "reviewProject", - "update": "update", - "update_discussion": "updateDiscussion", - "update_discussion_comment": "updateDiscussionComment", - } - - -class OctokitTeamsAddMember(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeamsAddOrUpdateMembership(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeamsAddOrUpdateProject(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeamsAddOrUpdateRepo(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeamsCheckManagesRepo(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeamsCreate(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeamsCreateDiscussion(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeamsCreateDiscussionComment(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeamsDelete(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeamsDeleteDiscussion(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeamsDeleteDiscussionComment(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeamsGet(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeamsGetDiscussion(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeamsGetDiscussionComment(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeamsGetMember(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeamsGetMembership(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeamsList(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeamsListChild(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeamsListDiscussionComments(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeamsListDiscussions(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeamsListForAuthenticatedUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeamsListMembers(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeamsListPendingInvitations(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeamsListProjects(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeamsListRepos(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeamsRemoveMember(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeamsRemoveMembership(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeamsRemoveProject(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeamsRemoveRepo(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeamsReviewProject(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeamsUpdate(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeamsUpdateDiscussion(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitTeamsUpdateDiscussionComment(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitUsers(BaseModel): - add_emails: Optional["OctokitUsersAddEmails"] - block: Optional["OctokitUsersBlock"] - check_blocked: Optional["OctokitUsersCheckBlocked"] - check_following: Optional["OctokitUsersCheckFollowing"] - check_following_for_user: Optional["OctokitUsersCheckFollowingForUser"] - create_gpg_key: Optional["OctokitUsersCreateGpgKey"] - create_public_key: Optional["OctokitUsersCreatePublicKey"] - delete_emails: Optional["OctokitUsersDeleteEmails"] - delete_gpg_key: Optional["OctokitUsersDeleteGpgKey"] - delete_public_key: Optional["OctokitUsersDeletePublicKey"] - follow: Optional["OctokitUsersFollow"] - get_authenticated: Optional["OctokitUsersGetAuthenticated"] - get_by_username: Optional["OctokitUsersGetByUsername"] - get_context_for_user: Optional["OctokitUsersGetContextForUser"] - get_gpg_key: Optional["OctokitUsersGetGpgKey"] - get_public_key: Optional["OctokitUsersGetPublicKey"] - list: Optional["OctokitUsersList"] - list_blocked: Optional["OctokitUsersListBlocked"] - list_emails: Optional["OctokitUsersListEmails"] - list_followers_for_authenticated_user: Optional[ - "OctokitUsersListFollowersForAuthenticatedUser" - ] - list_followers_for_user: Optional["OctokitUsersListFollowersForUser"] - list_following_for_authenticated_user: Optional[ - "OctokitUsersListFollowingForAuthenticatedUser" - ] - list_following_for_user: Optional["OctokitUsersListFollowingForUser"] - list_gpg_keys: Optional["OctokitUsersListGpgKeys"] - list_gpg_keys_for_user: Optional["OctokitUsersListGpgKeysForUser"] - list_public_emails: Optional["OctokitUsersListPublicEmails"] - list_public_keys: Optional["OctokitUsersListPublicKeys"] - list_public_keys_for_user: Optional["OctokitUsersListPublicKeysForUser"] - toggle_primary_email_visibility: Optional[ - "OctokitUsersTogglePrimaryEmailVisibility" - ] - unblock: Optional["OctokitUsersUnblock"] - unfollow: Optional["OctokitUsersUnfollow"] - update_authenticated: Optional["OctokitUsersUpdateAuthenticated"] - - class Config: - fields = { - "add_emails": "addEmails", - "block": "block", - "check_blocked": "checkBlocked", - "check_following": "checkFollowing", - "check_following_for_user": "checkFollowingForUser", - "create_gpg_key": "createGpgKey", - "create_public_key": "createPublicKey", - "delete_emails": "deleteEmails", - "delete_gpg_key": "deleteGpgKey", - "delete_public_key": "deletePublicKey", - "follow": "follow", - "get_authenticated": "getAuthenticated", - "get_by_username": "getByUsername", - "get_context_for_user": "getContextForUser", - "get_gpg_key": "getGpgKey", - "get_public_key": "getPublicKey", - "list": "list", - "list_blocked": "listBlocked", - "list_emails": "listEmails", - "list_followers_for_authenticated_user": "listFollowersForAuthenticatedUser", - "list_followers_for_user": "listFollowersForUser", - "list_following_for_authenticated_user": "listFollowingForAuthenticatedUser", - "list_following_for_user": "listFollowingForUser", - "list_gpg_keys": "listGpgKeys", - "list_gpg_keys_for_user": "listGpgKeysForUser", - "list_public_emails": "listPublicEmails", - "list_public_keys": "listPublicKeys", - "list_public_keys_for_user": "listPublicKeysForUser", - "toggle_primary_email_visibility": "togglePrimaryEmailVisibility", - "unblock": "unblock", - "unfollow": "unfollow", - "update_authenticated": "updateAuthenticated", - } - - -class OctokitUsersAddEmails(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitUsersBlock(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitUsersCheckBlocked(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitUsersCheckFollowing(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitUsersCheckFollowingForUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitUsersCreateGpgKey(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitUsersCreatePublicKey(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitUsersDeleteEmails(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitUsersDeleteGpgKey(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitUsersDeletePublicKey(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitUsersFollow(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitUsersGetAuthenticated(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitUsersGetByUsername(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitUsersGetContextForUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitUsersGetGpgKey(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitUsersGetPublicKey(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitUsersList(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitUsersListBlocked(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitUsersListEmails(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitUsersListFollowersForAuthenticatedUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitUsersListFollowersForUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitUsersListFollowingForAuthenticatedUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitUsersListFollowingForUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitUsersListGpgKeys(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitUsersListGpgKeysForUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitUsersListPublicEmails(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitUsersListPublicKeys(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitUsersListPublicKeysForUser(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitUsersTogglePrimaryEmailVisibility(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitUsersUnblock(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitUsersUnfollow(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class OctokitUsersUpdateAuthenticated(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -class Paginate(BaseModel): - iterator: Optional["PaginateIterator"] - - class Config: - fields = { - "iterator": "iterator", - } - - -class PaginateIterator(BaseModel): - pass - - -class RepoMetaData(BaseModel): - pull_request_id: str | None - repo_slug: str | None - - class Config: - fields = { - "pull_request_id": "pullRequestID", - "repo_slug": "repoSlug", - } - - -class Request(BaseModel): - endpoint: Optional["Endpoint"] - - class Config: - fields = { - "endpoint": "endpoint", - } - - -BitBucketCloudCommit.update_forward_refs() - -BitBucketCloudCommitAuthor.update_forward_refs() - -BitBucketCloudCommitParents.update_forward_refs() - -BitBucketCloudCommitsLinks.update_forward_refs() - -BitBucketCloudCommitsLinksHtml.update_forward_refs() - -BitBucketCloudCompletePRLinks.update_forward_refs() - -BitBucketCloudCompletePRLinksActivity.update_forward_refs() - -BitBucketCloudCompletePRLinksApprove.update_forward_refs() - -BitBucketCloudCompletePRLinksComments.update_forward_refs() - -BitBucketCloudCompletePRLinksCommits.update_forward_refs() - -BitBucketCloudCompletePRLinksDecline.update_forward_refs() - -BitBucketCloudCompletePRLinksDiff.update_forward_refs() - -BitBucketCloudCompletePRLinksHtml.update_forward_refs() - -BitBucketCloudCompletePRLinksMerge.update_forward_refs() - -BitBucketCloudCompletePRLinksSelf.update_forward_refs() - -BitBucketCloudCompletePRLinksStatuses.update_forward_refs() - -BitBucketCloudContent.update_forward_refs() - - -BitBucketCloudJSONDSL.update_forward_refs() - -BitBucketCloudMergeRef.update_forward_refs() - -BitBucketCloudMergeRefBranch.update_forward_refs() - -BitBucketCloudMergeRefCommit.update_forward_refs() - -BitBucketCloudPRActivity.update_forward_refs() - -BitBucketCloudPRActivityPullRequest.update_forward_refs() - -BitBucketCloudPRComment.update_forward_refs() - -BitBucketCloudPRCommentInline.update_forward_refs() - -BitBucketCloudPRCommentPullrequest.update_forward_refs() - -BitBucketCloudPRDSL.update_forward_refs() - - -BitBucketCloudPRLinks.update_forward_refs() - -BitBucketCloudPRLinksHtml.update_forward_refs() - -BitBucketCloudPRLinksSelf.update_forward_refs() - -BitBucketCloudPRParticipant.update_forward_refs() - - -BitBucketCloudRepo.update_forward_refs() - -BitBucketCloudUser.update_forward_refs() - -BitBucketServerCommit.update_forward_refs() - -BitBucketServerCommitAuthor.update_forward_refs() - -BitBucketServerCommitCommitter.update_forward_refs() - -BitBucketServerCommitParents.update_forward_refs() - -BitBucketServerJSONDSL.update_forward_refs() - - -BitBucketServerMergeRef.update_forward_refs() - -BitBucketServerPRActivity.update_forward_refs() - - -BitBucketServerPRActivityCommentAnchor.update_forward_refs() - - -BitBucketServerPRComment.update_forward_refs() - -BitBucketServerPRCommentParent.update_forward_refs() - -BitBucketServerPRCommentPermittedOperations.update_forward_refs() - -BitBucketServerPRDSL.update_forward_refs() - - -BitBucketServerPRParticipant.update_forward_refs() - - -BitBucketServerRepo.update_forward_refs() - -BitBucketServerRepoProject.update_forward_refs() - - -BitBucketServerUser.update_forward_refs() - - -CliArgs.update_forward_refs() - -DangerDSLJSONType.update_forward_refs() - -DangerDSLJSONTypeSettings.update_forward_refs() - -DangerDSLJSONTypeSettingsGithub.update_forward_refs() - -Endpoint.update_forward_refs() - -EndpointOptions.update_forward_refs() - -EndpointOptionsHeaders.update_forward_refs() - - -EndpointOptionsRequest.update_forward_refs() - -GitCommit.update_forward_refs() - -GitCommitAuthor.update_forward_refs() - -GitHubAPIPR.update_forward_refs() - -GitHubCommit.update_forward_refs() - -GitHubDSL.update_forward_refs() - -GitHubIssue.update_forward_refs() - -GitHubIssueLabel.update_forward_refs() - -GitHubMergeRef.update_forward_refs() - -GitHubPRDSL.update_forward_refs() - - -GitHubRepo.update_forward_refs() - -GitHubReview.update_forward_refs() - - -GitHubReviewers.update_forward_refs() - -GitHubUser.update_forward_refs() - - -GitHubUtilsDSL.update_forward_refs() - -GitHubUtilsDSLCreateOrAddLabel.update_forward_refs() - -GitHubUtilsDSLCreateOrUpdatePR.update_forward_refs() - -GitHubUtilsDSLCreateUpdatedIssueWithID.update_forward_refs() - -GitJSONDSL.update_forward_refs() - -GitLabDSL.update_forward_refs() - -GitLabDSLUtils.update_forward_refs() - -GitLabMR.update_forward_refs() - -GitLabMRCommit.update_forward_refs() - -GitLabMRDiffRefs.update_forward_refs() - - -GitLabMRMilestone.update_forward_refs() - - -GitLabMRPipeline.update_forward_refs() - - -GitLabMRTimeStats.update_forward_refs() - -GitLabMRUser.update_forward_refs() - -GitLabUser.update_forward_refs() - - -JIRAIssue.update_forward_refs() - -Log.update_forward_refs() - -LogDebug.update_forward_refs() - -LogError.update_forward_refs() - -LogInfo.update_forward_refs() - -LogWarn.update_forward_refs() - -Octokit.update_forward_refs() - -OctokitActivity.update_forward_refs() - -OctokitActivityCheckStarringRepo.update_forward_refs() - -OctokitActivityDeleteRepoSubscription.update_forward_refs() - -OctokitActivityDeleteThreadSubscription.update_forward_refs() - -OctokitActivityGetRepoSubscription.update_forward_refs() - -OctokitActivityGetThread.update_forward_refs() - -OctokitActivityGetThreadSubscription.update_forward_refs() - -OctokitActivityListEventsForOrg.update_forward_refs() - -OctokitActivityListEventsForUser.update_forward_refs() - -OctokitActivityListFeeds.update_forward_refs() - -OctokitActivityListNotifications.update_forward_refs() - -OctokitActivityListNotificationsForRepo.update_forward_refs() - -OctokitActivityListPublicEvents.update_forward_refs() - -OctokitActivityListPublicEventsForOrg.update_forward_refs() - -OctokitActivityListPublicEventsForRepoNetwork.update_forward_refs() - -OctokitActivityListPublicEventsForUser.update_forward_refs() - -OctokitActivityListReceivedEventsForUser.update_forward_refs() - -OctokitActivityListReceivedPublicEventsForUser.update_forward_refs() - -OctokitActivityListRepoEvents.update_forward_refs() - -OctokitActivityListReposStarredByAuthenticatedUser.update_forward_refs() - -OctokitActivityListReposStarredByUser.update_forward_refs() - -OctokitActivityListReposWatchedByUser.update_forward_refs() - -OctokitActivityListStargazersForRepo.update_forward_refs() - -OctokitActivityListWatchedReposForAuthenticatedUser.update_forward_refs() - -OctokitActivityListWatchersForRepo.update_forward_refs() - -OctokitActivityMarkAsRead.update_forward_refs() - -OctokitActivityMarkNotificationsAsReadForRepo.update_forward_refs() - -OctokitActivityMarkThreadAsRead.update_forward_refs() - -OctokitActivitySetRepoSubscription.update_forward_refs() - -OctokitActivitySetThreadSubscription.update_forward_refs() - -OctokitActivityStarRepo.update_forward_refs() - -OctokitActivityUnstarRepo.update_forward_refs() - -OctokitApps.update_forward_refs() - -OctokitAppsAddRepoToInstallation.update_forward_refs() - -OctokitAppsCheckAccountIsAssociatedWithAny.update_forward_refs() - -OctokitAppsCheckAccountIsAssociatedWithAnyStubbed.update_forward_refs() - -OctokitAppsCreateContentAttachment.update_forward_refs() - -OctokitAppsCreateFromManifest.update_forward_refs() - -OctokitAppsCreateInstallationToken.update_forward_refs() - -OctokitAppsFindOrgInstallation.update_forward_refs() - -OctokitAppsFindRepoInstallation.update_forward_refs() - -OctokitAppsFindUserInstallation.update_forward_refs() - -OctokitAppsGetAuthenticated.update_forward_refs() - -OctokitAppsGetBySlug.update_forward_refs() - -OctokitAppsGetInstallation.update_forward_refs() - -OctokitAppsListAccountsUserOrOrgOnPlan.update_forward_refs() - -OctokitAppsListAccountsUserOrOrgOnPlanStubbed.update_forward_refs() - -OctokitAppsListInstallationReposForAuthenticatedUser.update_forward_refs() - -OctokitAppsListInstallations.update_forward_refs() - -OctokitAppsListInstallationsForAuthenticatedUser.update_forward_refs() - -OctokitAppsListMarketplacePurchasesForAuthenticatedUser.update_forward_refs() - -OctokitAppsListMarketplacePurchasesForAuthenticatedUserStubbed.update_forward_refs() - -OctokitAppsListPlans.update_forward_refs() - -OctokitAppsListPlansStubbed.update_forward_refs() - -OctokitAppsListRepos.update_forward_refs() - -OctokitAppsRemoveRepoFromInstallation.update_forward_refs() - -OctokitChecks.update_forward_refs() - -OctokitChecksCreate.update_forward_refs() - -OctokitChecksCreateSuite.update_forward_refs() - -OctokitChecksGet.update_forward_refs() - -OctokitChecksGetSuite.update_forward_refs() - -OctokitChecksListAnnotations.update_forward_refs() - -OctokitChecksListForRef.update_forward_refs() - -OctokitChecksListForSuite.update_forward_refs() - -OctokitChecksListSuitesForRef.update_forward_refs() - -OctokitChecksRerequestSuite.update_forward_refs() - -OctokitChecksSetSuitesPreferences.update_forward_refs() - -OctokitChecksUpdate.update_forward_refs() - -OctokitCodesOfConduct.update_forward_refs() - -OctokitCodesOfConductGetConductCode.update_forward_refs() - -OctokitCodesOfConductGetForRepo.update_forward_refs() - -OctokitCodesOfConductListConductCodes.update_forward_refs() - -OctokitEmojis.update_forward_refs() - -OctokitEmojisGet.update_forward_refs() - -OctokitGists.update_forward_refs() - -OctokitGistsCheckIsStarred.update_forward_refs() - -OctokitGistsCreate.update_forward_refs() - -OctokitGistsCreateComment.update_forward_refs() - -OctokitGistsDelete.update_forward_refs() - -OctokitGistsDeleteComment.update_forward_refs() - -OctokitGistsFork.update_forward_refs() - -OctokitGistsGet.update_forward_refs() - -OctokitGistsGetComment.update_forward_refs() - -OctokitGistsGetRevision.update_forward_refs() - -OctokitGistsList.update_forward_refs() - -OctokitGistsListComments.update_forward_refs() - -OctokitGistsListCommits.update_forward_refs() - -OctokitGistsListForks.update_forward_refs() - -OctokitGistsListPublic.update_forward_refs() - -OctokitGistsListPublicForUser.update_forward_refs() - -OctokitGistsListStarred.update_forward_refs() - -OctokitGistsStar.update_forward_refs() - -OctokitGistsUnstar.update_forward_refs() - -OctokitGistsUpdate.update_forward_refs() - -OctokitGistsUpdateComment.update_forward_refs() - -OctokitGit.update_forward_refs() - -OctokitGitCreateBlob.update_forward_refs() - -OctokitGitCreateCommit.update_forward_refs() - -OctokitGitCreateRef.update_forward_refs() - -OctokitGitCreateTag.update_forward_refs() - -OctokitGitCreateTree.update_forward_refs() - -OctokitGitDeleteRef.update_forward_refs() - -OctokitGitGetBlob.update_forward_refs() - -OctokitGitGetCommit.update_forward_refs() - -OctokitGitGetRef.update_forward_refs() - -OctokitGitGetTag.update_forward_refs() - -OctokitGitGetTree.update_forward_refs() - -OctokitGitListRefs.update_forward_refs() - -OctokitGitUpdateRef.update_forward_refs() - -OctokitGitignore.update_forward_refs() - -OctokitGitignoreGetTemplate.update_forward_refs() - -OctokitGitignoreListTemplates.update_forward_refs() - -OctokitHook.update_forward_refs() - -OctokitInteractions.update_forward_refs() - -OctokitInteractionsAddOrUpdateRestrictionsForOrg.update_forward_refs() - -OctokitInteractionsAddOrUpdateRestrictionsForRepo.update_forward_refs() - -OctokitInteractionsGetRestrictionsForOrg.update_forward_refs() - -OctokitInteractionsGetRestrictionsForRepo.update_forward_refs() - -OctokitInteractionsRemoveRestrictionsForOrg.update_forward_refs() - -OctokitInteractionsRemoveRestrictionsForRepo.update_forward_refs() - -OctokitIssues.update_forward_refs() - -OctokitIssuesAddAssignees.update_forward_refs() - -OctokitIssuesAddLabels.update_forward_refs() - -OctokitIssuesCheckAssignee.update_forward_refs() - -OctokitIssuesCreate.update_forward_refs() - -OctokitIssuesCreateComment.update_forward_refs() - -OctokitIssuesCreateLabel.update_forward_refs() - -OctokitIssuesCreateMilestone.update_forward_refs() - -OctokitIssuesDeleteComment.update_forward_refs() - -OctokitIssuesDeleteLabel.update_forward_refs() - -OctokitIssuesDeleteMilestone.update_forward_refs() - -OctokitIssuesGet.update_forward_refs() - -OctokitIssuesGetComment.update_forward_refs() - -OctokitIssuesGetEvent.update_forward_refs() - -OctokitIssuesGetLabel.update_forward_refs() - -OctokitIssuesGetMilestone.update_forward_refs() - -OctokitIssuesList.update_forward_refs() - -OctokitIssuesListAssignees.update_forward_refs() - -OctokitIssuesListComments.update_forward_refs() - -OctokitIssuesListCommentsForRepo.update_forward_refs() - -OctokitIssuesListEvents.update_forward_refs() - -OctokitIssuesListEventsForRepo.update_forward_refs() - -OctokitIssuesListEventsForTimeline.update_forward_refs() - -OctokitIssuesListForAuthenticatedUser.update_forward_refs() - -OctokitIssuesListForOrg.update_forward_refs() - -OctokitIssuesListForRepo.update_forward_refs() - -OctokitIssuesListLabelsForMilestone.update_forward_refs() - -OctokitIssuesListLabelsForRepo.update_forward_refs() - -OctokitIssuesListLabelsOnIssue.update_forward_refs() - -OctokitIssuesListMilestonesForRepo.update_forward_refs() - -OctokitIssuesLock.update_forward_refs() - -OctokitIssuesRemoveAssignees.update_forward_refs() - -OctokitIssuesRemoveLabel.update_forward_refs() - -OctokitIssuesRemoveLabels.update_forward_refs() - -OctokitIssuesReplaceLabels.update_forward_refs() - -OctokitIssuesUnlock.update_forward_refs() - -OctokitIssuesUpdate.update_forward_refs() - -OctokitIssuesUpdateComment.update_forward_refs() - -OctokitIssuesUpdateLabel.update_forward_refs() - -OctokitIssuesUpdateMilestone.update_forward_refs() - -OctokitLicenses.update_forward_refs() - -OctokitLicensesGet.update_forward_refs() - -OctokitLicensesGetForRepo.update_forward_refs() - -OctokitLicensesList.update_forward_refs() - -OctokitMarkdown.update_forward_refs() - -OctokitMarkdownRender.update_forward_refs() - -OctokitMarkdownRenderRaw.update_forward_refs() - -OctokitMeta.update_forward_refs() - -OctokitMetaGet.update_forward_refs() - -OctokitMigrations.update_forward_refs() - -OctokitMigrationsCancelImport.update_forward_refs() - -OctokitMigrationsDeleteArchiveForAuthenticatedUser.update_forward_refs() - -OctokitMigrationsDeleteArchiveForOrg.update_forward_refs() - -OctokitMigrationsGetArchiveForAuthenticatedUser.update_forward_refs() - -OctokitMigrationsGetArchiveForOrg.update_forward_refs() - -OctokitMigrationsGetCommitAuthors.update_forward_refs() - -OctokitMigrationsGetImportProgress.update_forward_refs() - -OctokitMigrationsGetLargeFiles.update_forward_refs() - -OctokitMigrationsGetStatusForAuthenticatedUser.update_forward_refs() - -OctokitMigrationsGetStatusForOrg.update_forward_refs() - -OctokitMigrationsListForAuthenticatedUser.update_forward_refs() - -OctokitMigrationsListForOrg.update_forward_refs() - -OctokitMigrationsMapCommitAuthor.update_forward_refs() - -OctokitMigrationsSetLfsPreference.update_forward_refs() - -OctokitMigrationsStartForAuthenticatedUser.update_forward_refs() - -OctokitMigrationsStartForOrg.update_forward_refs() - -OctokitMigrationsStartImport.update_forward_refs() - -OctokitMigrationsUnlockRepoForAuthenticatedUser.update_forward_refs() - -OctokitMigrationsUnlockRepoForOrg.update_forward_refs() - -OctokitMigrationsUpdateImport.update_forward_refs() - -OctokitOauthAuthorizations.update_forward_refs() - -OctokitOauthAuthorizationsCheckAuthorization.update_forward_refs() - -OctokitOauthAuthorizationsCreateAuthorization.update_forward_refs() - -OctokitOauthAuthorizationsDeleteAuthorization.update_forward_refs() - -OctokitOauthAuthorizationsDeleteGrant.update_forward_refs() - -OctokitOauthAuthorizationsGetAuthorization.update_forward_refs() - -OctokitOauthAuthorizationsGetGrant.update_forward_refs() - -OctokitOauthAuthorizationsGetOrCreateAuthorizationForApp.update_forward_refs() - -OctokitOauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprint.update_forward_refs() - -OctokitOauthAuthorizationsGetOrCreateAuthorizationForAppFingerprint.update_forward_refs() - -OctokitOauthAuthorizationsListAuthorizations.update_forward_refs() - -OctokitOauthAuthorizationsListGrants.update_forward_refs() - -OctokitOauthAuthorizationsResetAuthorization.update_forward_refs() - -OctokitOauthAuthorizationsRevokeAuthorizationForApplication.update_forward_refs() - -OctokitOauthAuthorizationsRevokeGrantForApplication.update_forward_refs() - -OctokitOauthAuthorizationsUpdateAuthorization.update_forward_refs() - -OctokitOrgs.update_forward_refs() - -OctokitOrgsAddOrUpdateMembership.update_forward_refs() - -OctokitOrgsBlockUser.update_forward_refs() - -OctokitOrgsCheckBlockedUser.update_forward_refs() - -OctokitOrgsCheckMembership.update_forward_refs() - -OctokitOrgsCheckPublicMembership.update_forward_refs() - -OctokitOrgsConcealMembership.update_forward_refs() - -OctokitOrgsConvertMemberToOutsideCollaborator.update_forward_refs() - -OctokitOrgsCreateHook.update_forward_refs() - -OctokitOrgsCreateInvitation.update_forward_refs() - -OctokitOrgsDeleteHook.update_forward_refs() - -OctokitOrgsGet.update_forward_refs() - -OctokitOrgsGetHook.update_forward_refs() - -OctokitOrgsGetMembership.update_forward_refs() - -OctokitOrgsGetMembershipForAuthenticatedUser.update_forward_refs() - -OctokitOrgsList.update_forward_refs() - -OctokitOrgsListBlockedUsers.update_forward_refs() - -OctokitOrgsListForAuthenticatedUser.update_forward_refs() - -OctokitOrgsListForUser.update_forward_refs() - -OctokitOrgsListHooks.update_forward_refs() - -OctokitOrgsListInvitationTeams.update_forward_refs() - -OctokitOrgsListMembers.update_forward_refs() - -OctokitOrgsListMemberships.update_forward_refs() - -OctokitOrgsListOutsideCollaborators.update_forward_refs() - -OctokitOrgsListPendingInvitations.update_forward_refs() - -OctokitOrgsListPublicMembers.update_forward_refs() - -OctokitOrgsPingHook.update_forward_refs() - -OctokitOrgsPublicizeMembership.update_forward_refs() - -OctokitOrgsRemoveMember.update_forward_refs() - -OctokitOrgsRemoveMembership.update_forward_refs() - -OctokitOrgsRemoveOutsideCollaborator.update_forward_refs() - -OctokitOrgsUnblockUser.update_forward_refs() - -OctokitOrgsUpdate.update_forward_refs() - -OctokitOrgsUpdateHook.update_forward_refs() - -OctokitOrgsUpdateMembership.update_forward_refs() - -OctokitProjects.update_forward_refs() - -OctokitProjectsAddCollaborator.update_forward_refs() - -OctokitProjectsCreateCard.update_forward_refs() - -OctokitProjectsCreateColumn.update_forward_refs() - -OctokitProjectsCreateForOrg.update_forward_refs() - -OctokitProjectsCreateForRepo.update_forward_refs() - -OctokitProjectsDelete.update_forward_refs() - -OctokitProjectsDeleteCard.update_forward_refs() - -OctokitProjectsDeleteColumn.update_forward_refs() - -OctokitProjectsGet.update_forward_refs() - -OctokitProjectsGetCard.update_forward_refs() - -OctokitProjectsGetColumn.update_forward_refs() - -OctokitProjectsListCards.update_forward_refs() - -OctokitProjectsListCollaborators.update_forward_refs() - -OctokitProjectsListColumns.update_forward_refs() - -OctokitProjectsListForOrg.update_forward_refs() - -OctokitProjectsListForRepo.update_forward_refs() - -OctokitProjectsMoveCard.update_forward_refs() - -OctokitProjectsMoveColumn.update_forward_refs() - -OctokitProjectsRemoveCollaborator.update_forward_refs() - -OctokitProjectsReviewUserPermissionLevel.update_forward_refs() - -OctokitProjectsUpdate.update_forward_refs() - -OctokitProjectsUpdateCard.update_forward_refs() - -OctokitProjectsUpdateColumn.update_forward_refs() - -OctokitPulls.update_forward_refs() - -OctokitPullsCheckIfMerged.update_forward_refs() - -OctokitPullsCreate.update_forward_refs() - -OctokitPullsCreateComment.update_forward_refs() - -OctokitPullsCreateCommentReply.update_forward_refs() - -OctokitPullsCreateFromIssue.update_forward_refs() - -OctokitPullsCreateReview.update_forward_refs() - -OctokitPullsCreateReviewRequest.update_forward_refs() - -OctokitPullsDeleteComment.update_forward_refs() - -OctokitPullsDeletePendingReview.update_forward_refs() - -OctokitPullsDeleteReviewRequest.update_forward_refs() - -OctokitPullsDismissReview.update_forward_refs() - -OctokitPullsGet.update_forward_refs() - -OctokitPullsGetComment.update_forward_refs() - -OctokitPullsGetCommentsForReview.update_forward_refs() - -OctokitPullsGetReview.update_forward_refs() - -OctokitPullsList.update_forward_refs() - -OctokitPullsListComments.update_forward_refs() - -OctokitPullsListCommentsForRepo.update_forward_refs() - -OctokitPullsListCommits.update_forward_refs() - -OctokitPullsListFiles.update_forward_refs() - -OctokitPullsListReviewRequests.update_forward_refs() - -OctokitPullsListReviews.update_forward_refs() - -OctokitPullsMerge.update_forward_refs() - -OctokitPullsSubmitReview.update_forward_refs() - -OctokitPullsUpdate.update_forward_refs() - -OctokitPullsUpdateComment.update_forward_refs() - -OctokitPullsUpdateReview.update_forward_refs() - -OctokitRateLimit.update_forward_refs() - -OctokitRateLimitGet.update_forward_refs() - -OctokitReactions.update_forward_refs() - -OctokitReactionsCreateForCommitComment.update_forward_refs() - -OctokitReactionsCreateForIssue.update_forward_refs() - -OctokitReactionsCreateForIssueComment.update_forward_refs() - -OctokitReactionsCreateForPullRequestReviewComment.update_forward_refs() - -OctokitReactionsCreateForTeamDiscussion.update_forward_refs() - -OctokitReactionsCreateForTeamDiscussionComment.update_forward_refs() - -OctokitReactionsDelete.update_forward_refs() - -OctokitReactionsListForCommitComment.update_forward_refs() - -OctokitReactionsListForIssue.update_forward_refs() - -OctokitReactionsListForIssueComment.update_forward_refs() - -OctokitReactionsListForPullRequestReviewComment.update_forward_refs() - -OctokitReactionsListForTeamDiscussion.update_forward_refs() - -OctokitReactionsListForTeamDiscussionComment.update_forward_refs() - -OctokitRepos.update_forward_refs() - -OctokitReposAcceptInvitation.update_forward_refs() - -OctokitReposAddCollaborator.update_forward_refs() - -OctokitReposAddDeployKey.update_forward_refs() - -OctokitReposAddProtectedBranchAdminEnforcement.update_forward_refs() - -OctokitReposAddProtectedBranchRequiredSignatures.update_forward_refs() - -OctokitReposAddProtectedBranchRequiredStatusChecksContexts.update_forward_refs() - -OctokitReposAddProtectedBranchTeamRestrictions.update_forward_refs() - -OctokitReposAddProtectedBranchUserRestrictions.update_forward_refs() - -OctokitReposCheckCollaborator.update_forward_refs() - -OctokitReposCompareCommits.update_forward_refs() - -OctokitReposCreateCommitComment.update_forward_refs() - -OctokitReposCreateDeployment.update_forward_refs() - -OctokitReposCreateDeploymentStatus.update_forward_refs() - -OctokitReposCreateFile.update_forward_refs() - -OctokitReposCreateForAuthenticatedUser.update_forward_refs() - -OctokitReposCreateFork.update_forward_refs() - -OctokitReposCreateHook.update_forward_refs() - -OctokitReposCreateInOrg.update_forward_refs() - -OctokitReposCreateRelease.update_forward_refs() - -OctokitReposCreateStatus.update_forward_refs() - -OctokitReposDeclineInvitation.update_forward_refs() - -OctokitReposDelete.update_forward_refs() - -OctokitReposDeleteCommitComment.update_forward_refs() - -OctokitReposDeleteDownload.update_forward_refs() - -OctokitReposDeleteFile.update_forward_refs() - -OctokitReposDeleteHook.update_forward_refs() - -OctokitReposDeleteInvitation.update_forward_refs() - -OctokitReposDeleteRelease.update_forward_refs() - -OctokitReposDeleteReleaseAsset.update_forward_refs() - -OctokitReposGet.update_forward_refs() - -OctokitReposGetArchiveLink.update_forward_refs() - -OctokitReposGetBranch.update_forward_refs() - -OctokitReposGetBranchProtection.update_forward_refs() - -OctokitReposGetClones.update_forward_refs() - -OctokitReposGetCodeFrequencyStats.update_forward_refs() - -OctokitReposGetCollaboratorPermissionLevel.update_forward_refs() - -OctokitReposGetCombinedStatusForRef.update_forward_refs() - -OctokitReposGetCommit.update_forward_refs() - -OctokitReposGetCommitActivityStats.update_forward_refs() - -OctokitReposGetCommitComment.update_forward_refs() - -OctokitReposGetCommitRefSha.update_forward_refs() - -OctokitReposGetContents.update_forward_refs() - -OctokitReposGetContributorsStats.update_forward_refs() - -OctokitReposGetDeployKey.update_forward_refs() - -OctokitReposGetDeployment.update_forward_refs() - -OctokitReposGetDeploymentStatus.update_forward_refs() - -OctokitReposGetDownload.update_forward_refs() - -OctokitReposGetHook.update_forward_refs() - -OctokitReposGetLatestPagesBuild.update_forward_refs() - -OctokitReposGetLatestRelease.update_forward_refs() - -OctokitReposGetPages.update_forward_refs() - -OctokitReposGetPagesBuild.update_forward_refs() - -OctokitReposGetParticipationStats.update_forward_refs() - -OctokitReposGetProtectedBranchAdminEnforcement.update_forward_refs() - -OctokitReposGetProtectedBranchPullRequestReviewEnforcement.update_forward_refs() - -OctokitReposGetProtectedBranchRequiredSignatures.update_forward_refs() - -OctokitReposGetProtectedBranchRequiredStatusChecks.update_forward_refs() - -OctokitReposGetProtectedBranchRestrictions.update_forward_refs() - -OctokitReposGetPunchCardStats.update_forward_refs() - -OctokitReposGetReadme.update_forward_refs() - -OctokitReposGetRelease.update_forward_refs() - -OctokitReposGetReleaseAsset.update_forward_refs() - -OctokitReposGetReleaseByTag.update_forward_refs() - -OctokitReposGetTopPaths.update_forward_refs() - -OctokitReposGetTopReferrers.update_forward_refs() - -OctokitReposGetViews.update_forward_refs() - -OctokitReposList.update_forward_refs() - -OctokitReposListAssetsForRelease.update_forward_refs() - -OctokitReposListBranches.update_forward_refs() - -OctokitReposListCollaborators.update_forward_refs() - -OctokitReposListCommentsForCommit.update_forward_refs() - -OctokitReposListCommitComments.update_forward_refs() - -OctokitReposListCommits.update_forward_refs() - -OctokitReposListContributors.update_forward_refs() - -OctokitReposListDeployKeys.update_forward_refs() - -OctokitReposListDeploymentStatuses.update_forward_refs() - -OctokitReposListDeployments.update_forward_refs() - -OctokitReposListDownloads.update_forward_refs() - -OctokitReposListForOrg.update_forward_refs() - -OctokitReposListForUser.update_forward_refs() - -OctokitReposListForks.update_forward_refs() - -OctokitReposListHooks.update_forward_refs() - -OctokitReposListInvitations.update_forward_refs() - -OctokitReposListInvitationsForAuthenticatedUser.update_forward_refs() - -OctokitReposListLanguages.update_forward_refs() - -OctokitReposListPagesBuilds.update_forward_refs() - -OctokitReposListProtectedBranchRequiredStatusChecksContexts.update_forward_refs() - -OctokitReposListProtectedBranchTeamRestrictions.update_forward_refs() - -OctokitReposListProtectedBranchUserRestrictions.update_forward_refs() - -OctokitReposListPublic.update_forward_refs() - -OctokitReposListReleases.update_forward_refs() - -OctokitReposListStatusesForRef.update_forward_refs() - -OctokitReposListTags.update_forward_refs() - -OctokitReposListTeams.update_forward_refs() - -OctokitReposListTopics.update_forward_refs() - -OctokitReposMerge.update_forward_refs() - -OctokitReposPingHook.update_forward_refs() - -OctokitReposRemoveBranchProtection.update_forward_refs() - -OctokitReposRemoveCollaborator.update_forward_refs() - -OctokitReposRemoveDeployKey.update_forward_refs() - -OctokitReposRemoveProtectedBranchAdminEnforcement.update_forward_refs() - -OctokitReposRemoveProtectedBranchPullRequestReviewEnforcement.update_forward_refs() - -OctokitReposRemoveProtectedBranchRequiredSignatures.update_forward_refs() - -OctokitReposRemoveProtectedBranchRequiredStatusChecks.update_forward_refs() - -OctokitReposRemoveProtectedBranchRequiredStatusChecksContexts.update_forward_refs() - -OctokitReposRemoveProtectedBranchRestrictions.update_forward_refs() - -OctokitReposRemoveProtectedBranchTeamRestrictions.update_forward_refs() - -OctokitReposRemoveProtectedBranchUserRestrictions.update_forward_refs() - -OctokitReposReplaceProtectedBranchRequiredStatusChecksContexts.update_forward_refs() - -OctokitReposReplaceProtectedBranchTeamRestrictions.update_forward_refs() - -OctokitReposReplaceProtectedBranchUserRestrictions.update_forward_refs() - -OctokitReposReplaceTopics.update_forward_refs() - -OctokitReposRequestPageBuild.update_forward_refs() - -OctokitReposRetrieveCommunityProfileMetrics.update_forward_refs() - -OctokitReposTestPushHook.update_forward_refs() - -OctokitReposTransfer.update_forward_refs() - -OctokitReposUpdate.update_forward_refs() - -OctokitReposUpdateBranchProtection.update_forward_refs() - -OctokitReposUpdateCommitComment.update_forward_refs() - -OctokitReposUpdateFile.update_forward_refs() - -OctokitReposUpdateHook.update_forward_refs() - -OctokitReposUpdateInformationAboutPagesSite.update_forward_refs() - -OctokitReposUpdateInvitation.update_forward_refs() - -OctokitReposUpdateProtectedBranchPullRequestReviewEnforcement.update_forward_refs() - -OctokitReposUpdateProtectedBranchRequiredStatusChecks.update_forward_refs() - -OctokitReposUpdateRelease.update_forward_refs() - -OctokitReposUpdateReleaseAsset.update_forward_refs() - -OctokitReposUploadReleaseAsset.update_forward_refs() - -OctokitSearch.update_forward_refs() - -OctokitSearchCode.update_forward_refs() - -OctokitSearchCommits.update_forward_refs() - -OctokitSearchIssues.update_forward_refs() - -OctokitSearchIssuesAndPullRequests.update_forward_refs() - -OctokitSearchLabels.update_forward_refs() - -OctokitSearchRepos.update_forward_refs() - -OctokitSearchTopics.update_forward_refs() - -OctokitSearchUsers.update_forward_refs() - -OctokitTeams.update_forward_refs() - -OctokitTeamsAddMember.update_forward_refs() - -OctokitTeamsAddOrUpdateMembership.update_forward_refs() - -OctokitTeamsAddOrUpdateProject.update_forward_refs() - -OctokitTeamsAddOrUpdateRepo.update_forward_refs() - -OctokitTeamsCheckManagesRepo.update_forward_refs() - -OctokitTeamsCreate.update_forward_refs() - -OctokitTeamsCreateDiscussion.update_forward_refs() - -OctokitTeamsCreateDiscussionComment.update_forward_refs() - -OctokitTeamsDelete.update_forward_refs() - -OctokitTeamsDeleteDiscussion.update_forward_refs() - -OctokitTeamsDeleteDiscussionComment.update_forward_refs() - -OctokitTeamsGet.update_forward_refs() - -OctokitTeamsGetDiscussion.update_forward_refs() - -OctokitTeamsGetDiscussionComment.update_forward_refs() - -OctokitTeamsGetMember.update_forward_refs() - -OctokitTeamsGetMembership.update_forward_refs() - -OctokitTeamsList.update_forward_refs() - -OctokitTeamsListChild.update_forward_refs() - -OctokitTeamsListDiscussionComments.update_forward_refs() - -OctokitTeamsListDiscussions.update_forward_refs() - -OctokitTeamsListForAuthenticatedUser.update_forward_refs() - -OctokitTeamsListMembers.update_forward_refs() - -OctokitTeamsListPendingInvitations.update_forward_refs() - -OctokitTeamsListProjects.update_forward_refs() - -OctokitTeamsListRepos.update_forward_refs() - -OctokitTeamsRemoveMember.update_forward_refs() - -OctokitTeamsRemoveMembership.update_forward_refs() - -OctokitTeamsRemoveProject.update_forward_refs() - -OctokitTeamsRemoveRepo.update_forward_refs() - -OctokitTeamsReviewProject.update_forward_refs() - -OctokitTeamsUpdate.update_forward_refs() - -OctokitTeamsUpdateDiscussion.update_forward_refs() - -OctokitTeamsUpdateDiscussionComment.update_forward_refs() - -OctokitUsers.update_forward_refs() - -OctokitUsersAddEmails.update_forward_refs() - -OctokitUsersBlock.update_forward_refs() - -OctokitUsersCheckBlocked.update_forward_refs() - -OctokitUsersCheckFollowing.update_forward_refs() - -OctokitUsersCheckFollowingForUser.update_forward_refs() - -OctokitUsersCreateGpgKey.update_forward_refs() - -OctokitUsersCreatePublicKey.update_forward_refs() - -OctokitUsersDeleteEmails.update_forward_refs() - -OctokitUsersDeleteGpgKey.update_forward_refs() - -OctokitUsersDeletePublicKey.update_forward_refs() - -OctokitUsersFollow.update_forward_refs() - -OctokitUsersGetAuthenticated.update_forward_refs() - -OctokitUsersGetByUsername.update_forward_refs() - -OctokitUsersGetContextForUser.update_forward_refs() - -OctokitUsersGetGpgKey.update_forward_refs() - -OctokitUsersGetPublicKey.update_forward_refs() - -OctokitUsersList.update_forward_refs() - -OctokitUsersListBlocked.update_forward_refs() - -OctokitUsersListEmails.update_forward_refs() - -OctokitUsersListFollowersForAuthenticatedUser.update_forward_refs() - -OctokitUsersListFollowersForUser.update_forward_refs() - -OctokitUsersListFollowingForAuthenticatedUser.update_forward_refs() - -OctokitUsersListFollowingForUser.update_forward_refs() - -OctokitUsersListGpgKeys.update_forward_refs() - -OctokitUsersListGpgKeysForUser.update_forward_refs() - -OctokitUsersListPublicEmails.update_forward_refs() - -OctokitUsersListPublicKeys.update_forward_refs() - -OctokitUsersListPublicKeysForUser.update_forward_refs() - -OctokitUsersTogglePrimaryEmailVisibility.update_forward_refs() - -OctokitUsersUnblock.update_forward_refs() - -OctokitUsersUnfollow.update_forward_refs() - -OctokitUsersUpdateAuthenticated.update_forward_refs() - -Paginate.update_forward_refs() - -PaginateIterator.update_forward_refs() - -RepoMetaData.update_forward_refs() - -Request.update_forward_refs() +# @generated by scripts/generate_scheme.py - DO NOT EDIT. +from enum import Enum +from typing import Any, Optional + +from pydantic import BaseModel, Field + + +class BitBucketCloudCommit(BaseModel): + author: Optional["BitBucketCloudCommitAuthor"] = Field(default=None, alias="author") + date: str | None = Field(default=None, alias="date") + hash: str | None = Field(default=None, alias="hash") + links: Optional["BitBucketCloudCommitsLinks"] = Field(default=None, alias="links") + message: str | None = Field(default=None, alias="message") + parents: list["BitBucketCloudCommitParents"] | None = Field( + default=None, alias="parents" + ) + + +class BitBucketCloudCommitAuthor(BaseModel): + raw: str | None = Field(default=None, alias="raw") + user: Optional["BitBucketCloudUser"] = Field(default=None, alias="user") + + +class BitBucketCloudCommitParents(BaseModel): + hash: str | None = Field(default=None, alias="hash") + + +class BitBucketCloudCommitsLinks(BaseModel): + html: Optional["BitBucketCloudCommitsLinksHtml"] = Field(default=None, alias="html") + + +class BitBucketCloudCommitsLinksHtml(BaseModel): + href: str | None = Field(default=None, alias="href") + + +class BitBucketCloudCompletePRLinks(BaseModel): + activity: Optional["BitBucketCloudCompletePRLinksActivity"] = Field( + default=None, alias="activity" + ) + approve: Optional["BitBucketCloudCompletePRLinksApprove"] = Field( + default=None, alias="approve" + ) + comments: Optional["BitBucketCloudCompletePRLinksComments"] = Field( + default=None, alias="comments" + ) + commits: Optional["BitBucketCloudCompletePRLinksCommits"] = Field( + default=None, alias="commits" + ) + decline: Optional["BitBucketCloudCompletePRLinksDecline"] = Field( + default=None, alias="decline" + ) + diff: Optional["BitBucketCloudCompletePRLinksDiff"] = Field( + default=None, alias="diff" + ) + html: Optional["BitBucketCloudCompletePRLinksHtml"] = Field( + default=None, alias="html" + ) + merge: Optional["BitBucketCloudCompletePRLinksMerge"] = Field( + default=None, alias="merge" + ) + self_: Optional["BitBucketCloudCompletePRLinksSelf"] = Field( + default=None, alias="self" + ) + statuses: Optional["BitBucketCloudCompletePRLinksStatuses"] = Field( + default=None, alias="statuses" + ) + + +class BitBucketCloudCompletePRLinksActivity(BaseModel): + href: str | None = Field(default=None, alias="href") + + +class BitBucketCloudCompletePRLinksApprove(BaseModel): + href: str | None = Field(default=None, alias="href") + + +class BitBucketCloudCompletePRLinksComments(BaseModel): + href: str | None = Field(default=None, alias="href") + + +class BitBucketCloudCompletePRLinksCommits(BaseModel): + href: str | None = Field(default=None, alias="href") + + +class BitBucketCloudCompletePRLinksDecline(BaseModel): + href: str | None = Field(default=None, alias="href") + + +class BitBucketCloudCompletePRLinksDiff(BaseModel): + href: str | None = Field(default=None, alias="href") + + +class BitBucketCloudCompletePRLinksHtml(BaseModel): + href: str | None = Field(default=None, alias="href") + + +class BitBucketCloudCompletePRLinksMerge(BaseModel): + href: str | None = Field(default=None, alias="href") + + +class BitBucketCloudCompletePRLinksSelf(BaseModel): + href: str | None = Field(default=None, alias="href") + + +class BitBucketCloudCompletePRLinksStatuses(BaseModel): + href: str | None = Field(default=None, alias="href") + + +class BitBucketCloudContent(BaseModel): + html: str | None = Field(default=None, alias="html") + markup: str | None = Field(default=None, alias="markup") + raw: str | None = Field(default=None, alias="raw") + type: Optional["BitBucketCloudContentType"] = Field(default=None, alias="type") + + +class BitBucketCloudContentType(Enum): + RENDERED = "rendered" + + +class BitBucketCloudJSONDSL(BaseModel): + activities: list["BitBucketCloudPRActivity"] | None = Field( + default=None, alias="activities" + ) + comments: list["BitBucketCloudPRComment"] | None = Field( + default=None, alias="comments" + ) + commits: list["BitBucketCloudCommit"] | None = Field(default=None, alias="commits") + metadata: Optional["RepoMetaData"] = Field(default=None, alias="metadata") + pr: Optional["BitBucketCloudPRDSL"] = Field(default=None, alias="pr") + + +class BitBucketCloudMergeRef(BaseModel): + branch: Optional["BitBucketCloudMergeRefBranch"] = Field( + default=None, alias="branch" + ) + commit: Optional["BitBucketCloudMergeRefCommit"] = Field( + default=None, alias="commit" + ) + repository: Optional["BitBucketCloudRepo"] = Field(default=None, alias="repository") + + +class BitBucketCloudMergeRefBranch(BaseModel): + name: str | None = Field(default=None, alias="name") + + +class BitBucketCloudMergeRefCommit(BaseModel): + hash: str | None = Field(default=None, alias="hash") + + +class BitBucketCloudPRActivity(BaseModel): + comment: Optional["BitBucketCloudPRComment"] = Field(default=None, alias="comment") + pull_request: Optional["BitBucketCloudPRActivityPullRequest"] = Field( + default=None, alias="pull_request" + ) + + +class BitBucketCloudPRActivityPullRequest(BaseModel): + id: int | None = Field(default=None, alias="id") + title: str | None = Field(default=None, alias="title") + + +class BitBucketCloudPRComment(BaseModel): + content: Optional["BitBucketCloudContent"] = Field(default=None, alias="content") + created_on: str | None = Field(default=None, alias="created_on") + deleted: bool | None = Field(default=None, alias="deleted") + id: int | None = Field(default=None, alias="id") + inline: Optional["BitBucketCloudPRCommentInline"] = Field( + default=None, alias="inline" + ) + links: Optional["BitBucketCloudPRLinks"] = Field(default=None, alias="links") + pullrequest: Optional["BitBucketCloudPRCommentPullrequest"] = Field( + default=None, alias="pullrequest" + ) + type: str | None = Field(default=None, alias="type") + updated_on: str | None = Field(default=None, alias="updated_on") + user: Optional["BitBucketCloudUser"] = Field(default=None, alias="user") + + +class BitBucketCloudPRCommentInline(BaseModel): + from_: int | None = Field(default=None, alias="from") + path: str | None = Field(default=None, alias="path") + to: int | None = Field(default=None, alias="to") + + +class BitBucketCloudPRCommentPullrequest(BaseModel): + id: int | None = Field(default=None, alias="id") + links: Optional["BitBucketCloudPRLinks"] = Field(default=None, alias="links") + title: str | None = Field(default=None, alias="title") + + +class BitBucketCloudPRDSL(BaseModel): + author: Optional["BitBucketCloudUser"] = Field(default=None, alias="author") + created_on: int | None = Field(default=None, alias="created_on") + description: str | None = Field(default=None, alias="description") + destination: Optional["BitBucketCloudMergeRef"] = Field( + default=None, alias="destination" + ) + id: int | None = Field(default=None, alias="id") + links: Optional["BitBucketCloudCompletePRLinks"] = Field( + default=None, alias="links" + ) + participants: list["BitBucketCloudPRParticipant"] | None = Field( + default=None, alias="participants" + ) + reviewers: list["BitBucketCloudUser"] | None = Field( + default=None, alias="reviewers" + ) + source: Optional["BitBucketCloudMergeRef"] = Field(default=None, alias="source") + state: Optional["BitBucketCloudPRDSLState"] = Field(default=None, alias="state") + title: str | None = Field(default=None, alias="title") + updated_on: int | None = Field(default=None, alias="updated_on") + + +class BitBucketCloudPRDSLState(Enum): + DECLINED = "DECLINED" + MERGED = "MERGED" + OPEN = "OPEN" + SUPERSEDED = "SUPERSEDED" + + +class BitBucketCloudPRLinks(BaseModel): + html: Optional["BitBucketCloudPRLinksHtml"] = Field(default=None, alias="html") + self_: Optional["BitBucketCloudPRLinksSelf"] = Field(default=None, alias="self") + + +class BitBucketCloudPRLinksHtml(BaseModel): + href: str | None = Field(default=None, alias="href") + + +class BitBucketCloudPRLinksSelf(BaseModel): + href: str | None = Field(default=None, alias="href") + + +class BitBucketCloudPRParticipant(BaseModel): + approved: bool | None = Field(default=None, alias="approved") + role: Optional["BitBucketCloudPRParticipantRole"] = Field( + default=None, alias="role" + ) + user: Optional["BitBucketCloudUser"] = Field(default=None, alias="user") + + +class BitBucketCloudPRParticipantRole(Enum): + PARTICIPANT = "PARTICIPANT" + REVIEWER = "REVIEWER" + + +class BitBucketCloudRepo(BaseModel): + full_name: str | None = Field(default=None, alias="full_name") + name: str | None = Field(default=None, alias="name") + uuid: str | None = Field(default=None, alias="uuid") + + +class BitBucketCloudUser(BaseModel): + account_id: str | None = Field(default=None, alias="account_id") + display_name: str | None = Field(default=None, alias="display_name") + nickname: str | None = Field(default=None, alias="nickname") + uuid: str | None = Field(default=None, alias="uuid") + + +class BitBucketServerCommit(BaseModel): + author: Optional["BitBucketServerCommitAuthor"] = Field( + default=None, alias="author" + ) + author_timestamp: int | None = Field(default=None, alias="authorTimestamp") + committer: Optional["BitBucketServerCommitCommitter"] = Field( + default=None, alias="committer" + ) + committer_timestamp: int | None = Field(default=None, alias="committerTimestamp") + display_id: str | None = Field(default=None, alias="displayId") + id: str | None = Field(default=None, alias="id") + message: str | None = Field(default=None, alias="message") + parents: list["BitBucketServerCommitParents"] | None = Field( + default=None, alias="parents" + ) + + +class BitBucketServerCommitAuthor(BaseModel): + display_name: str | None = Field(default=None, alias="displayName") + email_address: str | None = Field(default=None, alias="emailAddress") + name: str | None = Field(default=None, alias="name") + + +class BitBucketServerCommitCommitter(BaseModel): + display_name: str | None = Field(default=None, alias="displayName") + email_address: str | None = Field(default=None, alias="emailAddress") + name: str | None = Field(default=None, alias="name") + + +class BitBucketServerCommitParents(BaseModel): + display_id: str | None = Field(default=None, alias="displayId") + id: str | None = Field(default=None, alias="id") + + +class BitBucketServerJSONDSL(BaseModel): + activities: list["BitBucketServerPRActivity"] | None = Field( + default=None, alias="activities" + ) + comments: list["BitBucketServerPRActivity"] | None = Field( + default=None, alias="comments" + ) + commits: list["BitBucketServerCommit"] | None = Field(default=None, alias="commits") + issues: list["JIRAIssue"] | None = Field(default=None, alias="issues") + metadata: Optional["RepoMetaData"] = Field(default=None, alias="metadata") + pr: Optional["BitBucketServerPRDSL"] = Field(default=None, alias="pr") + + +class BitBucketServerLinks(Enum): + CLONE = "clone" + SELF = "self" + + +class BitBucketServerMergeRef(BaseModel): + display_id: str | None = Field(default=None, alias="displayId") + id: str | None = Field(default=None, alias="id") + latest_commit: str | None = Field(default=None, alias="latestCommit") + repository: Optional["BitBucketServerRepo"] = Field( + default=None, alias="repository" + ) + + +class BitBucketServerPRActivity(BaseModel): + action: Optional["BitBucketServerPRActivityAction"] = Field( + default=None, alias="action" + ) + comment: Optional["BitBucketServerPRComment"] = Field(default=None, alias="comment") + comment_action: Optional["BitBucketServerPRActivityCommentAction"] = Field( + default=None, alias="commentAction" + ) + comment_anchor: Optional["BitBucketServerPRActivityCommentAnchor"] = Field( + default=None, alias="commentAnchor" + ) + created_date: int | None = Field(default=None, alias="createdDate") + id: int | None = Field(default=None, alias="id") + user: Optional["BitBucketServerUser"] = Field(default=None, alias="user") + + +class BitBucketServerPRActivityAction(Enum): + COMMENTED = "COMMENTED" + DECLINED = "DECLINED" + MERGED = "MERGED" + OPENED = "OPENED" + UPDATED = "UPDATED" + + +class BitBucketServerPRActivityCommentAction(Enum): + ADDED = "ADDED" + UPDATED = "UPDATED" + + +class BitBucketServerPRActivityCommentAnchor(BaseModel): + diff_type: Optional["BitBucketServerPRActivityCommentAnchorDiffType"] = Field( + default=None, alias="diffType" + ) + file_type: Optional["BitBucketServerPRActivityCommentAnchorFileType"] = Field( + default=None, alias="fileType" + ) + from_hash: str | None = Field(default=None, alias="fromHash") + line: int | None = Field(default=None, alias="line") + line_type: Optional["BitBucketServerPRActivityCommentAnchorLineType"] = Field( + default=None, alias="lineType" + ) + path: str | None = Field(default=None, alias="path") + src_path: str | None = Field(default=None, alias="srcPath") + to_hash: str | None = Field(default=None, alias="toHash") + + +class BitBucketServerPRActivityCommentAnchorDiffType(Enum): + COMMIT = "COMMIT" + EFFECTIVE = "EFFECTIVE" + RANGE = "RANGE" + REQUIRED = "REQUIRED" + + +class BitBucketServerPRActivityCommentAnchorFileType(Enum): + FROM = "FROM" + TO = "TO" + + +class BitBucketServerPRActivityCommentAnchorLineType(Enum): + ADDED = "ADDED" + CONTEXT = "CONTEXT" + REMOVED = "REMOVED" + + +class BitBucketServerPRComment(BaseModel): + author: Optional["BitBucketServerUser"] = Field(default=None, alias="author") + comments: list["BitBucketServerPRActivity"] | None = Field( + default=None, alias="comments" + ) + created_date: int | None = Field(default=None, alias="createdDate") + id: int | None = Field(default=None, alias="id") + parent: Optional["BitBucketServerPRCommentParent"] = Field( + default=None, alias="parent" + ) + permitted_operations: Optional["BitBucketServerPRCommentPermittedOperations"] = ( + Field(default=None, alias="permittedOperations") + ) + text: str | None = Field(default=None, alias="text") + updated_date: int | None = Field(default=None, alias="updatedDate") + version: int | None = Field(default=None, alias="version") + + +class BitBucketServerPRCommentParent(BaseModel): + id: int | None = Field(default=None, alias="id") + + +class BitBucketServerPRCommentPermittedOperations(BaseModel): + deletable: bool | None = Field(default=None, alias="deletable") + editable: bool | None = Field(default=None, alias="editable") + + +class BitBucketServerPRDSL(BaseModel): + author: Optional["BitBucketServerPRParticipant"] = Field( + default=None, alias="author" + ) + closed: bool | None = Field(default=None, alias="closed") + created_date: int | None = Field(default=None, alias="createdDate") + description: str | None = Field(default=None, alias="description") + from_ref: Optional["BitBucketServerMergeRef"] = Field(default=None, alias="fromRef") + id: int | None = Field(default=None, alias="id") + links: Optional["BitBucketServerPRDSLLinks"] = Field(default=None, alias="links") + locked: bool | None = Field(default=None, alias="locked") + open: bool | None = Field(default=None, alias="open") + participants: list["BitBucketServerPRParticipant"] | None = Field( + default=None, alias="participants" + ) + reviewers: list["BitBucketServerPRParticipant"] | None = Field( + default=None, alias="reviewers" + ) + state: Optional["BitBucketServerPRDSLState"] = Field(default=None, alias="state") + title: str | None = Field(default=None, alias="title") + to_ref: Optional["BitBucketServerMergeRef"] = Field(default=None, alias="toRef") + updated_date: int | None = Field(default=None, alias="updatedDate") + version: int | None = Field(default=None, alias="version") + + +class BitBucketServerPRDSLLinks(Enum): + SELF = "self" + + +class BitBucketServerPRDSLState(Enum): + DECLINED = "DECLINED" + MERGED = "MERGED" + OPEN = "OPEN" + SUPERSEDED = "SUPERSEDED" + + +class BitBucketServerPRParticipant(BaseModel): + approved: bool | None = Field(default=None, alias="approved") + role: Optional["BitBucketServerPRParticipantRole"] = Field( + default=None, alias="role" + ) + status: Optional["BitBucketServerPRParticipantStatus"] = Field( + default=None, alias="status" + ) + user: Optional["BitBucketServerUser"] = Field(default=None, alias="user") + + +class BitBucketServerPRParticipantRole(Enum): + AUTHOR = "AUTHOR" + PARTICIPANT = "PARTICIPANT" + REVIEWER = "REVIEWER" + + +class BitBucketServerPRParticipantStatus(Enum): + APPROVED = "APPROVED" + NEEDS_WORK = "NEEDS_WORK" + UNAPPROVED = "UNAPPROVED" + + +class BitBucketServerRepo(BaseModel): + forkable: bool | None = Field(default=None, alias="forkable") + links: Optional["BitBucketServerLinks"] = Field(default=None, alias="links") + name: str | None = Field(default=None, alias="name") + project: Optional["BitBucketServerRepoProject"] = Field( + default=None, alias="project" + ) + public: bool | None = Field(default=None, alias="public") + scm_id: str | None = Field(default=None, alias="scmId") + slug: str | None = Field(default=None, alias="slug") + + +class BitBucketServerRepoProject(BaseModel): + id: int | None = Field(default=None, alias="id") + key: str | None = Field(default=None, alias="key") + links: Optional["BitBucketServerRepoProjectLinks"] = Field( + default=None, alias="links" + ) + name: str | None = Field(default=None, alias="name") + public: bool | None = Field(default=None, alias="public") + type: str | None = Field(default=None, alias="type") + + +class BitBucketServerRepoProjectLinks(Enum): + SELF = "self" + + +class BitBucketServerUser(BaseModel): + active: bool | None = Field(default=None, alias="active") + display_name: str | None = Field(default=None, alias="displayName") + email_address: str | None = Field(default=None, alias="emailAddress") + id: int | None = Field(default=None, alias="id") + name: str | None = Field(default=None, alias="name") + slug: str | None = Field(default=None, alias="slug") + type: Optional["BitBucketServerUserType"] = Field(default=None, alias="type") + + +class BitBucketServerUserType(Enum): + NORMAL = "NORMAL" + SERVICE = "SERVICE" + + +class CliArgs(BaseModel): + base: str | None = Field(default=None, alias="base") + dangerfile: str | None = Field(default=None, alias="dangerfile") + external_ci_provider: str | None = Field(default=None, alias="externalCiProvider") + id: str | None = Field(default=None, alias="id") + text_only: str | None = Field(default=None, alias="textOnly") + verbose: str | None = Field(default=None, alias="verbose") + + +class DangerDSLJSONType(BaseModel): + bitbucket_cloud: Optional["BitBucketCloudJSONDSL"] = Field( + default=None, alias="bitbucket_cloud" + ) + bitbucket_server: Optional["BitBucketServerJSONDSL"] = Field( + default=None, alias="bitbucket_server" + ) + git: Optional["GitJSONDSL"] = Field(default=None, alias="git") + github: Optional["GitHubDSL"] = Field(default=None, alias="github") + gitlab: Optional["GitLabDSL"] = Field(default=None, alias="gitlab") + settings: Optional["DangerDSLJSONTypeSettings"] = Field( + default=None, alias="settings" + ) + + +class DangerDSLJSONTypeSettings(BaseModel): + cli_args: Optional["CliArgs"] = Field(default=None, alias="cliArgs") + github: Optional["DangerDSLJSONTypeSettingsGithub"] = Field( + default=None, alias="github" + ) + + +class DangerDSLJSONTypeSettingsGithub(BaseModel): + access_token: str | None = Field(default=None, alias="accessToken") + additional_headers: Any = Field(default=None, alias="additionalHeaders") + base_url: str | None = Field(default=None, alias="baseURL") + + +class Endpoint(BaseModel): + defaults: Optional["EndpointOptions"] = Field(default=None, alias="DEFAULTS") + + +class EndpointOptions(BaseModel): + base_url: str | None = Field(default=None, alias="baseUrl") + data: Any = Field(default=None, alias="data") + headers: Optional["EndpointOptionsHeaders"] = Field(default=None, alias="headers") + method: Optional["EndpointOptionsMethod"] = Field(default=None, alias="method") + request: Optional["EndpointOptionsRequest"] = Field(default=None, alias="request") + url: str | None = Field(default=None, alias="url") + + +class EndpointOptionsHeaders(BaseModel): + pass + + +class EndpointOptionsMethod(Enum): + DELETE = "DELETE" + GET = "GET" + HEAD = "HEAD" + PATCH = "PATCH" + POST = "POST" + PUT = "PUT" + + +class EndpointOptionsRequest(BaseModel): + pass + + +class GitCommit(BaseModel): + author: Optional["GitCommitAuthor"] = Field(default=None, alias="author") + committer: Optional["GitCommitAuthor"] = Field(default=None, alias="committer") + message: str | None = Field(default=None, alias="message") + parents: list[str] | None = Field(default=None, alias="parents") + sha: str | None = Field(default=None, alias="sha") + tree: Any = Field(default=None, alias="tree") + url: str | None = Field(default=None, alias="url") + + +class GitCommitAuthor(BaseModel): + date: str | None = Field(default=None, alias="date") + email: str | None = Field(default=None, alias="email") + name: str | None = Field(default=None, alias="name") + + +class GitHubAPIPR(BaseModel): + number: int | None = Field(default=None, alias="number") + owner: str | None = Field(default=None, alias="owner") + repo: str | None = Field(default=None, alias="repo") + + +class GitHubCommit(BaseModel): + author: Optional["GitHubUser"] = Field(default=None, alias="author") + commit: Optional["GitCommit"] = Field(default=None, alias="commit") + committer: Optional["GitHubUser"] = Field(default=None, alias="committer") + parents: list[Any] | None = Field(default=None, alias="parents") + sha: str | None = Field(default=None, alias="sha") + url: str | None = Field(default=None, alias="url") + + +class GitHubDSL(BaseModel): + api: Optional["Octokit"] = Field(default=None, alias="api") + commits: list["GitHubCommit"] | None = Field(default=None, alias="commits") + issue: Optional["GitHubIssue"] = Field(default=None, alias="issue") + pr: Optional["GitHubPRDSL"] = Field(default=None, alias="pr") + requested_reviewers: Optional["GitHubReviewers"] = Field( + default=None, alias="requested_reviewers" + ) + reviews: list["GitHubReview"] | None = Field(default=None, alias="reviews") + this_pr: Optional["GitHubAPIPR"] = Field(default=None, alias="thisPR") + utils: Optional["GitHubUtilsDSL"] = Field(default=None, alias="utils") + + +class GitHubIssue(BaseModel): + labels: list["GitHubIssueLabel"] | None = Field(default=None, alias="labels") + + +class GitHubIssueLabel(BaseModel): + color: str | None = Field(default=None, alias="color") + id: int | None = Field(default=None, alias="id") + name: str | None = Field(default=None, alias="name") + url: str | None = Field(default=None, alias="url") + + +class GitHubMergeRef(BaseModel): + label: str | None = Field(default=None, alias="label") + ref: str | None = Field(default=None, alias="ref") + repo: Optional["GitHubRepo"] = Field(default=None, alias="repo") + sha: str | None = Field(default=None, alias="sha") + user: Optional["GitHubUser"] = Field(default=None, alias="user") + + +class GitHubPRDSL(BaseModel): + additions: int | None = Field(default=None, alias="additions") + assignee: Optional["GitHubUser"] = Field(default=None, alias="assignee") + assignees: list["GitHubUser"] | None = Field(default=None, alias="assignees") + author_association: Optional["GitHubPRDSLAuthorAssociation"] = Field( + default=None, alias="author_association" + ) + base: Optional["GitHubMergeRef"] = Field(default=None, alias="base") + body: str | None = Field(default=None, alias="body") + changed_files: int | None = Field(default=None, alias="changed_files") + closed_at: str | None = Field(default=None, alias="closed_at") + comments: int | None = Field(default=None, alias="comments") + commits: int | None = Field(default=None, alias="commits") + created_at: str | None = Field(default=None, alias="created_at") + deletions: int | None = Field(default=None, alias="deletions") + head: Optional["GitHubMergeRef"] = Field(default=None, alias="head") + html_url: str | None = Field(default=None, alias="html_url") + locked: bool | None = Field(default=None, alias="locked") + merged: bool | None = Field(default=None, alias="merged") + merged_at: str | None = Field(default=None, alias="merged_at") + number: int | None = Field(default=None, alias="number") + review_comments: int | None = Field(default=None, alias="review_comments") + state: Optional["GitHubPRDSLState"] = Field(default=None, alias="state") + title: str | None = Field(default=None, alias="title") + updated_at: str | None = Field(default=None, alias="updated_at") + user: Optional["GitHubUser"] = Field(default=None, alias="user") + + +class GitHubPRDSLAuthorAssociation(Enum): + COLLABORATOR = "COLLABORATOR" + CONTRIBUTOR = "CONTRIBUTOR" + FIRST_TIMER = "FIRST_TIMER" + FIRST_TIME_CONTRIBUTOR = "FIRST_TIME_CONTRIBUTOR" + MEMBER = "MEMBER" + NONE = "NONE" + OWNER = "OWNER" + + +class GitHubPRDSLState(Enum): + CLOSED = "closed" + LOCKED = "locked" + MERGED = "merged" + OPEN = "open" + + +class GitHubRepo(BaseModel): + assignee: Optional["GitHubUser"] = Field(default=None, alias="assignee") + assignees: list["GitHubUser"] | None = Field(default=None, alias="assignees") + description: str | None = Field(default=None, alias="description") + fork: bool | None = Field(default=None, alias="fork") + full_name: str | None = Field(default=None, alias="full_name") + html_url: str | None = Field(default=None, alias="html_url") + id: int | None = Field(default=None, alias="id") + name: str | None = Field(default=None, alias="name") + owner: Optional["GitHubUser"] = Field(default=None, alias="owner") + private: bool | None = Field(default=None, alias="private") + + +class GitHubReview(BaseModel): + body: str | None = Field(default=None, alias="body") + commit_id: str | None = Field(default=None, alias="commit_id") + id: int | None = Field(default=None, alias="id") + state: Optional["GitHubReviewState"] = Field(default=None, alias="state") + user: Optional["GitHubUser"] = Field(default=None, alias="user") + + +class GitHubReviewState(Enum): + APPROVED = "APPROVED" + CHANGES_REQUESTED = "CHANGES_REQUESTED" + COMMENTED = "COMMENTED" + DISMISSED = "DISMISSED" + PENDING = "PENDING" + + +class GitHubReviewers(BaseModel): + teams: list[Any] | None = Field(default=None, alias="teams") + users: list["GitHubUser"] | None = Field(default=None, alias="users") + + +class GitHubUser(BaseModel): + avatar_url: str | None = Field(default=None, alias="avatar_url") + href: str | None = Field(default=None, alias="href") + id: int | None = Field(default=None, alias="id") + login: str | None = Field(default=None, alias="login") + type: Optional["GitHubUserType"] = Field(default=None, alias="type") + + +class GitHubUserType(Enum): + BOT = "Bot" + ORGANIZATION = "Organization" + USER = "User" + + +class GitHubUtilsDSL(BaseModel): + create_or_add_label: Optional["GitHubUtilsDSLCreateOrAddLabel"] = Field( + default=None, alias="createOrAddLabel" + ) + create_or_update_pr: Optional["GitHubUtilsDSLCreateOrUpdatePR"] = Field( + default=None, alias="createOrUpdatePR" + ) + create_updated_issue_with_id: Optional["GitHubUtilsDSLCreateUpdatedIssueWithID"] = ( + Field(default=None, alias="createUpdatedIssueWithID") + ) + + +class GitHubUtilsDSLCreateOrAddLabel(BaseModel): + pass + + +class GitHubUtilsDSLCreateOrUpdatePR(BaseModel): + pass + + +class GitHubUtilsDSLCreateUpdatedIssueWithID(BaseModel): + pass + + +class GitJSONDSL(BaseModel): + commits: list["GitCommit"] | None = Field(default=None, alias="commits") + created_files: list[str] | None = Field(default=None, alias="created_files") + deleted_files: list[str] | None = Field(default=None, alias="deleted_files") + modified_files: list[str] | None = Field(default=None, alias="modified_files") + + +class GitLabDSL(BaseModel): + commits: list["GitLabMRCommit"] | None = Field(default=None, alias="commits") + metadata: Optional["RepoMetaData"] = Field(default=None, alias="metadata") + mr: Optional["GitLabMR"] = Field(default=None, alias="mr") + utils: Optional["GitLabDSLUtils"] = Field(default=None, alias="utils") + + +class GitLabDSLUtils(BaseModel): + pass + + +class GitLabMR(BaseModel): + allow_collaboration: bool | None = Field(default=None, alias="allow_collaboration") + allow_maintainer_to_push: bool | None = Field( + default=None, alias="allow_maintainer_to_push" + ) + approvals_before_merge: Any = Field(default=None, alias="approvals_before_merge") + assignee: Optional["GitLabUser"] = Field(default=None, alias="assignee") + author: Optional["GitLabUser"] = Field(default=None, alias="author") + changes_count: str | None = Field(default=None, alias="changes_count") + closed_at: str | None = Field(default=None, alias="closed_at") + closed_by: Optional["GitLabUser"] = Field(default=None, alias="closed_by") + created_at: str | None = Field(default=None, alias="created_at") + description: str | None = Field(default=None, alias="description") + diff_refs: Optional["GitLabMRDiffRefs"] = Field(default=None, alias="diff_refs") + discussion_locked: Any = Field(default=None, alias="discussion_locked") + diverged_commits_count: int | None = Field( + default=None, alias="diverged_commits_count" + ) + downvotes: int | None = Field(default=None, alias="downvotes") + first_deployed_to_production_at: str | None = Field( + default=None, alias="first_deployed_to_production_at" + ) + force_remove_source_branch: bool | None = Field( + default=None, alias="force_remove_source_branch" + ) + id: int | None = Field(default=None, alias="id") + iid: int | None = Field(default=None, alias="iid") + labels: list[str] | None = Field(default=None, alias="labels") + latest_build_finished_at: str | None = Field( + default=None, alias="latest_build_finished_at" + ) + latest_build_started_at: str | None = Field( + default=None, alias="latest_build_started_at" + ) + merge_commit_sha: str | None = Field(default=None, alias="merge_commit_sha") + merge_error: Any = Field(default=None, alias="merge_error") + merge_status: Optional["GitLabMRMergeStatus"] = Field( + default=None, alias="merge_status" + ) + merge_when_pipeline_succeeds: bool | None = Field( + default=None, alias="merge_when_pipeline_succeeds" + ) + merged_at: str | None = Field(default=None, alias="merged_at") + merged_by: Optional["GitLabUser"] = Field(default=None, alias="merged_by") + milestone: Optional["GitLabMRMilestone"] = Field(default=None, alias="milestone") + pipeline: Optional["GitLabMRPipeline"] = Field(default=None, alias="pipeline") + project_id: int | None = Field(default=None, alias="project_id") + rebase_in_progress: bool | None = Field(default=None, alias="rebase_in_progress") + sha: str | None = Field(default=None, alias="sha") + should_remove_source_branch: bool | None = Field( + default=None, alias="should_remove_source_branch" + ) + source_branch: str | None = Field(default=None, alias="source_branch") + source_project_id: int | None = Field(default=None, alias="source_project_id") + squash: bool | None = Field(default=None, alias="squash") + state: Optional["GitLabMRState"] = Field(default=None, alias="state") + subscribed: bool | None = Field(default=None, alias="subscribed") + target_branch: str | None = Field(default=None, alias="target_branch") + target_project_id: int | None = Field(default=None, alias="target_project_id") + time_stats: Optional["GitLabMRTimeStats"] = Field(default=None, alias="time_stats") + title: str | None = Field(default=None, alias="title") + updated_at: str | None = Field(default=None, alias="updated_at") + upvotes: int | None = Field(default=None, alias="upvotes") + user: Optional["GitLabMRUser"] = Field(default=None, alias="user") + user_notes_count: int | None = Field(default=None, alias="user_notes_count") + web_url: str | None = Field(default=None, alias="web_url") + work_in_progress: bool | None = Field(default=None, alias="work_in_progress") + + +class GitLabMRCommit(BaseModel): + author_email: str | None = Field(default=None, alias="author_email") + author_name: str | None = Field(default=None, alias="author_name") + authored_date: str | None = Field(default=None, alias="authored_date") + committed_date: str | None = Field(default=None, alias="committed_date") + committer_email: str | None = Field(default=None, alias="committer_email") + committer_name: str | None = Field(default=None, alias="committer_name") + created_at: str | None = Field(default=None, alias="created_at") + id: str | None = Field(default=None, alias="id") + message: str | None = Field(default=None, alias="message") + parent_ids: list[str] | None = Field(default=None, alias="parent_ids") + short_id: str | None = Field(default=None, alias="short_id") + title: str | None = Field(default=None, alias="title") + + +class GitLabMRDiffRefs(BaseModel): + base_sha: str | None = Field(default=None, alias="base_sha") + head_sha: str | None = Field(default=None, alias="head_sha") + start_sha: str | None = Field(default=None, alias="start_sha") + + +class GitLabMRMergeStatus(Enum): + UNCHECKED = "unchecked" + CANNOT_BE_MERGED_RECHECK = "cannot_be_merged_recheck" + CHECKING = "checking" + CANNOT_BE_MERGED_RECHECKING = "cannot_be_merged_rechecking" + CAN_BE_MERGED = "can_be_merged" + CANNOT_BE_MERGED = "cannot_be_merged" + + +class GitLabMRMilestone(BaseModel): + created_at: str | None = Field(default=None, alias="created_at") + description: str | None = Field(default=None, alias="description") + due_date: str | None = Field(default=None, alias="due_date") + id: int | None = Field(default=None, alias="id") + iid: int | None = Field(default=None, alias="iid") + project_id: int | None = Field(default=None, alias="project_id") + start_date: str | None = Field(default=None, alias="start_date") + state: Optional["GitLabMRMilestoneState"] = Field(default=None, alias="state") + title: str | None = Field(default=None, alias="title") + updated_at: str | None = Field(default=None, alias="updated_at") + web_url: str | None = Field(default=None, alias="web_url") + + +class GitLabMRMilestoneState(Enum): + ACTIVE = "active" + CLOSED = "closed" + + +class GitLabMRPipeline(BaseModel): + id: int | None = Field(default=None, alias="id") + ref: str | None = Field(default=None, alias="ref") + sha: str | None = Field(default=None, alias="sha") + status: Optional["GitLabMRPipelineStatus"] = Field(default=None, alias="status") + web_url: str | None = Field(default=None, alias="web_url") + + +class GitLabMRPipelineStatus(Enum): + CANCELED = "canceled" + FAILED = "failed" + PENDING = "pending" + RUNNING = "running" + SKIPPED = "skipped" + SUCCESS = "success" + + +class GitLabMRState(Enum): + CLOSED = "closed" + LOCKED = "locked" + MERGED = "merged" + OPEN = "open" + + +class GitLabMRTimeStats(BaseModel): + human_time_estimate: int | None = Field(default=None, alias="human_time_estimate") + human_total_time_spent: int | None = Field( + default=None, alias="human_total_time_spent" + ) + time_estimate: int | None = Field(default=None, alias="time_estimate") + total_time_spent: int | None = Field(default=None, alias="total_time_spent") + + +class GitLabMRUser(BaseModel): + can_merge: bool | None = Field(default=None, alias="can_merge") + + +class GitLabUser(BaseModel): + avatar_url: str | None = Field(default=None, alias="avatar_url") + id: int | None = Field(default=None, alias="id") + name: str | None = Field(default=None, alias="name") + state: Optional["GitLabUserState"] = Field(default=None, alias="state") + username: str | None = Field(default=None, alias="username") + web_url: str | None = Field(default=None, alias="web_url") + + +class GitLabUserState(Enum): + ACTIVE = "active" + BLOCKED = "blocked" + + +class JIRAIssue(BaseModel): + key: str | None = Field(default=None, alias="key") + url: str | None = Field(default=None, alias="url") + + +class Log(BaseModel): + debug: Optional["LogDebug"] = Field(default=None, alias="debug") + error: Optional["LogError"] = Field(default=None, alias="error") + info: Optional["LogInfo"] = Field(default=None, alias="info") + warn: Optional["LogWarn"] = Field(default=None, alias="warn") + + +class LogDebug(BaseModel): + pass + + +class LogError(BaseModel): + pass + + +class LogInfo(BaseModel): + pass + + +class LogWarn(BaseModel): + pass + + +class Octokit(BaseModel): + activity: Optional["OctokitActivity"] = Field(default=None, alias="activity") + apps: Optional["OctokitApps"] = Field(default=None, alias="apps") + checks: Optional["OctokitChecks"] = Field(default=None, alias="checks") + codes_of_conduct: Optional["OctokitCodesOfConduct"] = Field( + default=None, alias="codesOfConduct" + ) + emojis: Optional["OctokitEmojis"] = Field(default=None, alias="emojis") + gists: Optional["OctokitGists"] = Field(default=None, alias="gists") + git: Optional["OctokitGit"] = Field(default=None, alias="git") + gitignore: Optional["OctokitGitignore"] = Field(default=None, alias="gitignore") + hook: Optional["OctokitHook"] = Field(default=None, alias="hook") + interactions: Optional["OctokitInteractions"] = Field( + default=None, alias="interactions" + ) + issues: Optional["OctokitIssues"] = Field(default=None, alias="issues") + licenses: Optional["OctokitLicenses"] = Field(default=None, alias="licenses") + log: Optional["Log"] = Field(default=None, alias="log") + markdown: Optional["OctokitMarkdown"] = Field(default=None, alias="markdown") + meta: Optional["OctokitMeta"] = Field(default=None, alias="meta") + migrations: Optional["OctokitMigrations"] = Field(default=None, alias="migrations") + oauth_authorizations: Optional["OctokitOauthAuthorizations"] = Field( + default=None, alias="oauthAuthorizations" + ) + orgs: Optional["OctokitOrgs"] = Field(default=None, alias="orgs") + paginate: Optional["Paginate"] = Field(default=None, alias="paginate") + projects: Optional["OctokitProjects"] = Field(default=None, alias="projects") + pulls: Optional["OctokitPulls"] = Field(default=None, alias="pulls") + rate_limit: Optional["OctokitRateLimit"] = Field(default=None, alias="rateLimit") + reactions: Optional["OctokitReactions"] = Field(default=None, alias="reactions") + repos: Optional["OctokitRepos"] = Field(default=None, alias="repos") + request: Optional["Request"] = Field(default=None, alias="request") + search: Optional["OctokitSearch"] = Field(default=None, alias="search") + teams: Optional["OctokitTeams"] = Field(default=None, alias="teams") + users: Optional["OctokitUsers"] = Field(default=None, alias="users") + + +class OctokitActivity(BaseModel): + check_starring_repo: Optional["OctokitActivityCheckStarringRepo"] = Field( + default=None, alias="checkStarringRepo" + ) + delete_repo_subscription: Optional["OctokitActivityDeleteRepoSubscription"] = Field( + default=None, alias="deleteRepoSubscription" + ) + delete_thread_subscription: Optional["OctokitActivityDeleteThreadSubscription"] = ( + Field(default=None, alias="deleteThreadSubscription") + ) + get_repo_subscription: Optional["OctokitActivityGetRepoSubscription"] = Field( + default=None, alias="getRepoSubscription" + ) + get_thread: Optional["OctokitActivityGetThread"] = Field( + default=None, alias="getThread" + ) + get_thread_subscription: Optional["OctokitActivityGetThreadSubscription"] = Field( + default=None, alias="getThreadSubscription" + ) + list_events_for_org: Optional["OctokitActivityListEventsForOrg"] = Field( + default=None, alias="listEventsForOrg" + ) + list_events_for_user: Optional["OctokitActivityListEventsForUser"] = Field( + default=None, alias="listEventsForUser" + ) + list_feeds: Optional["OctokitActivityListFeeds"] = Field( + default=None, alias="listFeeds" + ) + list_notifications: Optional["OctokitActivityListNotifications"] = Field( + default=None, alias="listNotifications" + ) + list_notifications_for_repo: Optional["OctokitActivityListNotificationsForRepo"] = ( + Field(default=None, alias="listNotificationsForRepo") + ) + list_public_events: Optional["OctokitActivityListPublicEvents"] = Field( + default=None, alias="listPublicEvents" + ) + list_public_events_for_org: Optional["OctokitActivityListPublicEventsForOrg"] = ( + Field(default=None, alias="listPublicEventsForOrg") + ) + list_public_events_for_repo_network: Optional[ + "OctokitActivityListPublicEventsForRepoNetwork" + ] = Field(default=None, alias="listPublicEventsForRepoNetwork") + list_public_events_for_user: Optional["OctokitActivityListPublicEventsForUser"] = ( + Field(default=None, alias="listPublicEventsForUser") + ) + list_received_events_for_user: Optional[ + "OctokitActivityListReceivedEventsForUser" + ] = Field(default=None, alias="listReceivedEventsForUser") + list_received_public_events_for_user: Optional[ + "OctokitActivityListReceivedPublicEventsForUser" + ] = Field(default=None, alias="listReceivedPublicEventsForUser") + list_repo_events: Optional["OctokitActivityListRepoEvents"] = Field( + default=None, alias="listRepoEvents" + ) + list_repos_starred_by_authenticated_user: Optional[ + "OctokitActivityListReposStarredByAuthenticatedUser" + ] = Field(default=None, alias="listReposStarredByAuthenticatedUser") + list_repos_starred_by_user: Optional["OctokitActivityListReposStarredByUser"] = ( + Field(default=None, alias="listReposStarredByUser") + ) + list_repos_watched_by_user: Optional["OctokitActivityListReposWatchedByUser"] = ( + Field(default=None, alias="listReposWatchedByUser") + ) + list_stargazers_for_repo: Optional["OctokitActivityListStargazersForRepo"] = Field( + default=None, alias="listStargazersForRepo" + ) + list_watched_repos_for_authenticated_user: Optional[ + "OctokitActivityListWatchedReposForAuthenticatedUser" + ] = Field(default=None, alias="listWatchedReposForAuthenticatedUser") + list_watchers_for_repo: Optional["OctokitActivityListWatchersForRepo"] = Field( + default=None, alias="listWatchersForRepo" + ) + mark_as_read: Optional["OctokitActivityMarkAsRead"] = Field( + default=None, alias="markAsRead" + ) + mark_notifications_as_read_for_repo: Optional[ + "OctokitActivityMarkNotificationsAsReadForRepo" + ] = Field(default=None, alias="markNotificationsAsReadForRepo") + mark_thread_as_read: Optional["OctokitActivityMarkThreadAsRead"] = Field( + default=None, alias="markThreadAsRead" + ) + set_repo_subscription: Optional["OctokitActivitySetRepoSubscription"] = Field( + default=None, alias="setRepoSubscription" + ) + set_thread_subscription: Optional["OctokitActivitySetThreadSubscription"] = Field( + default=None, alias="setThreadSubscription" + ) + star_repo: Optional["OctokitActivityStarRepo"] = Field( + default=None, alias="starRepo" + ) + unstar_repo: Optional["OctokitActivityUnstarRepo"] = Field( + default=None, alias="unstarRepo" + ) + + +class OctokitActivityCheckStarringRepo(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitActivityDeleteRepoSubscription(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitActivityDeleteThreadSubscription(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitActivityGetRepoSubscription(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitActivityGetThread(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitActivityGetThreadSubscription(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitActivityListEventsForOrg(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitActivityListEventsForUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitActivityListFeeds(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitActivityListNotifications(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitActivityListNotificationsForRepo(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitActivityListPublicEvents(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitActivityListPublicEventsForOrg(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitActivityListPublicEventsForRepoNetwork(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitActivityListPublicEventsForUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitActivityListReceivedEventsForUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitActivityListReceivedPublicEventsForUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitActivityListRepoEvents(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitActivityListReposStarredByAuthenticatedUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitActivityListReposStarredByUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitActivityListReposWatchedByUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitActivityListStargazersForRepo(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitActivityListWatchedReposForAuthenticatedUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitActivityListWatchersForRepo(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitActivityMarkAsRead(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitActivityMarkNotificationsAsReadForRepo(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitActivityMarkThreadAsRead(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitActivitySetRepoSubscription(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitActivitySetThreadSubscription(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitActivityStarRepo(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitActivityUnstarRepo(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitApps(BaseModel): + add_repo_to_installation: Optional["OctokitAppsAddRepoToInstallation"] = Field( + default=None, alias="addRepoToInstallation" + ) + check_account_is_associated_with_any: Optional[ + "OctokitAppsCheckAccountIsAssociatedWithAny" + ] = Field(default=None, alias="checkAccountIsAssociatedWithAny") + check_account_is_associated_with_any_stubbed: Optional[ + "OctokitAppsCheckAccountIsAssociatedWithAnyStubbed" + ] = Field(default=None, alias="checkAccountIsAssociatedWithAnyStubbed") + create_content_attachment: Optional["OctokitAppsCreateContentAttachment"] = Field( + default=None, alias="createContentAttachment" + ) + create_from_manifest: Optional["OctokitAppsCreateFromManifest"] = Field( + default=None, alias="createFromManifest" + ) + create_installation_token: Optional["OctokitAppsCreateInstallationToken"] = Field( + default=None, alias="createInstallationToken" + ) + find_org_installation: Optional["OctokitAppsFindOrgInstallation"] = Field( + default=None, alias="findOrgInstallation" + ) + find_repo_installation: Optional["OctokitAppsFindRepoInstallation"] = Field( + default=None, alias="findRepoInstallation" + ) + find_user_installation: Optional["OctokitAppsFindUserInstallation"] = Field( + default=None, alias="findUserInstallation" + ) + get_authenticated: Optional["OctokitAppsGetAuthenticated"] = Field( + default=None, alias="getAuthenticated" + ) + get_by_slug: Optional["OctokitAppsGetBySlug"] = Field( + default=None, alias="getBySlug" + ) + get_installation: Optional["OctokitAppsGetInstallation"] = Field( + default=None, alias="getInstallation" + ) + list_accounts_user_or_org_on_plan: Optional[ + "OctokitAppsListAccountsUserOrOrgOnPlan" + ] = Field(default=None, alias="listAccountsUserOrOrgOnPlan") + list_accounts_user_or_org_on_plan_stubbed: Optional[ + "OctokitAppsListAccountsUserOrOrgOnPlanStubbed" + ] = Field(default=None, alias="listAccountsUserOrOrgOnPlanStubbed") + list_installation_repos_for_authenticated_user: Optional[ + "OctokitAppsListInstallationReposForAuthenticatedUser" + ] = Field(default=None, alias="listInstallationReposForAuthenticatedUser") + list_installations: Optional["OctokitAppsListInstallations"] = Field( + default=None, alias="listInstallations" + ) + list_installations_for_authenticated_user: Optional[ + "OctokitAppsListInstallationsForAuthenticatedUser" + ] = Field(default=None, alias="listInstallationsForAuthenticatedUser") + list_marketplace_purchases_for_authenticated_user: Optional[ + "OctokitAppsListMarketplacePurchasesForAuthenticatedUser" + ] = Field(default=None, alias="listMarketplacePurchasesForAuthenticatedUser") + list_marketplace_purchases_for_authenticated_user_stubbed: Optional[ + "OctokitAppsListMarketplacePurchasesForAuthenticatedUserStubbed" + ] = Field(default=None, alias="listMarketplacePurchasesForAuthenticatedUserStubbed") + list_plans: Optional["OctokitAppsListPlans"] = Field( + default=None, alias="listPlans" + ) + list_plans_stubbed: Optional["OctokitAppsListPlansStubbed"] = Field( + default=None, alias="listPlansStubbed" + ) + list_repos: Optional["OctokitAppsListRepos"] = Field( + default=None, alias="listRepos" + ) + remove_repo_from_installation: Optional["OctokitAppsRemoveRepoFromInstallation"] = ( + Field(default=None, alias="removeRepoFromInstallation") + ) + + +class OctokitAppsAddRepoToInstallation(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitAppsCheckAccountIsAssociatedWithAny(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitAppsCheckAccountIsAssociatedWithAnyStubbed(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitAppsCreateContentAttachment(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitAppsCreateFromManifest(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitAppsCreateInstallationToken(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitAppsFindOrgInstallation(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitAppsFindRepoInstallation(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitAppsFindUserInstallation(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitAppsGetAuthenticated(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitAppsGetBySlug(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitAppsGetInstallation(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitAppsListAccountsUserOrOrgOnPlan(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitAppsListAccountsUserOrOrgOnPlanStubbed(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitAppsListInstallationReposForAuthenticatedUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitAppsListInstallations(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitAppsListInstallationsForAuthenticatedUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitAppsListMarketplacePurchasesForAuthenticatedUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitAppsListMarketplacePurchasesForAuthenticatedUserStubbed(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitAppsListPlans(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitAppsListPlansStubbed(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitAppsListRepos(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitAppsRemoveRepoFromInstallation(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitChecks(BaseModel): + create: Optional["OctokitChecksCreate"] = Field(default=None, alias="create") + create_suite: Optional["OctokitChecksCreateSuite"] = Field( + default=None, alias="createSuite" + ) + get: Optional["OctokitChecksGet"] = Field(default=None, alias="get") + get_suite: Optional["OctokitChecksGetSuite"] = Field(default=None, alias="getSuite") + list_annotations: Optional["OctokitChecksListAnnotations"] = Field( + default=None, alias="listAnnotations" + ) + list_for_ref: Optional["OctokitChecksListForRef"] = Field( + default=None, alias="listForRef" + ) + list_for_suite: Optional["OctokitChecksListForSuite"] = Field( + default=None, alias="listForSuite" + ) + list_suites_for_ref: Optional["OctokitChecksListSuitesForRef"] = Field( + default=None, alias="listSuitesForRef" + ) + rerequest_suite: Optional["OctokitChecksRerequestSuite"] = Field( + default=None, alias="rerequestSuite" + ) + set_suites_preferences: Optional["OctokitChecksSetSuitesPreferences"] = Field( + default=None, alias="setSuitesPreferences" + ) + update: Optional["OctokitChecksUpdate"] = Field(default=None, alias="update") + + +class OctokitChecksCreate(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitChecksCreateSuite(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitChecksGet(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitChecksGetSuite(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitChecksListAnnotations(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitChecksListForRef(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitChecksListForSuite(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitChecksListSuitesForRef(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitChecksRerequestSuite(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitChecksSetSuitesPreferences(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitChecksUpdate(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitCodesOfConduct(BaseModel): + get_conduct_code: Optional["OctokitCodesOfConductGetConductCode"] = Field( + default=None, alias="getConductCode" + ) + get_for_repo: Optional["OctokitCodesOfConductGetForRepo"] = Field( + default=None, alias="getForRepo" + ) + list_conduct_codes: Optional["OctokitCodesOfConductListConductCodes"] = Field( + default=None, alias="listConductCodes" + ) + + +class OctokitCodesOfConductGetConductCode(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitCodesOfConductGetForRepo(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitCodesOfConductListConductCodes(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitEmojis(BaseModel): + get: Optional["OctokitEmojisGet"] = Field(default=None, alias="get") + + +class OctokitEmojisGet(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGists(BaseModel): + check_is_starred: Optional["OctokitGistsCheckIsStarred"] = Field( + default=None, alias="checkIsStarred" + ) + create: Optional["OctokitGistsCreate"] = Field(default=None, alias="create") + create_comment: Optional["OctokitGistsCreateComment"] = Field( + default=None, alias="createComment" + ) + delete: Optional["OctokitGistsDelete"] = Field(default=None, alias="delete") + delete_comment: Optional["OctokitGistsDeleteComment"] = Field( + default=None, alias="deleteComment" + ) + fork: Optional["OctokitGistsFork"] = Field(default=None, alias="fork") + get: Optional["OctokitGistsGet"] = Field(default=None, alias="get") + get_comment: Optional["OctokitGistsGetComment"] = Field( + default=None, alias="getComment" + ) + get_revision: Optional["OctokitGistsGetRevision"] = Field( + default=None, alias="getRevision" + ) + list: Optional["OctokitGistsList"] = Field(default=None, alias="list") + list_comments: Optional["OctokitGistsListComments"] = Field( + default=None, alias="listComments" + ) + list_commits: Optional["OctokitGistsListCommits"] = Field( + default=None, alias="listCommits" + ) + list_forks: Optional["OctokitGistsListForks"] = Field( + default=None, alias="listForks" + ) + list_public: Optional["OctokitGistsListPublic"] = Field( + default=None, alias="listPublic" + ) + list_public_for_user: Optional["OctokitGistsListPublicForUser"] = Field( + default=None, alias="listPublicForUser" + ) + list_starred: Optional["OctokitGistsListStarred"] = Field( + default=None, alias="listStarred" + ) + star: Optional["OctokitGistsStar"] = Field(default=None, alias="star") + unstar: Optional["OctokitGistsUnstar"] = Field(default=None, alias="unstar") + update: Optional["OctokitGistsUpdate"] = Field(default=None, alias="update") + update_comment: Optional["OctokitGistsUpdateComment"] = Field( + default=None, alias="updateComment" + ) + + +class OctokitGistsCheckIsStarred(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGistsCreate(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGistsCreateComment(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGistsDelete(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGistsDeleteComment(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGistsFork(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGistsGet(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGistsGetComment(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGistsGetRevision(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGistsList(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGistsListComments(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGistsListCommits(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGistsListForks(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGistsListPublic(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGistsListPublicForUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGistsListStarred(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGistsStar(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGistsUnstar(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGistsUpdate(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGistsUpdateComment(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGit(BaseModel): + create_blob: Optional["OctokitGitCreateBlob"] = Field( + default=None, alias="createBlob" + ) + create_commit: Optional["OctokitGitCreateCommit"] = Field( + default=None, alias="createCommit" + ) + create_ref: Optional["OctokitGitCreateRef"] = Field(default=None, alias="createRef") + create_tag: Optional["OctokitGitCreateTag"] = Field(default=None, alias="createTag") + create_tree: Optional["OctokitGitCreateTree"] = Field( + default=None, alias="createTree" + ) + delete_ref: Optional["OctokitGitDeleteRef"] = Field(default=None, alias="deleteRef") + get_blob: Optional["OctokitGitGetBlob"] = Field(default=None, alias="getBlob") + get_commit: Optional["OctokitGitGetCommit"] = Field(default=None, alias="getCommit") + get_ref: Optional["OctokitGitGetRef"] = Field(default=None, alias="getRef") + get_tag: Optional["OctokitGitGetTag"] = Field(default=None, alias="getTag") + get_tree: Optional["OctokitGitGetTree"] = Field(default=None, alias="getTree") + list_refs: Optional["OctokitGitListRefs"] = Field(default=None, alias="listRefs") + update_ref: Optional["OctokitGitUpdateRef"] = Field(default=None, alias="updateRef") + + +class OctokitGitCreateBlob(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGitCreateCommit(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGitCreateRef(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGitCreateTag(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGitCreateTree(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGitDeleteRef(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGitGetBlob(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGitGetCommit(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGitGetRef(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGitGetTag(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGitGetTree(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGitListRefs(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGitUpdateRef(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGitignore(BaseModel): + get_template: Optional["OctokitGitignoreGetTemplate"] = Field( + default=None, alias="getTemplate" + ) + list_templates: Optional["OctokitGitignoreListTemplates"] = Field( + default=None, alias="listTemplates" + ) + + +class OctokitGitignoreGetTemplate(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitGitignoreListTemplates(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitHook(BaseModel): + pass + + +class OctokitInteractions(BaseModel): + add_or_update_restrictions_for_org: Optional[ + "OctokitInteractionsAddOrUpdateRestrictionsForOrg" + ] = Field(default=None, alias="addOrUpdateRestrictionsForOrg") + add_or_update_restrictions_for_repo: Optional[ + "OctokitInteractionsAddOrUpdateRestrictionsForRepo" + ] = Field(default=None, alias="addOrUpdateRestrictionsForRepo") + get_restrictions_for_org: Optional["OctokitInteractionsGetRestrictionsForOrg"] = ( + Field(default=None, alias="getRestrictionsForOrg") + ) + get_restrictions_for_repo: Optional["OctokitInteractionsGetRestrictionsForRepo"] = ( + Field(default=None, alias="getRestrictionsForRepo") + ) + remove_restrictions_for_org: Optional[ + "OctokitInteractionsRemoveRestrictionsForOrg" + ] = Field(default=None, alias="removeRestrictionsForOrg") + remove_restrictions_for_repo: Optional[ + "OctokitInteractionsRemoveRestrictionsForRepo" + ] = Field(default=None, alias="removeRestrictionsForRepo") + + +class OctokitInteractionsAddOrUpdateRestrictionsForOrg(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitInteractionsAddOrUpdateRestrictionsForRepo(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitInteractionsGetRestrictionsForOrg(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitInteractionsGetRestrictionsForRepo(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitInteractionsRemoveRestrictionsForOrg(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitInteractionsRemoveRestrictionsForRepo(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssues(BaseModel): + add_assignees: Optional["OctokitIssuesAddAssignees"] = Field( + default=None, alias="addAssignees" + ) + add_labels: Optional["OctokitIssuesAddLabels"] = Field( + default=None, alias="addLabels" + ) + check_assignee: Optional["OctokitIssuesCheckAssignee"] = Field( + default=None, alias="checkAssignee" + ) + create: Optional["OctokitIssuesCreate"] = Field(default=None, alias="create") + create_comment: Optional["OctokitIssuesCreateComment"] = Field( + default=None, alias="createComment" + ) + create_label: Optional["OctokitIssuesCreateLabel"] = Field( + default=None, alias="createLabel" + ) + create_milestone: Optional["OctokitIssuesCreateMilestone"] = Field( + default=None, alias="createMilestone" + ) + delete_comment: Optional["OctokitIssuesDeleteComment"] = Field( + default=None, alias="deleteComment" + ) + delete_label: Optional["OctokitIssuesDeleteLabel"] = Field( + default=None, alias="deleteLabel" + ) + delete_milestone: Optional["OctokitIssuesDeleteMilestone"] = Field( + default=None, alias="deleteMilestone" + ) + get: Optional["OctokitIssuesGet"] = Field(default=None, alias="get") + get_comment: Optional["OctokitIssuesGetComment"] = Field( + default=None, alias="getComment" + ) + get_event: Optional["OctokitIssuesGetEvent"] = Field(default=None, alias="getEvent") + get_label: Optional["OctokitIssuesGetLabel"] = Field(default=None, alias="getLabel") + get_milestone: Optional["OctokitIssuesGetMilestone"] = Field( + default=None, alias="getMilestone" + ) + list: Optional["OctokitIssuesList"] = Field(default=None, alias="list") + list_assignees: Optional["OctokitIssuesListAssignees"] = Field( + default=None, alias="listAssignees" + ) + list_comments: Optional["OctokitIssuesListComments"] = Field( + default=None, alias="listComments" + ) + list_comments_for_repo: Optional["OctokitIssuesListCommentsForRepo"] = Field( + default=None, alias="listCommentsForRepo" + ) + list_events: Optional["OctokitIssuesListEvents"] = Field( + default=None, alias="listEvents" + ) + list_events_for_repo: Optional["OctokitIssuesListEventsForRepo"] = Field( + default=None, alias="listEventsForRepo" + ) + list_events_for_timeline: Optional["OctokitIssuesListEventsForTimeline"] = Field( + default=None, alias="listEventsForTimeline" + ) + list_for_authenticated_user: Optional["OctokitIssuesListForAuthenticatedUser"] = ( + Field(default=None, alias="listForAuthenticatedUser") + ) + list_for_org: Optional["OctokitIssuesListForOrg"] = Field( + default=None, alias="listForOrg" + ) + list_for_repo: Optional["OctokitIssuesListForRepo"] = Field( + default=None, alias="listForRepo" + ) + list_labels_for_milestone: Optional["OctokitIssuesListLabelsForMilestone"] = Field( + default=None, alias="listLabelsForMilestone" + ) + list_labels_for_repo: Optional["OctokitIssuesListLabelsForRepo"] = Field( + default=None, alias="listLabelsForRepo" + ) + list_labels_on_issue: Optional["OctokitIssuesListLabelsOnIssue"] = Field( + default=None, alias="listLabelsOnIssue" + ) + list_milestones_for_repo: Optional["OctokitIssuesListMilestonesForRepo"] = Field( + default=None, alias="listMilestonesForRepo" + ) + lock: Optional["OctokitIssuesLock"] = Field(default=None, alias="lock") + remove_assignees: Optional["OctokitIssuesRemoveAssignees"] = Field( + default=None, alias="removeAssignees" + ) + remove_label: Optional["OctokitIssuesRemoveLabel"] = Field( + default=None, alias="removeLabel" + ) + remove_labels: Optional["OctokitIssuesRemoveLabels"] = Field( + default=None, alias="removeLabels" + ) + replace_labels: Optional["OctokitIssuesReplaceLabels"] = Field( + default=None, alias="replaceLabels" + ) + unlock: Optional["OctokitIssuesUnlock"] = Field(default=None, alias="unlock") + update: Optional["OctokitIssuesUpdate"] = Field(default=None, alias="update") + update_comment: Optional["OctokitIssuesUpdateComment"] = Field( + default=None, alias="updateComment" + ) + update_label: Optional["OctokitIssuesUpdateLabel"] = Field( + default=None, alias="updateLabel" + ) + update_milestone: Optional["OctokitIssuesUpdateMilestone"] = Field( + default=None, alias="updateMilestone" + ) + + +class OctokitIssuesAddAssignees(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesAddLabels(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesCheckAssignee(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesCreate(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesCreateComment(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesCreateLabel(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesCreateMilestone(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesDeleteComment(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesDeleteLabel(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesDeleteMilestone(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesGet(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesGetComment(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesGetEvent(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesGetLabel(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesGetMilestone(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesList(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesListAssignees(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesListComments(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesListCommentsForRepo(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesListEvents(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesListEventsForRepo(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesListEventsForTimeline(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesListForAuthenticatedUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesListForOrg(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesListForRepo(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesListLabelsForMilestone(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesListLabelsForRepo(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesListLabelsOnIssue(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesListMilestonesForRepo(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesLock(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesRemoveAssignees(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesRemoveLabel(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesRemoveLabels(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesReplaceLabels(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesUnlock(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesUpdate(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesUpdateComment(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesUpdateLabel(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitIssuesUpdateMilestone(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitLicenses(BaseModel): + get: Optional["OctokitLicensesGet"] = Field(default=None, alias="get") + get_for_repo: Optional["OctokitLicensesGetForRepo"] = Field( + default=None, alias="getForRepo" + ) + list: Optional["OctokitLicensesList"] = Field(default=None, alias="list") + + +class OctokitLicensesGet(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitLicensesGetForRepo(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitLicensesList(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitMarkdown(BaseModel): + render: Optional["OctokitMarkdownRender"] = Field(default=None, alias="render") + render_raw: Optional["OctokitMarkdownRenderRaw"] = Field( + default=None, alias="renderRaw" + ) + + +class OctokitMarkdownRender(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitMarkdownRenderRaw(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitMeta(BaseModel): + get: Optional["OctokitMetaGet"] = Field(default=None, alias="get") + + +class OctokitMetaGet(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitMigrations(BaseModel): + cancel_import: Optional["OctokitMigrationsCancelImport"] = Field( + default=None, alias="cancelImport" + ) + delete_archive_for_authenticated_user: Optional[ + "OctokitMigrationsDeleteArchiveForAuthenticatedUser" + ] = Field(default=None, alias="deleteArchiveForAuthenticatedUser") + delete_archive_for_org: Optional["OctokitMigrationsDeleteArchiveForOrg"] = Field( + default=None, alias="deleteArchiveForOrg" + ) + get_archive_for_authenticated_user: Optional[ + "OctokitMigrationsGetArchiveForAuthenticatedUser" + ] = Field(default=None, alias="getArchiveForAuthenticatedUser") + get_archive_for_org: Optional["OctokitMigrationsGetArchiveForOrg"] = Field( + default=None, alias="getArchiveForOrg" + ) + get_commit_authors: Optional["OctokitMigrationsGetCommitAuthors"] = Field( + default=None, alias="getCommitAuthors" + ) + get_import_progress: Optional["OctokitMigrationsGetImportProgress"] = Field( + default=None, alias="getImportProgress" + ) + get_large_files: Optional["OctokitMigrationsGetLargeFiles"] = Field( + default=None, alias="getLargeFiles" + ) + get_status_for_authenticated_user: Optional[ + "OctokitMigrationsGetStatusForAuthenticatedUser" + ] = Field(default=None, alias="getStatusForAuthenticatedUser") + get_status_for_org: Optional["OctokitMigrationsGetStatusForOrg"] = Field( + default=None, alias="getStatusForOrg" + ) + list_for_authenticated_user: Optional[ + "OctokitMigrationsListForAuthenticatedUser" + ] = Field(default=None, alias="listForAuthenticatedUser") + list_for_org: Optional["OctokitMigrationsListForOrg"] = Field( + default=None, alias="listForOrg" + ) + map_commit_author: Optional["OctokitMigrationsMapCommitAuthor"] = Field( + default=None, alias="mapCommitAuthor" + ) + set_lfs_preference: Optional["OctokitMigrationsSetLfsPreference"] = Field( + default=None, alias="setLfsPreference" + ) + start_for_authenticated_user: Optional[ + "OctokitMigrationsStartForAuthenticatedUser" + ] = Field(default=None, alias="startForAuthenticatedUser") + start_for_org: Optional["OctokitMigrationsStartForOrg"] = Field( + default=None, alias="startForOrg" + ) + start_import: Optional["OctokitMigrationsStartImport"] = Field( + default=None, alias="startImport" + ) + unlock_repo_for_authenticated_user: Optional[ + "OctokitMigrationsUnlockRepoForAuthenticatedUser" + ] = Field(default=None, alias="unlockRepoForAuthenticatedUser") + unlock_repo_for_org: Optional["OctokitMigrationsUnlockRepoForOrg"] = Field( + default=None, alias="unlockRepoForOrg" + ) + update_import: Optional["OctokitMigrationsUpdateImport"] = Field( + default=None, alias="updateImport" + ) + + +class OctokitMigrationsCancelImport(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitMigrationsDeleteArchiveForAuthenticatedUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitMigrationsDeleteArchiveForOrg(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitMigrationsGetArchiveForAuthenticatedUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitMigrationsGetArchiveForOrg(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitMigrationsGetCommitAuthors(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitMigrationsGetImportProgress(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitMigrationsGetLargeFiles(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitMigrationsGetStatusForAuthenticatedUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitMigrationsGetStatusForOrg(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitMigrationsListForAuthenticatedUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitMigrationsListForOrg(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitMigrationsMapCommitAuthor(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitMigrationsSetLfsPreference(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitMigrationsStartForAuthenticatedUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitMigrationsStartForOrg(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitMigrationsStartImport(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitMigrationsUnlockRepoForAuthenticatedUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitMigrationsUnlockRepoForOrg(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitMigrationsUpdateImport(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOauthAuthorizations(BaseModel): + check_authorization: Optional["OctokitOauthAuthorizationsCheckAuthorization"] = ( + Field(default=None, alias="checkAuthorization") + ) + create_authorization: Optional["OctokitOauthAuthorizationsCreateAuthorization"] = ( + Field(default=None, alias="createAuthorization") + ) + delete_authorization: Optional["OctokitOauthAuthorizationsDeleteAuthorization"] = ( + Field(default=None, alias="deleteAuthorization") + ) + delete_grant: Optional["OctokitOauthAuthorizationsDeleteGrant"] = Field( + default=None, alias="deleteGrant" + ) + get_authorization: Optional["OctokitOauthAuthorizationsGetAuthorization"] = Field( + default=None, alias="getAuthorization" + ) + get_grant: Optional["OctokitOauthAuthorizationsGetGrant"] = Field( + default=None, alias="getGrant" + ) + get_or_create_authorization_for_app: Optional[ + "OctokitOauthAuthorizationsGetOrCreateAuthorizationForApp" + ] = Field(default=None, alias="getOrCreateAuthorizationForApp") + get_or_create_authorization_for_app_and_fingerprint: Optional[ + "OctokitOauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprint" + ] = Field(default=None, alias="getOrCreateAuthorizationForAppAndFingerprint") + get_or_create_authorization_for_app_fingerprint: Optional[ + "OctokitOauthAuthorizationsGetOrCreateAuthorizationForAppFingerprint" + ] = Field(default=None, alias="getOrCreateAuthorizationForAppFingerprint") + list_authorizations: Optional["OctokitOauthAuthorizationsListAuthorizations"] = ( + Field(default=None, alias="listAuthorizations") + ) + list_grants: Optional["OctokitOauthAuthorizationsListGrants"] = Field( + default=None, alias="listGrants" + ) + reset_authorization: Optional["OctokitOauthAuthorizationsResetAuthorization"] = ( + Field(default=None, alias="resetAuthorization") + ) + revoke_authorization_for_application: Optional[ + "OctokitOauthAuthorizationsRevokeAuthorizationForApplication" + ] = Field(default=None, alias="revokeAuthorizationForApplication") + revoke_grant_for_application: Optional[ + "OctokitOauthAuthorizationsRevokeGrantForApplication" + ] = Field(default=None, alias="revokeGrantForApplication") + update_authorization: Optional["OctokitOauthAuthorizationsUpdateAuthorization"] = ( + Field(default=None, alias="updateAuthorization") + ) + + +class OctokitOauthAuthorizationsCheckAuthorization(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOauthAuthorizationsCreateAuthorization(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOauthAuthorizationsDeleteAuthorization(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOauthAuthorizationsDeleteGrant(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOauthAuthorizationsGetAuthorization(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOauthAuthorizationsGetGrant(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOauthAuthorizationsGetOrCreateAuthorizationForApp(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprint(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOauthAuthorizationsGetOrCreateAuthorizationForAppFingerprint(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOauthAuthorizationsListAuthorizations(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOauthAuthorizationsListGrants(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOauthAuthorizationsResetAuthorization(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOauthAuthorizationsRevokeAuthorizationForApplication(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOauthAuthorizationsRevokeGrantForApplication(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOauthAuthorizationsUpdateAuthorization(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgs(BaseModel): + add_or_update_membership: Optional["OctokitOrgsAddOrUpdateMembership"] = Field( + default=None, alias="addOrUpdateMembership" + ) + block_user: Optional["OctokitOrgsBlockUser"] = Field( + default=None, alias="blockUser" + ) + check_blocked_user: Optional["OctokitOrgsCheckBlockedUser"] = Field( + default=None, alias="checkBlockedUser" + ) + check_membership: Optional["OctokitOrgsCheckMembership"] = Field( + default=None, alias="checkMembership" + ) + check_public_membership: Optional["OctokitOrgsCheckPublicMembership"] = Field( + default=None, alias="checkPublicMembership" + ) + conceal_membership: Optional["OctokitOrgsConcealMembership"] = Field( + default=None, alias="concealMembership" + ) + convert_member_to_outside_collaborator: Optional[ + "OctokitOrgsConvertMemberToOutsideCollaborator" + ] = Field(default=None, alias="convertMemberToOutsideCollaborator") + create_hook: Optional["OctokitOrgsCreateHook"] = Field( + default=None, alias="createHook" + ) + create_invitation: Optional["OctokitOrgsCreateInvitation"] = Field( + default=None, alias="createInvitation" + ) + delete_hook: Optional["OctokitOrgsDeleteHook"] = Field( + default=None, alias="deleteHook" + ) + get: Optional["OctokitOrgsGet"] = Field(default=None, alias="get") + get_hook: Optional["OctokitOrgsGetHook"] = Field(default=None, alias="getHook") + get_membership: Optional["OctokitOrgsGetMembership"] = Field( + default=None, alias="getMembership" + ) + get_membership_for_authenticated_user: Optional[ + "OctokitOrgsGetMembershipForAuthenticatedUser" + ] = Field(default=None, alias="getMembershipForAuthenticatedUser") + list: Optional["OctokitOrgsList"] = Field(default=None, alias="list") + list_blocked_users: Optional["OctokitOrgsListBlockedUsers"] = Field( + default=None, alias="listBlockedUsers" + ) + list_for_authenticated_user: Optional["OctokitOrgsListForAuthenticatedUser"] = ( + Field(default=None, alias="listForAuthenticatedUser") + ) + list_for_user: Optional["OctokitOrgsListForUser"] = Field( + default=None, alias="listForUser" + ) + list_hooks: Optional["OctokitOrgsListHooks"] = Field( + default=None, alias="listHooks" + ) + list_invitation_teams: Optional["OctokitOrgsListInvitationTeams"] = Field( + default=None, alias="listInvitationTeams" + ) + list_members: Optional["OctokitOrgsListMembers"] = Field( + default=None, alias="listMembers" + ) + list_memberships: Optional["OctokitOrgsListMemberships"] = Field( + default=None, alias="listMemberships" + ) + list_outside_collaborators: Optional["OctokitOrgsListOutsideCollaborators"] = Field( + default=None, alias="listOutsideCollaborators" + ) + list_pending_invitations: Optional["OctokitOrgsListPendingInvitations"] = Field( + default=None, alias="listPendingInvitations" + ) + list_public_members: Optional["OctokitOrgsListPublicMembers"] = Field( + default=None, alias="listPublicMembers" + ) + ping_hook: Optional["OctokitOrgsPingHook"] = Field(default=None, alias="pingHook") + publicize_membership: Optional["OctokitOrgsPublicizeMembership"] = Field( + default=None, alias="publicizeMembership" + ) + remove_member: Optional["OctokitOrgsRemoveMember"] = Field( + default=None, alias="removeMember" + ) + remove_membership: Optional["OctokitOrgsRemoveMembership"] = Field( + default=None, alias="removeMembership" + ) + remove_outside_collaborator: Optional["OctokitOrgsRemoveOutsideCollaborator"] = ( + Field(default=None, alias="removeOutsideCollaborator") + ) + unblock_user: Optional["OctokitOrgsUnblockUser"] = Field( + default=None, alias="unblockUser" + ) + update: Optional["OctokitOrgsUpdate"] = Field(default=None, alias="update") + update_hook: Optional["OctokitOrgsUpdateHook"] = Field( + default=None, alias="updateHook" + ) + update_membership: Optional["OctokitOrgsUpdateMembership"] = Field( + default=None, alias="updateMembership" + ) + + +class OctokitOrgsAddOrUpdateMembership(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsBlockUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsCheckBlockedUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsCheckMembership(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsCheckPublicMembership(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsConcealMembership(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsConvertMemberToOutsideCollaborator(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsCreateHook(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsCreateInvitation(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsDeleteHook(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsGet(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsGetHook(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsGetMembership(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsGetMembershipForAuthenticatedUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsList(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsListBlockedUsers(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsListForAuthenticatedUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsListForUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsListHooks(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsListInvitationTeams(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsListMembers(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsListMemberships(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsListOutsideCollaborators(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsListPendingInvitations(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsListPublicMembers(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsPingHook(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsPublicizeMembership(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsRemoveMember(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsRemoveMembership(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsRemoveOutsideCollaborator(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsUnblockUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsUpdate(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsUpdateHook(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitOrgsUpdateMembership(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitProjects(BaseModel): + add_collaborator: Optional["OctokitProjectsAddCollaborator"] = Field( + default=None, alias="addCollaborator" + ) + create_card: Optional["OctokitProjectsCreateCard"] = Field( + default=None, alias="createCard" + ) + create_column: Optional["OctokitProjectsCreateColumn"] = Field( + default=None, alias="createColumn" + ) + create_for_org: Optional["OctokitProjectsCreateForOrg"] = Field( + default=None, alias="createForOrg" + ) + create_for_repo: Optional["OctokitProjectsCreateForRepo"] = Field( + default=None, alias="createForRepo" + ) + delete: Optional["OctokitProjectsDelete"] = Field(default=None, alias="delete") + delete_card: Optional["OctokitProjectsDeleteCard"] = Field( + default=None, alias="deleteCard" + ) + delete_column: Optional["OctokitProjectsDeleteColumn"] = Field( + default=None, alias="deleteColumn" + ) + get: Optional["OctokitProjectsGet"] = Field(default=None, alias="get") + get_card: Optional["OctokitProjectsGetCard"] = Field(default=None, alias="getCard") + get_column: Optional["OctokitProjectsGetColumn"] = Field( + default=None, alias="getColumn" + ) + list_cards: Optional["OctokitProjectsListCards"] = Field( + default=None, alias="listCards" + ) + list_collaborators: Optional["OctokitProjectsListCollaborators"] = Field( + default=None, alias="listCollaborators" + ) + list_columns: Optional["OctokitProjectsListColumns"] = Field( + default=None, alias="listColumns" + ) + list_for_org: Optional["OctokitProjectsListForOrg"] = Field( + default=None, alias="listForOrg" + ) + list_for_repo: Optional["OctokitProjectsListForRepo"] = Field( + default=None, alias="listForRepo" + ) + move_card: Optional["OctokitProjectsMoveCard"] = Field( + default=None, alias="moveCard" + ) + move_column: Optional["OctokitProjectsMoveColumn"] = Field( + default=None, alias="moveColumn" + ) + remove_collaborator: Optional["OctokitProjectsRemoveCollaborator"] = Field( + default=None, alias="removeCollaborator" + ) + review_user_permission_level: Optional[ + "OctokitProjectsReviewUserPermissionLevel" + ] = Field(default=None, alias="reviewUserPermissionLevel") + update: Optional["OctokitProjectsUpdate"] = Field(default=None, alias="update") + update_card: Optional["OctokitProjectsUpdateCard"] = Field( + default=None, alias="updateCard" + ) + update_column: Optional["OctokitProjectsUpdateColumn"] = Field( + default=None, alias="updateColumn" + ) + + +class OctokitProjectsAddCollaborator(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitProjectsCreateCard(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitProjectsCreateColumn(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitProjectsCreateForOrg(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitProjectsCreateForRepo(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitProjectsDelete(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitProjectsDeleteCard(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitProjectsDeleteColumn(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitProjectsGet(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitProjectsGetCard(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitProjectsGetColumn(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitProjectsListCards(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitProjectsListCollaborators(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitProjectsListColumns(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitProjectsListForOrg(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitProjectsListForRepo(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitProjectsMoveCard(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitProjectsMoveColumn(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitProjectsRemoveCollaborator(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitProjectsReviewUserPermissionLevel(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitProjectsUpdate(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitProjectsUpdateCard(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitProjectsUpdateColumn(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitPulls(BaseModel): + check_if_merged: Optional["OctokitPullsCheckIfMerged"] = Field( + default=None, alias="checkIfMerged" + ) + create: Optional["OctokitPullsCreate"] = Field(default=None, alias="create") + create_comment: Optional["OctokitPullsCreateComment"] = Field( + default=None, alias="createComment" + ) + create_comment_reply: Optional["OctokitPullsCreateCommentReply"] = Field( + default=None, alias="createCommentReply" + ) + create_from_issue: Optional["OctokitPullsCreateFromIssue"] = Field( + default=None, alias="createFromIssue" + ) + create_review: Optional["OctokitPullsCreateReview"] = Field( + default=None, alias="createReview" + ) + create_review_request: Optional["OctokitPullsCreateReviewRequest"] = Field( + default=None, alias="createReviewRequest" + ) + delete_comment: Optional["OctokitPullsDeleteComment"] = Field( + default=None, alias="deleteComment" + ) + delete_pending_review: Optional["OctokitPullsDeletePendingReview"] = Field( + default=None, alias="deletePendingReview" + ) + delete_review_request: Optional["OctokitPullsDeleteReviewRequest"] = Field( + default=None, alias="deleteReviewRequest" + ) + dismiss_review: Optional["OctokitPullsDismissReview"] = Field( + default=None, alias="dismissReview" + ) + get: Optional["OctokitPullsGet"] = Field(default=None, alias="get") + get_comment: Optional["OctokitPullsGetComment"] = Field( + default=None, alias="getComment" + ) + get_comments_for_review: Optional["OctokitPullsGetCommentsForReview"] = Field( + default=None, alias="getCommentsForReview" + ) + get_review: Optional["OctokitPullsGetReview"] = Field( + default=None, alias="getReview" + ) + list: Optional["OctokitPullsList"] = Field(default=None, alias="list") + list_comments: Optional["OctokitPullsListComments"] = Field( + default=None, alias="listComments" + ) + list_comments_for_repo: Optional["OctokitPullsListCommentsForRepo"] = Field( + default=None, alias="listCommentsForRepo" + ) + list_commits: Optional["OctokitPullsListCommits"] = Field( + default=None, alias="listCommits" + ) + list_files: Optional["OctokitPullsListFiles"] = Field( + default=None, alias="listFiles" + ) + list_review_requests: Optional["OctokitPullsListReviewRequests"] = Field( + default=None, alias="listReviewRequests" + ) + list_reviews: Optional["OctokitPullsListReviews"] = Field( + default=None, alias="listReviews" + ) + merge: Optional["OctokitPullsMerge"] = Field(default=None, alias="merge") + submit_review: Optional["OctokitPullsSubmitReview"] = Field( + default=None, alias="submitReview" + ) + update: Optional["OctokitPullsUpdate"] = Field(default=None, alias="update") + update_comment: Optional["OctokitPullsUpdateComment"] = Field( + default=None, alias="updateComment" + ) + update_review: Optional["OctokitPullsUpdateReview"] = Field( + default=None, alias="updateReview" + ) + + +class OctokitPullsCheckIfMerged(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitPullsCreate(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitPullsCreateComment(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitPullsCreateCommentReply(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitPullsCreateFromIssue(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitPullsCreateReview(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitPullsCreateReviewRequest(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitPullsDeleteComment(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitPullsDeletePendingReview(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitPullsDeleteReviewRequest(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitPullsDismissReview(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitPullsGet(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitPullsGetComment(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitPullsGetCommentsForReview(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitPullsGetReview(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitPullsList(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitPullsListComments(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitPullsListCommentsForRepo(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitPullsListCommits(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitPullsListFiles(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitPullsListReviewRequests(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitPullsListReviews(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitPullsMerge(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitPullsSubmitReview(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitPullsUpdate(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitPullsUpdateComment(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitPullsUpdateReview(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitRateLimit(BaseModel): + get: Optional["OctokitRateLimitGet"] = Field(default=None, alias="get") + + +class OctokitRateLimitGet(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReactions(BaseModel): + create_for_commit_comment: Optional["OctokitReactionsCreateForCommitComment"] = ( + Field(default=None, alias="createForCommitComment") + ) + create_for_issue: Optional["OctokitReactionsCreateForIssue"] = Field( + default=None, alias="createForIssue" + ) + create_for_issue_comment: Optional["OctokitReactionsCreateForIssueComment"] = Field( + default=None, alias="createForIssueComment" + ) + create_for_pull_request_review_comment: Optional[ + "OctokitReactionsCreateForPullRequestReviewComment" + ] = Field(default=None, alias="createForPullRequestReviewComment") + create_for_team_discussion: Optional["OctokitReactionsCreateForTeamDiscussion"] = ( + Field(default=None, alias="createForTeamDiscussion") + ) + create_for_team_discussion_comment: Optional[ + "OctokitReactionsCreateForTeamDiscussionComment" + ] = Field(default=None, alias="createForTeamDiscussionComment") + delete: Optional["OctokitReactionsDelete"] = Field(default=None, alias="delete") + list_for_commit_comment: Optional["OctokitReactionsListForCommitComment"] = Field( + default=None, alias="listForCommitComment" + ) + list_for_issue: Optional["OctokitReactionsListForIssue"] = Field( + default=None, alias="listForIssue" + ) + list_for_issue_comment: Optional["OctokitReactionsListForIssueComment"] = Field( + default=None, alias="listForIssueComment" + ) + list_for_pull_request_review_comment: Optional[ + "OctokitReactionsListForPullRequestReviewComment" + ] = Field(default=None, alias="listForPullRequestReviewComment") + list_for_team_discussion: Optional["OctokitReactionsListForTeamDiscussion"] = Field( + default=None, alias="listForTeamDiscussion" + ) + list_for_team_discussion_comment: Optional[ + "OctokitReactionsListForTeamDiscussionComment" + ] = Field(default=None, alias="listForTeamDiscussionComment") + + +class OctokitReactionsCreateForCommitComment(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReactionsCreateForIssue(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReactionsCreateForIssueComment(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReactionsCreateForPullRequestReviewComment(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReactionsCreateForTeamDiscussion(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReactionsCreateForTeamDiscussionComment(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReactionsDelete(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReactionsListForCommitComment(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReactionsListForIssue(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReactionsListForIssueComment(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReactionsListForPullRequestReviewComment(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReactionsListForTeamDiscussion(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReactionsListForTeamDiscussionComment(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitRepos(BaseModel): + accept_invitation: Optional["OctokitReposAcceptInvitation"] = Field( + default=None, alias="acceptInvitation" + ) + add_collaborator: Optional["OctokitReposAddCollaborator"] = Field( + default=None, alias="addCollaborator" + ) + add_deploy_key: Optional["OctokitReposAddDeployKey"] = Field( + default=None, alias="addDeployKey" + ) + add_protected_branch_admin_enforcement: Optional[ + "OctokitReposAddProtectedBranchAdminEnforcement" + ] = Field(default=None, alias="addProtectedBranchAdminEnforcement") + add_protected_branch_required_signatures: Optional[ + "OctokitReposAddProtectedBranchRequiredSignatures" + ] = Field(default=None, alias="addProtectedBranchRequiredSignatures") + add_protected_branch_required_status_checks_contexts: Optional[ + "OctokitReposAddProtectedBranchRequiredStatusChecksContexts" + ] = Field(default=None, alias="addProtectedBranchRequiredStatusChecksContexts") + add_protected_branch_team_restrictions: Optional[ + "OctokitReposAddProtectedBranchTeamRestrictions" + ] = Field(default=None, alias="addProtectedBranchTeamRestrictions") + add_protected_branch_user_restrictions: Optional[ + "OctokitReposAddProtectedBranchUserRestrictions" + ] = Field(default=None, alias="addProtectedBranchUserRestrictions") + check_collaborator: Optional["OctokitReposCheckCollaborator"] = Field( + default=None, alias="checkCollaborator" + ) + compare_commits: Optional["OctokitReposCompareCommits"] = Field( + default=None, alias="compareCommits" + ) + create_commit_comment: Optional["OctokitReposCreateCommitComment"] = Field( + default=None, alias="createCommitComment" + ) + create_deployment: Optional["OctokitReposCreateDeployment"] = Field( + default=None, alias="createDeployment" + ) + create_deployment_status: Optional["OctokitReposCreateDeploymentStatus"] = Field( + default=None, alias="createDeploymentStatus" + ) + create_file: Optional["OctokitReposCreateFile"] = Field( + default=None, alias="createFile" + ) + create_for_authenticated_user: Optional[ + "OctokitReposCreateForAuthenticatedUser" + ] = Field(default=None, alias="createForAuthenticatedUser") + create_fork: Optional["OctokitReposCreateFork"] = Field( + default=None, alias="createFork" + ) + create_hook: Optional["OctokitReposCreateHook"] = Field( + default=None, alias="createHook" + ) + create_in_org: Optional["OctokitReposCreateInOrg"] = Field( + default=None, alias="createInOrg" + ) + create_release: Optional["OctokitReposCreateRelease"] = Field( + default=None, alias="createRelease" + ) + create_status: Optional["OctokitReposCreateStatus"] = Field( + default=None, alias="createStatus" + ) + decline_invitation: Optional["OctokitReposDeclineInvitation"] = Field( + default=None, alias="declineInvitation" + ) + delete: Optional["OctokitReposDelete"] = Field(default=None, alias="delete") + delete_commit_comment: Optional["OctokitReposDeleteCommitComment"] = Field( + default=None, alias="deleteCommitComment" + ) + delete_download: Optional["OctokitReposDeleteDownload"] = Field( + default=None, alias="deleteDownload" + ) + delete_file: Optional["OctokitReposDeleteFile"] = Field( + default=None, alias="deleteFile" + ) + delete_hook: Optional["OctokitReposDeleteHook"] = Field( + default=None, alias="deleteHook" + ) + delete_invitation: Optional["OctokitReposDeleteInvitation"] = Field( + default=None, alias="deleteInvitation" + ) + delete_release: Optional["OctokitReposDeleteRelease"] = Field( + default=None, alias="deleteRelease" + ) + delete_release_asset: Optional["OctokitReposDeleteReleaseAsset"] = Field( + default=None, alias="deleteReleaseAsset" + ) + get: Optional["OctokitReposGet"] = Field(default=None, alias="get") + get_archive_link: Optional["OctokitReposGetArchiveLink"] = Field( + default=None, alias="getArchiveLink" + ) + get_branch: Optional["OctokitReposGetBranch"] = Field( + default=None, alias="getBranch" + ) + get_branch_protection: Optional["OctokitReposGetBranchProtection"] = Field( + default=None, alias="getBranchProtection" + ) + get_clones: Optional["OctokitReposGetClones"] = Field( + default=None, alias="getClones" + ) + get_code_frequency_stats: Optional["OctokitReposGetCodeFrequencyStats"] = Field( + default=None, alias="getCodeFrequencyStats" + ) + get_collaborator_permission_level: Optional[ + "OctokitReposGetCollaboratorPermissionLevel" + ] = Field(default=None, alias="getCollaboratorPermissionLevel") + get_combined_status_for_ref: Optional["OctokitReposGetCombinedStatusForRef"] = ( + Field(default=None, alias="getCombinedStatusForRef") + ) + get_commit: Optional["OctokitReposGetCommit"] = Field( + default=None, alias="getCommit" + ) + get_commit_activity_stats: Optional["OctokitReposGetCommitActivityStats"] = Field( + default=None, alias="getCommitActivityStats" + ) + get_commit_comment: Optional["OctokitReposGetCommitComment"] = Field( + default=None, alias="getCommitComment" + ) + get_commit_ref_sha: Optional["OctokitReposGetCommitRefSha"] = Field( + default=None, alias="getCommitRefSha" + ) + get_contents: Optional["OctokitReposGetContents"] = Field( + default=None, alias="getContents" + ) + get_contributors_stats: Optional["OctokitReposGetContributorsStats"] = Field( + default=None, alias="getContributorsStats" + ) + get_deploy_key: Optional["OctokitReposGetDeployKey"] = Field( + default=None, alias="getDeployKey" + ) + get_deployment: Optional["OctokitReposGetDeployment"] = Field( + default=None, alias="getDeployment" + ) + get_deployment_status: Optional["OctokitReposGetDeploymentStatus"] = Field( + default=None, alias="getDeploymentStatus" + ) + get_download: Optional["OctokitReposGetDownload"] = Field( + default=None, alias="getDownload" + ) + get_hook: Optional["OctokitReposGetHook"] = Field(default=None, alias="getHook") + get_latest_pages_build: Optional["OctokitReposGetLatestPagesBuild"] = Field( + default=None, alias="getLatestPagesBuild" + ) + get_latest_release: Optional["OctokitReposGetLatestRelease"] = Field( + default=None, alias="getLatestRelease" + ) + get_pages: Optional["OctokitReposGetPages"] = Field(default=None, alias="getPages") + get_pages_build: Optional["OctokitReposGetPagesBuild"] = Field( + default=None, alias="getPagesBuild" + ) + get_participation_stats: Optional["OctokitReposGetParticipationStats"] = Field( + default=None, alias="getParticipationStats" + ) + get_protected_branch_admin_enforcement: Optional[ + "OctokitReposGetProtectedBranchAdminEnforcement" + ] = Field(default=None, alias="getProtectedBranchAdminEnforcement") + get_protected_branch_pull_request_review_enforcement: Optional[ + "OctokitReposGetProtectedBranchPullRequestReviewEnforcement" + ] = Field(default=None, alias="getProtectedBranchPullRequestReviewEnforcement") + get_protected_branch_required_signatures: Optional[ + "OctokitReposGetProtectedBranchRequiredSignatures" + ] = Field(default=None, alias="getProtectedBranchRequiredSignatures") + get_protected_branch_required_status_checks: Optional[ + "OctokitReposGetProtectedBranchRequiredStatusChecks" + ] = Field(default=None, alias="getProtectedBranchRequiredStatusChecks") + get_protected_branch_restrictions: Optional[ + "OctokitReposGetProtectedBranchRestrictions" + ] = Field(default=None, alias="getProtectedBranchRestrictions") + get_punch_card_stats: Optional["OctokitReposGetPunchCardStats"] = Field( + default=None, alias="getPunchCardStats" + ) + get_readme: Optional["OctokitReposGetReadme"] = Field( + default=None, alias="getReadme" + ) + get_release: Optional["OctokitReposGetRelease"] = Field( + default=None, alias="getRelease" + ) + get_release_asset: Optional["OctokitReposGetReleaseAsset"] = Field( + default=None, alias="getReleaseAsset" + ) + get_release_by_tag: Optional["OctokitReposGetReleaseByTag"] = Field( + default=None, alias="getReleaseByTag" + ) + get_top_paths: Optional["OctokitReposGetTopPaths"] = Field( + default=None, alias="getTopPaths" + ) + get_top_referrers: Optional["OctokitReposGetTopReferrers"] = Field( + default=None, alias="getTopReferrers" + ) + get_views: Optional["OctokitReposGetViews"] = Field(default=None, alias="getViews") + list: Optional["OctokitReposList"] = Field(default=None, alias="list") + list_assets_for_release: Optional["OctokitReposListAssetsForRelease"] = Field( + default=None, alias="listAssetsForRelease" + ) + list_branches: Optional["OctokitReposListBranches"] = Field( + default=None, alias="listBranches" + ) + list_collaborators: Optional["OctokitReposListCollaborators"] = Field( + default=None, alias="listCollaborators" + ) + list_comments_for_commit: Optional["OctokitReposListCommentsForCommit"] = Field( + default=None, alias="listCommentsForCommit" + ) + list_commit_comments: Optional["OctokitReposListCommitComments"] = Field( + default=None, alias="listCommitComments" + ) + list_commits: Optional["OctokitReposListCommits"] = Field( + default=None, alias="listCommits" + ) + list_contributors: Optional["OctokitReposListContributors"] = Field( + default=None, alias="listContributors" + ) + list_deploy_keys: Optional["OctokitReposListDeployKeys"] = Field( + default=None, alias="listDeployKeys" + ) + list_deployment_statuses: Optional["OctokitReposListDeploymentStatuses"] = Field( + default=None, alias="listDeploymentStatuses" + ) + list_deployments: Optional["OctokitReposListDeployments"] = Field( + default=None, alias="listDeployments" + ) + list_downloads: Optional["OctokitReposListDownloads"] = Field( + default=None, alias="listDownloads" + ) + list_for_org: Optional["OctokitReposListForOrg"] = Field( + default=None, alias="listForOrg" + ) + list_for_user: Optional["OctokitReposListForUser"] = Field( + default=None, alias="listForUser" + ) + list_forks: Optional["OctokitReposListForks"] = Field( + default=None, alias="listForks" + ) + list_hooks: Optional["OctokitReposListHooks"] = Field( + default=None, alias="listHooks" + ) + list_invitations: Optional["OctokitReposListInvitations"] = Field( + default=None, alias="listInvitations" + ) + list_invitations_for_authenticated_user: Optional[ + "OctokitReposListInvitationsForAuthenticatedUser" + ] = Field(default=None, alias="listInvitationsForAuthenticatedUser") + list_languages: Optional["OctokitReposListLanguages"] = Field( + default=None, alias="listLanguages" + ) + list_pages_builds: Optional["OctokitReposListPagesBuilds"] = Field( + default=None, alias="listPagesBuilds" + ) + list_protected_branch_required_status_checks_contexts: Optional[ + "OctokitReposListProtectedBranchRequiredStatusChecksContexts" + ] = Field(default=None, alias="listProtectedBranchRequiredStatusChecksContexts") + list_protected_branch_team_restrictions: Optional[ + "OctokitReposListProtectedBranchTeamRestrictions" + ] = Field(default=None, alias="listProtectedBranchTeamRestrictions") + list_protected_branch_user_restrictions: Optional[ + "OctokitReposListProtectedBranchUserRestrictions" + ] = Field(default=None, alias="listProtectedBranchUserRestrictions") + list_public: Optional["OctokitReposListPublic"] = Field( + default=None, alias="listPublic" + ) + list_releases: Optional["OctokitReposListReleases"] = Field( + default=None, alias="listReleases" + ) + list_statuses_for_ref: Optional["OctokitReposListStatusesForRef"] = Field( + default=None, alias="listStatusesForRef" + ) + list_tags: Optional["OctokitReposListTags"] = Field(default=None, alias="listTags") + list_teams: Optional["OctokitReposListTeams"] = Field( + default=None, alias="listTeams" + ) + list_topics: Optional["OctokitReposListTopics"] = Field( + default=None, alias="listTopics" + ) + merge: Optional["OctokitReposMerge"] = Field(default=None, alias="merge") + ping_hook: Optional["OctokitReposPingHook"] = Field(default=None, alias="pingHook") + remove_branch_protection: Optional["OctokitReposRemoveBranchProtection"] = Field( + default=None, alias="removeBranchProtection" + ) + remove_collaborator: Optional["OctokitReposRemoveCollaborator"] = Field( + default=None, alias="removeCollaborator" + ) + remove_deploy_key: Optional["OctokitReposRemoveDeployKey"] = Field( + default=None, alias="removeDeployKey" + ) + remove_protected_branch_admin_enforcement: Optional[ + "OctokitReposRemoveProtectedBranchAdminEnforcement" + ] = Field(default=None, alias="removeProtectedBranchAdminEnforcement") + remove_protected_branch_pull_request_review_enforcement: Optional[ + "OctokitReposRemoveProtectedBranchPullRequestReviewEnforcement" + ] = Field(default=None, alias="removeProtectedBranchPullRequestReviewEnforcement") + remove_protected_branch_required_signatures: Optional[ + "OctokitReposRemoveProtectedBranchRequiredSignatures" + ] = Field(default=None, alias="removeProtectedBranchRequiredSignatures") + remove_protected_branch_required_status_checks: Optional[ + "OctokitReposRemoveProtectedBranchRequiredStatusChecks" + ] = Field(default=None, alias="removeProtectedBranchRequiredStatusChecks") + remove_protected_branch_required_status_checks_contexts: Optional[ + "OctokitReposRemoveProtectedBranchRequiredStatusChecksContexts" + ] = Field(default=None, alias="removeProtectedBranchRequiredStatusChecksContexts") + remove_protected_branch_restrictions: Optional[ + "OctokitReposRemoveProtectedBranchRestrictions" + ] = Field(default=None, alias="removeProtectedBranchRestrictions") + remove_protected_branch_team_restrictions: Optional[ + "OctokitReposRemoveProtectedBranchTeamRestrictions" + ] = Field(default=None, alias="removeProtectedBranchTeamRestrictions") + remove_protected_branch_user_restrictions: Optional[ + "OctokitReposRemoveProtectedBranchUserRestrictions" + ] = Field(default=None, alias="removeProtectedBranchUserRestrictions") + replace_protected_branch_required_status_checks_contexts: Optional[ + "OctokitReposReplaceProtectedBranchRequiredStatusChecksContexts" + ] = Field(default=None, alias="replaceProtectedBranchRequiredStatusChecksContexts") + replace_protected_branch_team_restrictions: Optional[ + "OctokitReposReplaceProtectedBranchTeamRestrictions" + ] = Field(default=None, alias="replaceProtectedBranchTeamRestrictions") + replace_protected_branch_user_restrictions: Optional[ + "OctokitReposReplaceProtectedBranchUserRestrictions" + ] = Field(default=None, alias="replaceProtectedBranchUserRestrictions") + replace_topics: Optional["OctokitReposReplaceTopics"] = Field( + default=None, alias="replaceTopics" + ) + request_page_build: Optional["OctokitReposRequestPageBuild"] = Field( + default=None, alias="requestPageBuild" + ) + retrieve_community_profile_metrics: Optional[ + "OctokitReposRetrieveCommunityProfileMetrics" + ] = Field(default=None, alias="retrieveCommunityProfileMetrics") + test_push_hook: Optional["OctokitReposTestPushHook"] = Field( + default=None, alias="testPushHook" + ) + transfer: Optional["OctokitReposTransfer"] = Field(default=None, alias="transfer") + update: Optional["OctokitReposUpdate"] = Field(default=None, alias="update") + update_branch_protection: Optional["OctokitReposUpdateBranchProtection"] = Field( + default=None, alias="updateBranchProtection" + ) + update_commit_comment: Optional["OctokitReposUpdateCommitComment"] = Field( + default=None, alias="updateCommitComment" + ) + update_file: Optional["OctokitReposUpdateFile"] = Field( + default=None, alias="updateFile" + ) + update_hook: Optional["OctokitReposUpdateHook"] = Field( + default=None, alias="updateHook" + ) + update_information_about_pages_site: Optional[ + "OctokitReposUpdateInformationAboutPagesSite" + ] = Field(default=None, alias="updateInformationAboutPagesSite") + update_invitation: Optional["OctokitReposUpdateInvitation"] = Field( + default=None, alias="updateInvitation" + ) + update_protected_branch_pull_request_review_enforcement: Optional[ + "OctokitReposUpdateProtectedBranchPullRequestReviewEnforcement" + ] = Field(default=None, alias="updateProtectedBranchPullRequestReviewEnforcement") + update_protected_branch_required_status_checks: Optional[ + "OctokitReposUpdateProtectedBranchRequiredStatusChecks" + ] = Field(default=None, alias="updateProtectedBranchRequiredStatusChecks") + update_release: Optional["OctokitReposUpdateRelease"] = Field( + default=None, alias="updateRelease" + ) + update_release_asset: Optional["OctokitReposUpdateReleaseAsset"] = Field( + default=None, alias="updateReleaseAsset" + ) + upload_release_asset: Optional["OctokitReposUploadReleaseAsset"] = Field( + default=None, alias="uploadReleaseAsset" + ) + + +class OctokitReposAcceptInvitation(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposAddCollaborator(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposAddDeployKey(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposAddProtectedBranchAdminEnforcement(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposAddProtectedBranchRequiredSignatures(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposAddProtectedBranchRequiredStatusChecksContexts(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposAddProtectedBranchTeamRestrictions(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposAddProtectedBranchUserRestrictions(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposCheckCollaborator(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposCompareCommits(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposCreateCommitComment(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposCreateDeployment(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposCreateDeploymentStatus(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposCreateFile(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposCreateForAuthenticatedUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposCreateFork(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposCreateHook(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposCreateInOrg(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposCreateRelease(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposCreateStatus(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposDeclineInvitation(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposDelete(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposDeleteCommitComment(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposDeleteDownload(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposDeleteFile(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposDeleteHook(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposDeleteInvitation(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposDeleteRelease(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposDeleteReleaseAsset(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGet(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetArchiveLink(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetBranch(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetBranchProtection(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetClones(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetCodeFrequencyStats(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetCollaboratorPermissionLevel(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetCombinedStatusForRef(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetCommit(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetCommitActivityStats(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetCommitComment(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetCommitRefSha(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetContents(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetContributorsStats(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetDeployKey(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetDeployment(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetDeploymentStatus(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetDownload(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetHook(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetLatestPagesBuild(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetLatestRelease(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetPages(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetPagesBuild(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetParticipationStats(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetProtectedBranchAdminEnforcement(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetProtectedBranchPullRequestReviewEnforcement(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetProtectedBranchRequiredSignatures(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetProtectedBranchRequiredStatusChecks(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetProtectedBranchRestrictions(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetPunchCardStats(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetReadme(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetRelease(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetReleaseAsset(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetReleaseByTag(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetTopPaths(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetTopReferrers(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposGetViews(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposList(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposListAssetsForRelease(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposListBranches(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposListCollaborators(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposListCommentsForCommit(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposListCommitComments(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposListCommits(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposListContributors(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposListDeployKeys(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposListDeploymentStatuses(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposListDeployments(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposListDownloads(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposListForOrg(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposListForUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposListForks(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposListHooks(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposListInvitations(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposListInvitationsForAuthenticatedUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposListLanguages(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposListPagesBuilds(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposListProtectedBranchRequiredStatusChecksContexts(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposListProtectedBranchTeamRestrictions(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposListProtectedBranchUserRestrictions(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposListPublic(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposListReleases(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposListStatusesForRef(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposListTags(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposListTeams(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposListTopics(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposMerge(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposPingHook(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposRemoveBranchProtection(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposRemoveCollaborator(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposRemoveDeployKey(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposRemoveProtectedBranchAdminEnforcement(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposRemoveProtectedBranchPullRequestReviewEnforcement(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposRemoveProtectedBranchRequiredSignatures(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposRemoveProtectedBranchRequiredStatusChecks(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposRemoveProtectedBranchRequiredStatusChecksContexts(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposRemoveProtectedBranchRestrictions(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposRemoveProtectedBranchTeamRestrictions(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposRemoveProtectedBranchUserRestrictions(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposReplaceProtectedBranchRequiredStatusChecksContexts(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposReplaceProtectedBranchTeamRestrictions(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposReplaceProtectedBranchUserRestrictions(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposReplaceTopics(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposRequestPageBuild(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposRetrieveCommunityProfileMetrics(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposTestPushHook(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposTransfer(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposUpdate(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposUpdateBranchProtection(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposUpdateCommitComment(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposUpdateFile(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposUpdateHook(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposUpdateInformationAboutPagesSite(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposUpdateInvitation(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposUpdateProtectedBranchPullRequestReviewEnforcement(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposUpdateProtectedBranchRequiredStatusChecks(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposUpdateRelease(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposUpdateReleaseAsset(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitReposUploadReleaseAsset(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitSearch(BaseModel): + code: Optional["OctokitSearchCode"] = Field(default=None, alias="code") + commits: Optional["OctokitSearchCommits"] = Field(default=None, alias="commits") + issues: Optional["OctokitSearchIssues"] = Field(default=None, alias="issues") + issues_and_pull_requests: Optional["OctokitSearchIssuesAndPullRequests"] = Field( + default=None, alias="issuesAndPullRequests" + ) + labels: Optional["OctokitSearchLabels"] = Field(default=None, alias="labels") + repos: Optional["OctokitSearchRepos"] = Field(default=None, alias="repos") + topics: Optional["OctokitSearchTopics"] = Field(default=None, alias="topics") + users: Optional["OctokitSearchUsers"] = Field(default=None, alias="users") + + +class OctokitSearchCode(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitSearchCommits(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitSearchIssues(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitSearchIssuesAndPullRequests(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitSearchLabels(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitSearchRepos(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitSearchTopics(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitSearchUsers(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeams(BaseModel): + add_member: Optional["OctokitTeamsAddMember"] = Field( + default=None, alias="addMember" + ) + add_or_update_membership: Optional["OctokitTeamsAddOrUpdateMembership"] = Field( + default=None, alias="addOrUpdateMembership" + ) + add_or_update_project: Optional["OctokitTeamsAddOrUpdateProject"] = Field( + default=None, alias="addOrUpdateProject" + ) + add_or_update_repo: Optional["OctokitTeamsAddOrUpdateRepo"] = Field( + default=None, alias="addOrUpdateRepo" + ) + check_manages_repo: Optional["OctokitTeamsCheckManagesRepo"] = Field( + default=None, alias="checkManagesRepo" + ) + create: Optional["OctokitTeamsCreate"] = Field(default=None, alias="create") + create_discussion: Optional["OctokitTeamsCreateDiscussion"] = Field( + default=None, alias="createDiscussion" + ) + create_discussion_comment: Optional["OctokitTeamsCreateDiscussionComment"] = Field( + default=None, alias="createDiscussionComment" + ) + delete: Optional["OctokitTeamsDelete"] = Field(default=None, alias="delete") + delete_discussion: Optional["OctokitTeamsDeleteDiscussion"] = Field( + default=None, alias="deleteDiscussion" + ) + delete_discussion_comment: Optional["OctokitTeamsDeleteDiscussionComment"] = Field( + default=None, alias="deleteDiscussionComment" + ) + get: Optional["OctokitTeamsGet"] = Field(default=None, alias="get") + get_discussion: Optional["OctokitTeamsGetDiscussion"] = Field( + default=None, alias="getDiscussion" + ) + get_discussion_comment: Optional["OctokitTeamsGetDiscussionComment"] = Field( + default=None, alias="getDiscussionComment" + ) + get_member: Optional["OctokitTeamsGetMember"] = Field( + default=None, alias="getMember" + ) + get_membership: Optional["OctokitTeamsGetMembership"] = Field( + default=None, alias="getMembership" + ) + list: Optional["OctokitTeamsList"] = Field(default=None, alias="list") + list_child: Optional["OctokitTeamsListChild"] = Field( + default=None, alias="listChild" + ) + list_discussion_comments: Optional["OctokitTeamsListDiscussionComments"] = Field( + default=None, alias="listDiscussionComments" + ) + list_discussions: Optional["OctokitTeamsListDiscussions"] = Field( + default=None, alias="listDiscussions" + ) + list_for_authenticated_user: Optional["OctokitTeamsListForAuthenticatedUser"] = ( + Field(default=None, alias="listForAuthenticatedUser") + ) + list_members: Optional["OctokitTeamsListMembers"] = Field( + default=None, alias="listMembers" + ) + list_pending_invitations: Optional["OctokitTeamsListPendingInvitations"] = Field( + default=None, alias="listPendingInvitations" + ) + list_projects: Optional["OctokitTeamsListProjects"] = Field( + default=None, alias="listProjects" + ) + list_repos: Optional["OctokitTeamsListRepos"] = Field( + default=None, alias="listRepos" + ) + remove_member: Optional["OctokitTeamsRemoveMember"] = Field( + default=None, alias="removeMember" + ) + remove_membership: Optional["OctokitTeamsRemoveMembership"] = Field( + default=None, alias="removeMembership" + ) + remove_project: Optional["OctokitTeamsRemoveProject"] = Field( + default=None, alias="removeProject" + ) + remove_repo: Optional["OctokitTeamsRemoveRepo"] = Field( + default=None, alias="removeRepo" + ) + review_project: Optional["OctokitTeamsReviewProject"] = Field( + default=None, alias="reviewProject" + ) + update: Optional["OctokitTeamsUpdate"] = Field(default=None, alias="update") + update_discussion: Optional["OctokitTeamsUpdateDiscussion"] = Field( + default=None, alias="updateDiscussion" + ) + update_discussion_comment: Optional["OctokitTeamsUpdateDiscussionComment"] = Field( + default=None, alias="updateDiscussionComment" + ) + + +class OctokitTeamsAddMember(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeamsAddOrUpdateMembership(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeamsAddOrUpdateProject(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeamsAddOrUpdateRepo(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeamsCheckManagesRepo(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeamsCreate(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeamsCreateDiscussion(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeamsCreateDiscussionComment(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeamsDelete(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeamsDeleteDiscussion(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeamsDeleteDiscussionComment(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeamsGet(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeamsGetDiscussion(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeamsGetDiscussionComment(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeamsGetMember(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeamsGetMembership(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeamsList(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeamsListChild(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeamsListDiscussionComments(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeamsListDiscussions(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeamsListForAuthenticatedUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeamsListMembers(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeamsListPendingInvitations(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeamsListProjects(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeamsListRepos(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeamsRemoveMember(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeamsRemoveMembership(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeamsRemoveProject(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeamsRemoveRepo(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeamsReviewProject(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeamsUpdate(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeamsUpdateDiscussion(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitTeamsUpdateDiscussionComment(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitUsers(BaseModel): + add_emails: Optional["OctokitUsersAddEmails"] = Field( + default=None, alias="addEmails" + ) + block: Optional["OctokitUsersBlock"] = Field(default=None, alias="block") + check_blocked: Optional["OctokitUsersCheckBlocked"] = Field( + default=None, alias="checkBlocked" + ) + check_following: Optional["OctokitUsersCheckFollowing"] = Field( + default=None, alias="checkFollowing" + ) + check_following_for_user: Optional["OctokitUsersCheckFollowingForUser"] = Field( + default=None, alias="checkFollowingForUser" + ) + create_gpg_key: Optional["OctokitUsersCreateGpgKey"] = Field( + default=None, alias="createGpgKey" + ) + create_public_key: Optional["OctokitUsersCreatePublicKey"] = Field( + default=None, alias="createPublicKey" + ) + delete_emails: Optional["OctokitUsersDeleteEmails"] = Field( + default=None, alias="deleteEmails" + ) + delete_gpg_key: Optional["OctokitUsersDeleteGpgKey"] = Field( + default=None, alias="deleteGpgKey" + ) + delete_public_key: Optional["OctokitUsersDeletePublicKey"] = Field( + default=None, alias="deletePublicKey" + ) + follow: Optional["OctokitUsersFollow"] = Field(default=None, alias="follow") + get_authenticated: Optional["OctokitUsersGetAuthenticated"] = Field( + default=None, alias="getAuthenticated" + ) + get_by_username: Optional["OctokitUsersGetByUsername"] = Field( + default=None, alias="getByUsername" + ) + get_context_for_user: Optional["OctokitUsersGetContextForUser"] = Field( + default=None, alias="getContextForUser" + ) + get_gpg_key: Optional["OctokitUsersGetGpgKey"] = Field( + default=None, alias="getGpgKey" + ) + get_public_key: Optional["OctokitUsersGetPublicKey"] = Field( + default=None, alias="getPublicKey" + ) + list: Optional["OctokitUsersList"] = Field(default=None, alias="list") + list_blocked: Optional["OctokitUsersListBlocked"] = Field( + default=None, alias="listBlocked" + ) + list_emails: Optional["OctokitUsersListEmails"] = Field( + default=None, alias="listEmails" + ) + list_followers_for_authenticated_user: Optional[ + "OctokitUsersListFollowersForAuthenticatedUser" + ] = Field(default=None, alias="listFollowersForAuthenticatedUser") + list_followers_for_user: Optional["OctokitUsersListFollowersForUser"] = Field( + default=None, alias="listFollowersForUser" + ) + list_following_for_authenticated_user: Optional[ + "OctokitUsersListFollowingForAuthenticatedUser" + ] = Field(default=None, alias="listFollowingForAuthenticatedUser") + list_following_for_user: Optional["OctokitUsersListFollowingForUser"] = Field( + default=None, alias="listFollowingForUser" + ) + list_gpg_keys: Optional["OctokitUsersListGpgKeys"] = Field( + default=None, alias="listGpgKeys" + ) + list_gpg_keys_for_user: Optional["OctokitUsersListGpgKeysForUser"] = Field( + default=None, alias="listGpgKeysForUser" + ) + list_public_emails: Optional["OctokitUsersListPublicEmails"] = Field( + default=None, alias="listPublicEmails" + ) + list_public_keys: Optional["OctokitUsersListPublicKeys"] = Field( + default=None, alias="listPublicKeys" + ) + list_public_keys_for_user: Optional["OctokitUsersListPublicKeysForUser"] = Field( + default=None, alias="listPublicKeysForUser" + ) + toggle_primary_email_visibility: Optional[ + "OctokitUsersTogglePrimaryEmailVisibility" + ] = Field(default=None, alias="togglePrimaryEmailVisibility") + unblock: Optional["OctokitUsersUnblock"] = Field(default=None, alias="unblock") + unfollow: Optional["OctokitUsersUnfollow"] = Field(default=None, alias="unfollow") + update_authenticated: Optional["OctokitUsersUpdateAuthenticated"] = Field( + default=None, alias="updateAuthenticated" + ) + + +class OctokitUsersAddEmails(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitUsersBlock(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitUsersCheckBlocked(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitUsersCheckFollowing(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitUsersCheckFollowingForUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitUsersCreateGpgKey(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitUsersCreatePublicKey(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitUsersDeleteEmails(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitUsersDeleteGpgKey(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitUsersDeletePublicKey(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitUsersFollow(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitUsersGetAuthenticated(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitUsersGetByUsername(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitUsersGetContextForUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitUsersGetGpgKey(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitUsersGetPublicKey(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitUsersList(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitUsersListBlocked(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitUsersListEmails(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitUsersListFollowersForAuthenticatedUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitUsersListFollowersForUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitUsersListFollowingForAuthenticatedUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitUsersListFollowingForUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitUsersListGpgKeys(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitUsersListGpgKeysForUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitUsersListPublicEmails(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitUsersListPublicKeys(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitUsersListPublicKeysForUser(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitUsersTogglePrimaryEmailVisibility(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitUsersUnblock(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitUsersUnfollow(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class OctokitUsersUpdateAuthenticated(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +class Paginate(BaseModel): + iterator: Optional["PaginateIterator"] = Field(default=None, alias="iterator") + + +class PaginateIterator(BaseModel): + pass + + +class RepoMetaData(BaseModel): + pull_request_id: str | None = Field(default=None, alias="pullRequestID") + repo_slug: str | None = Field(default=None, alias="repoSlug") + + +class Request(BaseModel): + endpoint: Optional["Endpoint"] = Field(default=None, alias="endpoint") + + +BitBucketCloudCommit.model_rebuild() + +BitBucketCloudCommitAuthor.model_rebuild() + +BitBucketCloudCommitParents.model_rebuild() + +BitBucketCloudCommitsLinks.model_rebuild() + +BitBucketCloudCommitsLinksHtml.model_rebuild() + +BitBucketCloudCompletePRLinks.model_rebuild() + +BitBucketCloudCompletePRLinksActivity.model_rebuild() + +BitBucketCloudCompletePRLinksApprove.model_rebuild() + +BitBucketCloudCompletePRLinksComments.model_rebuild() + +BitBucketCloudCompletePRLinksCommits.model_rebuild() + +BitBucketCloudCompletePRLinksDecline.model_rebuild() + +BitBucketCloudCompletePRLinksDiff.model_rebuild() + +BitBucketCloudCompletePRLinksHtml.model_rebuild() + +BitBucketCloudCompletePRLinksMerge.model_rebuild() + +BitBucketCloudCompletePRLinksSelf.model_rebuild() + +BitBucketCloudCompletePRLinksStatuses.model_rebuild() + +BitBucketCloudContent.model_rebuild() + + +BitBucketCloudJSONDSL.model_rebuild() + +BitBucketCloudMergeRef.model_rebuild() + +BitBucketCloudMergeRefBranch.model_rebuild() + +BitBucketCloudMergeRefCommit.model_rebuild() + +BitBucketCloudPRActivity.model_rebuild() + +BitBucketCloudPRActivityPullRequest.model_rebuild() + +BitBucketCloudPRComment.model_rebuild() + +BitBucketCloudPRCommentInline.model_rebuild() + +BitBucketCloudPRCommentPullrequest.model_rebuild() + +BitBucketCloudPRDSL.model_rebuild() + + +BitBucketCloudPRLinks.model_rebuild() + +BitBucketCloudPRLinksHtml.model_rebuild() + +BitBucketCloudPRLinksSelf.model_rebuild() + +BitBucketCloudPRParticipant.model_rebuild() + + +BitBucketCloudRepo.model_rebuild() + +BitBucketCloudUser.model_rebuild() + +BitBucketServerCommit.model_rebuild() + +BitBucketServerCommitAuthor.model_rebuild() + +BitBucketServerCommitCommitter.model_rebuild() + +BitBucketServerCommitParents.model_rebuild() + +BitBucketServerJSONDSL.model_rebuild() + + +BitBucketServerMergeRef.model_rebuild() + +BitBucketServerPRActivity.model_rebuild() + + +BitBucketServerPRActivityCommentAnchor.model_rebuild() + + +BitBucketServerPRComment.model_rebuild() + +BitBucketServerPRCommentParent.model_rebuild() + +BitBucketServerPRCommentPermittedOperations.model_rebuild() + +BitBucketServerPRDSL.model_rebuild() + + +BitBucketServerPRParticipant.model_rebuild() + + +BitBucketServerRepo.model_rebuild() + +BitBucketServerRepoProject.model_rebuild() + + +BitBucketServerUser.model_rebuild() + + +CliArgs.model_rebuild() + +DangerDSLJSONType.model_rebuild() + +DangerDSLJSONTypeSettings.model_rebuild() + +DangerDSLJSONTypeSettingsGithub.model_rebuild() + +Endpoint.model_rebuild() + +EndpointOptions.model_rebuild() + +EndpointOptionsHeaders.model_rebuild() + + +EndpointOptionsRequest.model_rebuild() + +GitCommit.model_rebuild() + +GitCommitAuthor.model_rebuild() + +GitHubAPIPR.model_rebuild() + +GitHubCommit.model_rebuild() + +GitHubDSL.model_rebuild() + +GitHubIssue.model_rebuild() + +GitHubIssueLabel.model_rebuild() + +GitHubMergeRef.model_rebuild() + +GitHubPRDSL.model_rebuild() + + +GitHubRepo.model_rebuild() + +GitHubReview.model_rebuild() + + +GitHubReviewers.model_rebuild() + +GitHubUser.model_rebuild() + + +GitHubUtilsDSL.model_rebuild() + +GitHubUtilsDSLCreateOrAddLabel.model_rebuild() + +GitHubUtilsDSLCreateOrUpdatePR.model_rebuild() + +GitHubUtilsDSLCreateUpdatedIssueWithID.model_rebuild() + +GitJSONDSL.model_rebuild() + +GitLabDSL.model_rebuild() + +GitLabDSLUtils.model_rebuild() + +GitLabMR.model_rebuild() + +GitLabMRCommit.model_rebuild() + +GitLabMRDiffRefs.model_rebuild() + + +GitLabMRMilestone.model_rebuild() + + +GitLabMRPipeline.model_rebuild() + + +GitLabMRTimeStats.model_rebuild() + +GitLabMRUser.model_rebuild() + +GitLabUser.model_rebuild() + + +JIRAIssue.model_rebuild() + +Log.model_rebuild() + +LogDebug.model_rebuild() + +LogError.model_rebuild() + +LogInfo.model_rebuild() + +LogWarn.model_rebuild() + +Octokit.model_rebuild() + +OctokitActivity.model_rebuild() + +OctokitActivityCheckStarringRepo.model_rebuild() + +OctokitActivityDeleteRepoSubscription.model_rebuild() + +OctokitActivityDeleteThreadSubscription.model_rebuild() + +OctokitActivityGetRepoSubscription.model_rebuild() + +OctokitActivityGetThread.model_rebuild() + +OctokitActivityGetThreadSubscription.model_rebuild() + +OctokitActivityListEventsForOrg.model_rebuild() + +OctokitActivityListEventsForUser.model_rebuild() + +OctokitActivityListFeeds.model_rebuild() + +OctokitActivityListNotifications.model_rebuild() + +OctokitActivityListNotificationsForRepo.model_rebuild() + +OctokitActivityListPublicEvents.model_rebuild() + +OctokitActivityListPublicEventsForOrg.model_rebuild() + +OctokitActivityListPublicEventsForRepoNetwork.model_rebuild() + +OctokitActivityListPublicEventsForUser.model_rebuild() + +OctokitActivityListReceivedEventsForUser.model_rebuild() + +OctokitActivityListReceivedPublicEventsForUser.model_rebuild() + +OctokitActivityListRepoEvents.model_rebuild() + +OctokitActivityListReposStarredByAuthenticatedUser.model_rebuild() + +OctokitActivityListReposStarredByUser.model_rebuild() + +OctokitActivityListReposWatchedByUser.model_rebuild() + +OctokitActivityListStargazersForRepo.model_rebuild() + +OctokitActivityListWatchedReposForAuthenticatedUser.model_rebuild() + +OctokitActivityListWatchersForRepo.model_rebuild() + +OctokitActivityMarkAsRead.model_rebuild() + +OctokitActivityMarkNotificationsAsReadForRepo.model_rebuild() + +OctokitActivityMarkThreadAsRead.model_rebuild() + +OctokitActivitySetRepoSubscription.model_rebuild() + +OctokitActivitySetThreadSubscription.model_rebuild() + +OctokitActivityStarRepo.model_rebuild() + +OctokitActivityUnstarRepo.model_rebuild() + +OctokitApps.model_rebuild() + +OctokitAppsAddRepoToInstallation.model_rebuild() + +OctokitAppsCheckAccountIsAssociatedWithAny.model_rebuild() + +OctokitAppsCheckAccountIsAssociatedWithAnyStubbed.model_rebuild() + +OctokitAppsCreateContentAttachment.model_rebuild() + +OctokitAppsCreateFromManifest.model_rebuild() + +OctokitAppsCreateInstallationToken.model_rebuild() + +OctokitAppsFindOrgInstallation.model_rebuild() + +OctokitAppsFindRepoInstallation.model_rebuild() + +OctokitAppsFindUserInstallation.model_rebuild() + +OctokitAppsGetAuthenticated.model_rebuild() + +OctokitAppsGetBySlug.model_rebuild() + +OctokitAppsGetInstallation.model_rebuild() + +OctokitAppsListAccountsUserOrOrgOnPlan.model_rebuild() + +OctokitAppsListAccountsUserOrOrgOnPlanStubbed.model_rebuild() + +OctokitAppsListInstallationReposForAuthenticatedUser.model_rebuild() + +OctokitAppsListInstallations.model_rebuild() + +OctokitAppsListInstallationsForAuthenticatedUser.model_rebuild() + +OctokitAppsListMarketplacePurchasesForAuthenticatedUser.model_rebuild() + +OctokitAppsListMarketplacePurchasesForAuthenticatedUserStubbed.model_rebuild() + +OctokitAppsListPlans.model_rebuild() + +OctokitAppsListPlansStubbed.model_rebuild() + +OctokitAppsListRepos.model_rebuild() + +OctokitAppsRemoveRepoFromInstallation.model_rebuild() + +OctokitChecks.model_rebuild() + +OctokitChecksCreate.model_rebuild() + +OctokitChecksCreateSuite.model_rebuild() + +OctokitChecksGet.model_rebuild() + +OctokitChecksGetSuite.model_rebuild() + +OctokitChecksListAnnotations.model_rebuild() + +OctokitChecksListForRef.model_rebuild() + +OctokitChecksListForSuite.model_rebuild() + +OctokitChecksListSuitesForRef.model_rebuild() + +OctokitChecksRerequestSuite.model_rebuild() + +OctokitChecksSetSuitesPreferences.model_rebuild() + +OctokitChecksUpdate.model_rebuild() + +OctokitCodesOfConduct.model_rebuild() + +OctokitCodesOfConductGetConductCode.model_rebuild() + +OctokitCodesOfConductGetForRepo.model_rebuild() + +OctokitCodesOfConductListConductCodes.model_rebuild() + +OctokitEmojis.model_rebuild() + +OctokitEmojisGet.model_rebuild() + +OctokitGists.model_rebuild() + +OctokitGistsCheckIsStarred.model_rebuild() + +OctokitGistsCreate.model_rebuild() + +OctokitGistsCreateComment.model_rebuild() + +OctokitGistsDelete.model_rebuild() + +OctokitGistsDeleteComment.model_rebuild() + +OctokitGistsFork.model_rebuild() + +OctokitGistsGet.model_rebuild() + +OctokitGistsGetComment.model_rebuild() + +OctokitGistsGetRevision.model_rebuild() + +OctokitGistsList.model_rebuild() + +OctokitGistsListComments.model_rebuild() + +OctokitGistsListCommits.model_rebuild() + +OctokitGistsListForks.model_rebuild() + +OctokitGistsListPublic.model_rebuild() + +OctokitGistsListPublicForUser.model_rebuild() + +OctokitGistsListStarred.model_rebuild() + +OctokitGistsStar.model_rebuild() + +OctokitGistsUnstar.model_rebuild() + +OctokitGistsUpdate.model_rebuild() + +OctokitGistsUpdateComment.model_rebuild() + +OctokitGit.model_rebuild() + +OctokitGitCreateBlob.model_rebuild() + +OctokitGitCreateCommit.model_rebuild() + +OctokitGitCreateRef.model_rebuild() + +OctokitGitCreateTag.model_rebuild() + +OctokitGitCreateTree.model_rebuild() + +OctokitGitDeleteRef.model_rebuild() + +OctokitGitGetBlob.model_rebuild() + +OctokitGitGetCommit.model_rebuild() + +OctokitGitGetRef.model_rebuild() + +OctokitGitGetTag.model_rebuild() + +OctokitGitGetTree.model_rebuild() + +OctokitGitListRefs.model_rebuild() + +OctokitGitUpdateRef.model_rebuild() + +OctokitGitignore.model_rebuild() + +OctokitGitignoreGetTemplate.model_rebuild() + +OctokitGitignoreListTemplates.model_rebuild() + +OctokitHook.model_rebuild() + +OctokitInteractions.model_rebuild() + +OctokitInteractionsAddOrUpdateRestrictionsForOrg.model_rebuild() + +OctokitInteractionsAddOrUpdateRestrictionsForRepo.model_rebuild() + +OctokitInteractionsGetRestrictionsForOrg.model_rebuild() + +OctokitInteractionsGetRestrictionsForRepo.model_rebuild() + +OctokitInteractionsRemoveRestrictionsForOrg.model_rebuild() + +OctokitInteractionsRemoveRestrictionsForRepo.model_rebuild() + +OctokitIssues.model_rebuild() + +OctokitIssuesAddAssignees.model_rebuild() + +OctokitIssuesAddLabels.model_rebuild() + +OctokitIssuesCheckAssignee.model_rebuild() + +OctokitIssuesCreate.model_rebuild() + +OctokitIssuesCreateComment.model_rebuild() + +OctokitIssuesCreateLabel.model_rebuild() + +OctokitIssuesCreateMilestone.model_rebuild() + +OctokitIssuesDeleteComment.model_rebuild() + +OctokitIssuesDeleteLabel.model_rebuild() + +OctokitIssuesDeleteMilestone.model_rebuild() + +OctokitIssuesGet.model_rebuild() + +OctokitIssuesGetComment.model_rebuild() + +OctokitIssuesGetEvent.model_rebuild() + +OctokitIssuesGetLabel.model_rebuild() + +OctokitIssuesGetMilestone.model_rebuild() + +OctokitIssuesList.model_rebuild() + +OctokitIssuesListAssignees.model_rebuild() + +OctokitIssuesListComments.model_rebuild() + +OctokitIssuesListCommentsForRepo.model_rebuild() + +OctokitIssuesListEvents.model_rebuild() + +OctokitIssuesListEventsForRepo.model_rebuild() + +OctokitIssuesListEventsForTimeline.model_rebuild() + +OctokitIssuesListForAuthenticatedUser.model_rebuild() + +OctokitIssuesListForOrg.model_rebuild() + +OctokitIssuesListForRepo.model_rebuild() + +OctokitIssuesListLabelsForMilestone.model_rebuild() + +OctokitIssuesListLabelsForRepo.model_rebuild() + +OctokitIssuesListLabelsOnIssue.model_rebuild() + +OctokitIssuesListMilestonesForRepo.model_rebuild() + +OctokitIssuesLock.model_rebuild() + +OctokitIssuesRemoveAssignees.model_rebuild() + +OctokitIssuesRemoveLabel.model_rebuild() + +OctokitIssuesRemoveLabels.model_rebuild() + +OctokitIssuesReplaceLabels.model_rebuild() + +OctokitIssuesUnlock.model_rebuild() + +OctokitIssuesUpdate.model_rebuild() + +OctokitIssuesUpdateComment.model_rebuild() + +OctokitIssuesUpdateLabel.model_rebuild() + +OctokitIssuesUpdateMilestone.model_rebuild() + +OctokitLicenses.model_rebuild() + +OctokitLicensesGet.model_rebuild() + +OctokitLicensesGetForRepo.model_rebuild() + +OctokitLicensesList.model_rebuild() + +OctokitMarkdown.model_rebuild() + +OctokitMarkdownRender.model_rebuild() + +OctokitMarkdownRenderRaw.model_rebuild() + +OctokitMeta.model_rebuild() + +OctokitMetaGet.model_rebuild() + +OctokitMigrations.model_rebuild() + +OctokitMigrationsCancelImport.model_rebuild() + +OctokitMigrationsDeleteArchiveForAuthenticatedUser.model_rebuild() + +OctokitMigrationsDeleteArchiveForOrg.model_rebuild() + +OctokitMigrationsGetArchiveForAuthenticatedUser.model_rebuild() + +OctokitMigrationsGetArchiveForOrg.model_rebuild() + +OctokitMigrationsGetCommitAuthors.model_rebuild() + +OctokitMigrationsGetImportProgress.model_rebuild() + +OctokitMigrationsGetLargeFiles.model_rebuild() + +OctokitMigrationsGetStatusForAuthenticatedUser.model_rebuild() + +OctokitMigrationsGetStatusForOrg.model_rebuild() + +OctokitMigrationsListForAuthenticatedUser.model_rebuild() + +OctokitMigrationsListForOrg.model_rebuild() + +OctokitMigrationsMapCommitAuthor.model_rebuild() + +OctokitMigrationsSetLfsPreference.model_rebuild() + +OctokitMigrationsStartForAuthenticatedUser.model_rebuild() + +OctokitMigrationsStartForOrg.model_rebuild() + +OctokitMigrationsStartImport.model_rebuild() + +OctokitMigrationsUnlockRepoForAuthenticatedUser.model_rebuild() + +OctokitMigrationsUnlockRepoForOrg.model_rebuild() + +OctokitMigrationsUpdateImport.model_rebuild() + +OctokitOauthAuthorizations.model_rebuild() + +OctokitOauthAuthorizationsCheckAuthorization.model_rebuild() + +OctokitOauthAuthorizationsCreateAuthorization.model_rebuild() + +OctokitOauthAuthorizationsDeleteAuthorization.model_rebuild() + +OctokitOauthAuthorizationsDeleteGrant.model_rebuild() + +OctokitOauthAuthorizationsGetAuthorization.model_rebuild() + +OctokitOauthAuthorizationsGetGrant.model_rebuild() + +OctokitOauthAuthorizationsGetOrCreateAuthorizationForApp.model_rebuild() + +OctokitOauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprint.model_rebuild() + +OctokitOauthAuthorizationsGetOrCreateAuthorizationForAppFingerprint.model_rebuild() + +OctokitOauthAuthorizationsListAuthorizations.model_rebuild() + +OctokitOauthAuthorizationsListGrants.model_rebuild() + +OctokitOauthAuthorizationsResetAuthorization.model_rebuild() + +OctokitOauthAuthorizationsRevokeAuthorizationForApplication.model_rebuild() + +OctokitOauthAuthorizationsRevokeGrantForApplication.model_rebuild() + +OctokitOauthAuthorizationsUpdateAuthorization.model_rebuild() + +OctokitOrgs.model_rebuild() + +OctokitOrgsAddOrUpdateMembership.model_rebuild() + +OctokitOrgsBlockUser.model_rebuild() + +OctokitOrgsCheckBlockedUser.model_rebuild() + +OctokitOrgsCheckMembership.model_rebuild() + +OctokitOrgsCheckPublicMembership.model_rebuild() + +OctokitOrgsConcealMembership.model_rebuild() + +OctokitOrgsConvertMemberToOutsideCollaborator.model_rebuild() + +OctokitOrgsCreateHook.model_rebuild() + +OctokitOrgsCreateInvitation.model_rebuild() + +OctokitOrgsDeleteHook.model_rebuild() + +OctokitOrgsGet.model_rebuild() + +OctokitOrgsGetHook.model_rebuild() + +OctokitOrgsGetMembership.model_rebuild() + +OctokitOrgsGetMembershipForAuthenticatedUser.model_rebuild() + +OctokitOrgsList.model_rebuild() + +OctokitOrgsListBlockedUsers.model_rebuild() + +OctokitOrgsListForAuthenticatedUser.model_rebuild() + +OctokitOrgsListForUser.model_rebuild() + +OctokitOrgsListHooks.model_rebuild() + +OctokitOrgsListInvitationTeams.model_rebuild() + +OctokitOrgsListMembers.model_rebuild() + +OctokitOrgsListMemberships.model_rebuild() + +OctokitOrgsListOutsideCollaborators.model_rebuild() + +OctokitOrgsListPendingInvitations.model_rebuild() + +OctokitOrgsListPublicMembers.model_rebuild() + +OctokitOrgsPingHook.model_rebuild() + +OctokitOrgsPublicizeMembership.model_rebuild() + +OctokitOrgsRemoveMember.model_rebuild() + +OctokitOrgsRemoveMembership.model_rebuild() + +OctokitOrgsRemoveOutsideCollaborator.model_rebuild() + +OctokitOrgsUnblockUser.model_rebuild() + +OctokitOrgsUpdate.model_rebuild() + +OctokitOrgsUpdateHook.model_rebuild() + +OctokitOrgsUpdateMembership.model_rebuild() + +OctokitProjects.model_rebuild() + +OctokitProjectsAddCollaborator.model_rebuild() + +OctokitProjectsCreateCard.model_rebuild() + +OctokitProjectsCreateColumn.model_rebuild() + +OctokitProjectsCreateForOrg.model_rebuild() + +OctokitProjectsCreateForRepo.model_rebuild() + +OctokitProjectsDelete.model_rebuild() + +OctokitProjectsDeleteCard.model_rebuild() + +OctokitProjectsDeleteColumn.model_rebuild() + +OctokitProjectsGet.model_rebuild() + +OctokitProjectsGetCard.model_rebuild() + +OctokitProjectsGetColumn.model_rebuild() + +OctokitProjectsListCards.model_rebuild() + +OctokitProjectsListCollaborators.model_rebuild() + +OctokitProjectsListColumns.model_rebuild() + +OctokitProjectsListForOrg.model_rebuild() + +OctokitProjectsListForRepo.model_rebuild() + +OctokitProjectsMoveCard.model_rebuild() + +OctokitProjectsMoveColumn.model_rebuild() + +OctokitProjectsRemoveCollaborator.model_rebuild() + +OctokitProjectsReviewUserPermissionLevel.model_rebuild() + +OctokitProjectsUpdate.model_rebuild() + +OctokitProjectsUpdateCard.model_rebuild() + +OctokitProjectsUpdateColumn.model_rebuild() + +OctokitPulls.model_rebuild() + +OctokitPullsCheckIfMerged.model_rebuild() + +OctokitPullsCreate.model_rebuild() + +OctokitPullsCreateComment.model_rebuild() + +OctokitPullsCreateCommentReply.model_rebuild() + +OctokitPullsCreateFromIssue.model_rebuild() + +OctokitPullsCreateReview.model_rebuild() + +OctokitPullsCreateReviewRequest.model_rebuild() + +OctokitPullsDeleteComment.model_rebuild() + +OctokitPullsDeletePendingReview.model_rebuild() + +OctokitPullsDeleteReviewRequest.model_rebuild() + +OctokitPullsDismissReview.model_rebuild() + +OctokitPullsGet.model_rebuild() + +OctokitPullsGetComment.model_rebuild() + +OctokitPullsGetCommentsForReview.model_rebuild() + +OctokitPullsGetReview.model_rebuild() + +OctokitPullsList.model_rebuild() + +OctokitPullsListComments.model_rebuild() + +OctokitPullsListCommentsForRepo.model_rebuild() + +OctokitPullsListCommits.model_rebuild() + +OctokitPullsListFiles.model_rebuild() + +OctokitPullsListReviewRequests.model_rebuild() + +OctokitPullsListReviews.model_rebuild() + +OctokitPullsMerge.model_rebuild() + +OctokitPullsSubmitReview.model_rebuild() + +OctokitPullsUpdate.model_rebuild() + +OctokitPullsUpdateComment.model_rebuild() + +OctokitPullsUpdateReview.model_rebuild() + +OctokitRateLimit.model_rebuild() + +OctokitRateLimitGet.model_rebuild() + +OctokitReactions.model_rebuild() + +OctokitReactionsCreateForCommitComment.model_rebuild() + +OctokitReactionsCreateForIssue.model_rebuild() + +OctokitReactionsCreateForIssueComment.model_rebuild() + +OctokitReactionsCreateForPullRequestReviewComment.model_rebuild() + +OctokitReactionsCreateForTeamDiscussion.model_rebuild() + +OctokitReactionsCreateForTeamDiscussionComment.model_rebuild() + +OctokitReactionsDelete.model_rebuild() + +OctokitReactionsListForCommitComment.model_rebuild() + +OctokitReactionsListForIssue.model_rebuild() + +OctokitReactionsListForIssueComment.model_rebuild() + +OctokitReactionsListForPullRequestReviewComment.model_rebuild() + +OctokitReactionsListForTeamDiscussion.model_rebuild() + +OctokitReactionsListForTeamDiscussionComment.model_rebuild() + +OctokitRepos.model_rebuild() + +OctokitReposAcceptInvitation.model_rebuild() + +OctokitReposAddCollaborator.model_rebuild() + +OctokitReposAddDeployKey.model_rebuild() + +OctokitReposAddProtectedBranchAdminEnforcement.model_rebuild() + +OctokitReposAddProtectedBranchRequiredSignatures.model_rebuild() + +OctokitReposAddProtectedBranchRequiredStatusChecksContexts.model_rebuild() + +OctokitReposAddProtectedBranchTeamRestrictions.model_rebuild() + +OctokitReposAddProtectedBranchUserRestrictions.model_rebuild() + +OctokitReposCheckCollaborator.model_rebuild() + +OctokitReposCompareCommits.model_rebuild() + +OctokitReposCreateCommitComment.model_rebuild() + +OctokitReposCreateDeployment.model_rebuild() + +OctokitReposCreateDeploymentStatus.model_rebuild() + +OctokitReposCreateFile.model_rebuild() + +OctokitReposCreateForAuthenticatedUser.model_rebuild() + +OctokitReposCreateFork.model_rebuild() + +OctokitReposCreateHook.model_rebuild() + +OctokitReposCreateInOrg.model_rebuild() + +OctokitReposCreateRelease.model_rebuild() + +OctokitReposCreateStatus.model_rebuild() + +OctokitReposDeclineInvitation.model_rebuild() + +OctokitReposDelete.model_rebuild() + +OctokitReposDeleteCommitComment.model_rebuild() + +OctokitReposDeleteDownload.model_rebuild() + +OctokitReposDeleteFile.model_rebuild() + +OctokitReposDeleteHook.model_rebuild() + +OctokitReposDeleteInvitation.model_rebuild() + +OctokitReposDeleteRelease.model_rebuild() + +OctokitReposDeleteReleaseAsset.model_rebuild() + +OctokitReposGet.model_rebuild() + +OctokitReposGetArchiveLink.model_rebuild() + +OctokitReposGetBranch.model_rebuild() + +OctokitReposGetBranchProtection.model_rebuild() + +OctokitReposGetClones.model_rebuild() + +OctokitReposGetCodeFrequencyStats.model_rebuild() + +OctokitReposGetCollaboratorPermissionLevel.model_rebuild() + +OctokitReposGetCombinedStatusForRef.model_rebuild() + +OctokitReposGetCommit.model_rebuild() + +OctokitReposGetCommitActivityStats.model_rebuild() + +OctokitReposGetCommitComment.model_rebuild() + +OctokitReposGetCommitRefSha.model_rebuild() + +OctokitReposGetContents.model_rebuild() + +OctokitReposGetContributorsStats.model_rebuild() + +OctokitReposGetDeployKey.model_rebuild() + +OctokitReposGetDeployment.model_rebuild() + +OctokitReposGetDeploymentStatus.model_rebuild() + +OctokitReposGetDownload.model_rebuild() + +OctokitReposGetHook.model_rebuild() + +OctokitReposGetLatestPagesBuild.model_rebuild() + +OctokitReposGetLatestRelease.model_rebuild() + +OctokitReposGetPages.model_rebuild() + +OctokitReposGetPagesBuild.model_rebuild() + +OctokitReposGetParticipationStats.model_rebuild() + +OctokitReposGetProtectedBranchAdminEnforcement.model_rebuild() + +OctokitReposGetProtectedBranchPullRequestReviewEnforcement.model_rebuild() + +OctokitReposGetProtectedBranchRequiredSignatures.model_rebuild() + +OctokitReposGetProtectedBranchRequiredStatusChecks.model_rebuild() + +OctokitReposGetProtectedBranchRestrictions.model_rebuild() + +OctokitReposGetPunchCardStats.model_rebuild() + +OctokitReposGetReadme.model_rebuild() + +OctokitReposGetRelease.model_rebuild() + +OctokitReposGetReleaseAsset.model_rebuild() + +OctokitReposGetReleaseByTag.model_rebuild() + +OctokitReposGetTopPaths.model_rebuild() + +OctokitReposGetTopReferrers.model_rebuild() + +OctokitReposGetViews.model_rebuild() + +OctokitReposList.model_rebuild() + +OctokitReposListAssetsForRelease.model_rebuild() + +OctokitReposListBranches.model_rebuild() + +OctokitReposListCollaborators.model_rebuild() + +OctokitReposListCommentsForCommit.model_rebuild() + +OctokitReposListCommitComments.model_rebuild() + +OctokitReposListCommits.model_rebuild() + +OctokitReposListContributors.model_rebuild() + +OctokitReposListDeployKeys.model_rebuild() + +OctokitReposListDeploymentStatuses.model_rebuild() + +OctokitReposListDeployments.model_rebuild() + +OctokitReposListDownloads.model_rebuild() + +OctokitReposListForOrg.model_rebuild() + +OctokitReposListForUser.model_rebuild() + +OctokitReposListForks.model_rebuild() + +OctokitReposListHooks.model_rebuild() + +OctokitReposListInvitations.model_rebuild() + +OctokitReposListInvitationsForAuthenticatedUser.model_rebuild() + +OctokitReposListLanguages.model_rebuild() + +OctokitReposListPagesBuilds.model_rebuild() + +OctokitReposListProtectedBranchRequiredStatusChecksContexts.model_rebuild() + +OctokitReposListProtectedBranchTeamRestrictions.model_rebuild() + +OctokitReposListProtectedBranchUserRestrictions.model_rebuild() + +OctokitReposListPublic.model_rebuild() + +OctokitReposListReleases.model_rebuild() + +OctokitReposListStatusesForRef.model_rebuild() + +OctokitReposListTags.model_rebuild() + +OctokitReposListTeams.model_rebuild() + +OctokitReposListTopics.model_rebuild() + +OctokitReposMerge.model_rebuild() + +OctokitReposPingHook.model_rebuild() + +OctokitReposRemoveBranchProtection.model_rebuild() + +OctokitReposRemoveCollaborator.model_rebuild() + +OctokitReposRemoveDeployKey.model_rebuild() + +OctokitReposRemoveProtectedBranchAdminEnforcement.model_rebuild() + +OctokitReposRemoveProtectedBranchPullRequestReviewEnforcement.model_rebuild() + +OctokitReposRemoveProtectedBranchRequiredSignatures.model_rebuild() + +OctokitReposRemoveProtectedBranchRequiredStatusChecks.model_rebuild() + +OctokitReposRemoveProtectedBranchRequiredStatusChecksContexts.model_rebuild() + +OctokitReposRemoveProtectedBranchRestrictions.model_rebuild() + +OctokitReposRemoveProtectedBranchTeamRestrictions.model_rebuild() + +OctokitReposRemoveProtectedBranchUserRestrictions.model_rebuild() + +OctokitReposReplaceProtectedBranchRequiredStatusChecksContexts.model_rebuild() + +OctokitReposReplaceProtectedBranchTeamRestrictions.model_rebuild() + +OctokitReposReplaceProtectedBranchUserRestrictions.model_rebuild() + +OctokitReposReplaceTopics.model_rebuild() + +OctokitReposRequestPageBuild.model_rebuild() + +OctokitReposRetrieveCommunityProfileMetrics.model_rebuild() + +OctokitReposTestPushHook.model_rebuild() + +OctokitReposTransfer.model_rebuild() + +OctokitReposUpdate.model_rebuild() + +OctokitReposUpdateBranchProtection.model_rebuild() + +OctokitReposUpdateCommitComment.model_rebuild() + +OctokitReposUpdateFile.model_rebuild() + +OctokitReposUpdateHook.model_rebuild() + +OctokitReposUpdateInformationAboutPagesSite.model_rebuild() + +OctokitReposUpdateInvitation.model_rebuild() + +OctokitReposUpdateProtectedBranchPullRequestReviewEnforcement.model_rebuild() + +OctokitReposUpdateProtectedBranchRequiredStatusChecks.model_rebuild() + +OctokitReposUpdateRelease.model_rebuild() + +OctokitReposUpdateReleaseAsset.model_rebuild() + +OctokitReposUploadReleaseAsset.model_rebuild() + +OctokitSearch.model_rebuild() + +OctokitSearchCode.model_rebuild() + +OctokitSearchCommits.model_rebuild() + +OctokitSearchIssues.model_rebuild() + +OctokitSearchIssuesAndPullRequests.model_rebuild() + +OctokitSearchLabels.model_rebuild() + +OctokitSearchRepos.model_rebuild() + +OctokitSearchTopics.model_rebuild() + +OctokitSearchUsers.model_rebuild() + +OctokitTeams.model_rebuild() + +OctokitTeamsAddMember.model_rebuild() + +OctokitTeamsAddOrUpdateMembership.model_rebuild() + +OctokitTeamsAddOrUpdateProject.model_rebuild() + +OctokitTeamsAddOrUpdateRepo.model_rebuild() + +OctokitTeamsCheckManagesRepo.model_rebuild() + +OctokitTeamsCreate.model_rebuild() + +OctokitTeamsCreateDiscussion.model_rebuild() + +OctokitTeamsCreateDiscussionComment.model_rebuild() + +OctokitTeamsDelete.model_rebuild() + +OctokitTeamsDeleteDiscussion.model_rebuild() + +OctokitTeamsDeleteDiscussionComment.model_rebuild() + +OctokitTeamsGet.model_rebuild() + +OctokitTeamsGetDiscussion.model_rebuild() + +OctokitTeamsGetDiscussionComment.model_rebuild() + +OctokitTeamsGetMember.model_rebuild() + +OctokitTeamsGetMembership.model_rebuild() + +OctokitTeamsList.model_rebuild() + +OctokitTeamsListChild.model_rebuild() + +OctokitTeamsListDiscussionComments.model_rebuild() + +OctokitTeamsListDiscussions.model_rebuild() + +OctokitTeamsListForAuthenticatedUser.model_rebuild() + +OctokitTeamsListMembers.model_rebuild() + +OctokitTeamsListPendingInvitations.model_rebuild() + +OctokitTeamsListProjects.model_rebuild() + +OctokitTeamsListRepos.model_rebuild() + +OctokitTeamsRemoveMember.model_rebuild() + +OctokitTeamsRemoveMembership.model_rebuild() + +OctokitTeamsRemoveProject.model_rebuild() + +OctokitTeamsRemoveRepo.model_rebuild() + +OctokitTeamsReviewProject.model_rebuild() + +OctokitTeamsUpdate.model_rebuild() + +OctokitTeamsUpdateDiscussion.model_rebuild() + +OctokitTeamsUpdateDiscussionComment.model_rebuild() + +OctokitUsers.model_rebuild() + +OctokitUsersAddEmails.model_rebuild() + +OctokitUsersBlock.model_rebuild() + +OctokitUsersCheckBlocked.model_rebuild() + +OctokitUsersCheckFollowing.model_rebuild() + +OctokitUsersCheckFollowingForUser.model_rebuild() + +OctokitUsersCreateGpgKey.model_rebuild() + +OctokitUsersCreatePublicKey.model_rebuild() + +OctokitUsersDeleteEmails.model_rebuild() + +OctokitUsersDeleteGpgKey.model_rebuild() + +OctokitUsersDeletePublicKey.model_rebuild() + +OctokitUsersFollow.model_rebuild() + +OctokitUsersGetAuthenticated.model_rebuild() + +OctokitUsersGetByUsername.model_rebuild() + +OctokitUsersGetContextForUser.model_rebuild() + +OctokitUsersGetGpgKey.model_rebuild() + +OctokitUsersGetPublicKey.model_rebuild() + +OctokitUsersList.model_rebuild() + +OctokitUsersListBlocked.model_rebuild() + +OctokitUsersListEmails.model_rebuild() + +OctokitUsersListFollowersForAuthenticatedUser.model_rebuild() + +OctokitUsersListFollowersForUser.model_rebuild() + +OctokitUsersListFollowingForAuthenticatedUser.model_rebuild() + +OctokitUsersListFollowingForUser.model_rebuild() + +OctokitUsersListGpgKeys.model_rebuild() + +OctokitUsersListGpgKeysForUser.model_rebuild() + +OctokitUsersListPublicEmails.model_rebuild() + +OctokitUsersListPublicKeys.model_rebuild() + +OctokitUsersListPublicKeysForUser.model_rebuild() + +OctokitUsersTogglePrimaryEmailVisibility.model_rebuild() + +OctokitUsersUnblock.model_rebuild() + +OctokitUsersUnfollow.model_rebuild() + +OctokitUsersUpdateAuthenticated.model_rebuild() + +Paginate.model_rebuild() + +PaginateIterator.model_rebuild() + +RepoMetaData.model_rebuild() + +Request.model_rebuild() diff --git a/pyproject.toml b/pyproject.toml index 5c41d31..3bfaa31 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -93,8 +93,31 @@ project-includes = ["danger_python", "tests"] ignore-missing-imports = ["*"] # danger_python/models.py is machine-generated by scripts/generate_scheme.py. # Pyrefly skips any file containing a `@generated` marker (treating it as -# excluded), which prevents false positives on codegen output. The marker must -# be emitted by the Jinja template (danger_python/generator/templates/dsl.py.jinja) -# for this to take effect — that template edit is a Group 6.3 follow-up. The -# generated models.py type-checks clean today, so nothing is masked in the interim. +# excluded), which prevents false positives on codegen output. The marker is +# emitted by the Jinja template (danger_python/generator/templates/dsl.py.jinja) +# as of the Group 6.3 template migration, so the regenerated models.py is +# auto-ignored. ignore-errors-in-generated-code = true + +# Migrated from setup.cfg [tool:pytest] (Group 5 config consolidation). +# The old [tool:pytest] `source = danger_python` line was not a valid pytest +# option (pytest ignored it); coverage's own [tool.coverage.run] source below +# is what scopes coverage, so it is intentionally not carried over. The +# [pytest-watch] section is dropped with pytest-watch itself (removed in Group 2). +[tool.pytest.ini_options] +python_files = ["test_*.py"] +addopts = "--cov --cov-report xml:cov.xml --cov-report term" + +# Migrated from setup.cfg [coverage:run] / [coverage:report]. The 100% gate +# (fail_under) is preserved unchanged. +[tool.coverage.run] +branch = true +source = ["danger_python"] + +[tool.coverage.report] +exclude_lines = [ + "pragma: no cover", + "def __repr__", + "if self\\.debug", +] +fail_under = 100 diff --git a/scripts/generate_scheme.py b/scripts/generate_scheme.py index 0cfc245..4f373c4 100644 --- a/scripts/generate_scheme.py +++ b/scripts/generate_scheme.py @@ -7,17 +7,18 @@ def main(): - with open("input_schema.json") as schema_file: + with open("input_schema.json", encoding="utf-8") as schema_file: types = build_types(parse_schema(schema_file.read())) rendered = render_classes(types) - with open("output_schema.py", "w") as output: - output.write(rendered) - base_path = os.path.dirname(os.path.realpath(__file__)) - shutil.move( - os.path.join(base_path, "output_schema.py"), - os.path.join("../danger_python/models.py"), - ) + base_path = os.path.dirname(os.path.realpath(__file__)) + output_path = os.path.join(base_path, "output_schema.py") + with open(output_path, "w", encoding="utf-8") as output: + output.write(rendered) + + # Move only after the handle is closed; on Windows an open handle blocks the + # unlink that shutil.move performs on the source file. + shutil.move(output_path, os.path.join("../danger_python/models.py")) if __name__ == "__main__": diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index 89f5aaf..0000000 --- a/setup.cfg +++ /dev/null @@ -1,19 +0,0 @@ -[tool:pytest] -source = danger_python -python_files = test_*.py -addopts = --cov --cov-report xml:cov.xml --cov-report term - -[coverage:run] -branch = True -source = danger_python - -[pytest-watch] -onpass = osascript -e 'display notification "Congratulations! Everything is green" with title "Tests passed"' -onfail = osascript -e 'display notification "Oops! Something has gone wrong" with title "Tests failed"' - -[coverage:report] -exclude_lines = - pragma: no cover - def __repr__ - if self\.debug -fail_under = 100 diff --git a/tests/generator/test_renderer.py b/tests/generator/test_renderer.py index 0c61f66..55881fe 100644 --- a/tests/generator/test_renderer.py +++ b/tests/generator/test_renderer.py @@ -36,10 +36,11 @@ def test_renderer_renders_definitions_correctly(): rendered_code = render_classes(to_render) assert rendered_code == ( + "# @generated by scripts/generate_scheme.py - DO NOT EDIT.\n" "from enum import Enum\n" "from typing import Any, List, Optional\n" "\n" - "from pydantic import BaseModel\n" + "from pydantic import BaseModel, Field\n" "\n" "\n" "class SomeNiceEnum(Enum):\n" @@ -48,18 +49,11 @@ def test_renderer_renders_definitions_correctly(): "\n" "\n" "class APythonClass(BaseModel):\n" - " string_val: Optional[str]\n" - " int_val: Optional[int]\n" + ' string_val: Optional[str] = Field(default=None, alias="stringVal")\n' + ' int_val: Optional[int] = Field(default=None, alias="intVal")\n' "\n" - " class Config:\n" - " fields = {\n" - ' "string_val": "stringVal",\n' - ' "int_val": "intVal",\n' - " }\n" - "\n" - "\n" - "APythonClass.update_forward_refs()" "\n" + "APythonClass.model_rebuild()" "\n" ) @@ -76,10 +70,11 @@ def test_renderer_handles_empty_classes_and_enums(): rendered_code = render_classes(to_render) assert rendered_code == ( + "# @generated by scripts/generate_scheme.py - DO NOT EDIT.\n" "from enum import Enum\n" "from typing import Any, List, Optional\n" "\n" - "from pydantic import BaseModel\n" + "from pydantic import BaseModel, Field\n" "\n" "\n" "class EmptyEnum(Enum):\n" @@ -90,8 +85,7 @@ def test_renderer_handles_empty_classes_and_enums(): " pass\n" "\n" "\n" - "EmptyClass.update_forward_refs()" - "\n" + "EmptyClass.model_rebuild()" "\n" ) @@ -133,29 +127,23 @@ def test_renderer_renders_custom_attributes_correctly(): rendered_code = render_classes(to_render) assert rendered_code == ( + "# @generated by scripts/generate_scheme.py - DO NOT EDIT.\n" "from enum import Enum\n" "from typing import Any, List, Optional\n" "\n" - "from pydantic import BaseModel\n" + "from pydantic import BaseModel, Field\n" "\n" "\n" "class ClassWithUnknownTypes(BaseModel):\n" - ' first_prop: Optional["FirstUnknownType"]\n' - ' second_prop: Optional[List["SecondUnknownType"]]\n' - ' third_prop: Optional["ThirdUnknownType"]\n' - " any_prop: Any\n" - "\n" - " class Config:\n" - " fields = {\n" - ' "first_prop": "firstProp",\n' - ' "second_prop": "secondProp",\n' - ' "third_prop": "thirdProp",\n' - ' "any_prop": "anyProp",\n' - " }\n" + ' first_prop: Optional["FirstUnknownType"] = Field(default=None, alias="firstProp")\n' + ' second_prop: Optional[List["SecondUnknownType"]] = Field(\n' + ' default=None, alias="secondProp"\n' + " )\n" + ' third_prop: Optional["ThirdUnknownType"] = Field(default=None, alias="thirdProp")\n' + ' any_prop: Any = Field(default=None, alias="anyProp")\n' "\n" "\n" - "ClassWithUnknownTypes.update_forward_refs()" - "\n" + "ClassWithUnknownTypes.model_rebuild()" "\n" ) @@ -188,26 +176,19 @@ def test_renderer_aliases_properties(): rendered_code = render_classes(to_render) assert rendered_code == ( + "# @generated by scripts/generate_scheme.py - DO NOT EDIT.\n" "from enum import Enum\n" "from typing import Any, List, Optional\n" "\n" - "from pydantic import BaseModel\n" + "from pydantic import BaseModel, Field\n" "\n" "\n" "class ClassWithAliases(BaseModel):\n" - " self_: Optional[str]\n" - " from_: Optional[int]\n" - " non_aliased: Optional[str]\n" - "\n" - " class Config:\n" - " fields = {\n" - ' "self_": "self",\n' - ' "from_": "from",\n' - ' "non_aliased": "nonAliased",\n' - " }\n" - "\n" + ' self_: Optional[str] = Field(default=None, alias="self")\n' + ' from_: Optional[int] = Field(default=None, alias="from")\n' + ' non_aliased: Optional[str] = Field(default=None, alias="nonAliased")\n' "\n" - "ClassWithAliases.update_forward_refs()" "\n" + "ClassWithAliases.model_rebuild()" "\n" ) From 27102b2666735603a87c27425e80e9d6983a040e Mon Sep 17 00:00:00 2001 From: Giancarlos Isasi Date: Thu, 23 Jul 2026 01:18:25 -0500 Subject: [PATCH 5/9] chore: migrate to click 8.4.2 --- tests/test_cli.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/test_cli.py b/tests/test_cli.py index d41cf44..368690e 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -90,7 +90,9 @@ def test_run_command_shows_traceback_when_dangerfile_fails(command): """ Test that run command shows traceback when dangerfile.py fails. """ - runner = CliRunner(mix_stderr=False) + # click 8.2+ removed the `mix_stderr` argument: CliRunner now always keeps + # stdout and stderr separate, so `result.stderr` is available by default. + runner = CliRunner() result = runner.invoke(cli, [command]) expected_error = ( From f1531f0c7cfb15c1d2f8fd5faaad3133d9e3fdc7 Mon Sep 17 00:00:00 2001 From: Giancarlos Isasi Date: Thu, 23 Jul 2026 01:25:15 -0500 Subject: [PATCH 6/9] chore: migrate to pyrefly --- danger_python/generator/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/danger_python/generator/models.py b/danger_python/generator/models.py index 9dcb237..6c551ac 100644 --- a/danger_python/generator/models.py +++ b/danger_python/generator/models.py @@ -15,7 +15,7 @@ class SchemaObject(SchemaItem): @dataclass class SchemaValue(SchemaItem): value_types: list[str] = field(default_factory=list) - value_type: InitVar[str] = None + value_type: InitVar[str | None] = None def __post_init__(self, value_type: str | None): if value_type: From 30719cd2a7c9cfb424d9eba9ab8b36de07ea94e7 Mon Sep 17 00:00:00 2001 From: Giancarlos Isasi Date: Thu, 23 Jul 2026 01:36:49 -0500 Subject: [PATCH 7/9] chore: setup ci/cd and docker container --- .dockerignore | 14 ++++++++++ .github/workflows/ci.yml | 53 ++++++++++++++++++++++++++++++++++++ .github/workflows/danger.yml | 2 +- .travis.yml | 18 ------------ Dockerfile | 41 ++++++++++++++++++---------- action.yml | 8 ++++++ 6 files changed, 102 insertions(+), 34 deletions(-) create mode 100644 .dockerignore create mode 100644 .github/workflows/ci.yml delete mode 100644 .travis.yml create mode 100644 action.yml diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..68a52c7 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,14 @@ +.git +.github +.venv +__pycache__ +*.pyc +node_modules +dist +build +*.egg-info +.pytest_cache +.ruff_cache +.mypy_cache +.coverage +cov.xml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..dba03cf --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,53 @@ +name: CI + +on: + pull_request: + push: + branches: [master] + +permissions: + contents: read + +concurrency: + group: ci-${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + quality: + name: Format, lint & type check + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Set up uv + uses: astral-sh/setup-uv@v6 + with: + enable-cache: true + python-version: "3.14" + - name: Install dependencies + run: uv sync --frozen + - name: Check formatting + run: uv run ruff format --check + - name: Lint + run: uv run ruff check + - name: Type check + run: uv run pyrefly check + + test: + name: Test (Python ${{ matrix.python-version }}) + needs: quality + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python-version: ["3.13", "3.14"] + steps: + - uses: actions/checkout@v4 + - name: Set up uv + uses: astral-sh/setup-uv@v6 + with: + enable-cache: true + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: uv sync --frozen + - name: Run tests with coverage + run: uv run pytest diff --git a/.github/workflows/danger.yml b/.github/workflows/danger.yml index f9b0bb5..d568c59 100644 --- a/.github/workflows/danger.yml +++ b/.github/workflows/danger.yml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Run Danger uses: ./ env: diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 7f98cac..0000000 --- a/.travis.yml +++ /dev/null @@ -1,18 +0,0 @@ -language: python -python: - - "3.7" -cache: - yarn: true - pip: true - directories: - - node_modules -install: - - pip install poetry - - poetry install -script: - - poetry run pytest -after_script: - - nvm install 10.16.0 - - nvm use 10.16.0 - - yarn global add danger - - poetry run danger-python ci -v diff --git a/Dockerfile b/Dockerfile index 75b0660..7ca0dc0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,22 +1,33 @@ -FROM python:3.7 +FROM python:3.14-slim LABEL maintainer="Jakub Turek " -LABEL "com.github.actions.name"="danger-python" -LABEL "com.github.actions.description"="Runs Python Dangerfiles" -LABEL "com.github.actions.icon"="zap" -LABEL "com.github.actions.color"="blue" -# Install dependencies -RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - -RUN apt-get install -y nodejs +# danger-python shells out to danger-js, so the image needs Node. Install +# Node 20 via NodeSource. python:*-slim ships without curl / gnupg / +# ca-certificates, which the NodeSource setup script requires. +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + ca-certificates \ + curl \ + gnupg \ + && curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \ + && apt-get install -y --no-install-recommends nodejs \ + && rm -rf /var/lib/apt/lists/* -RUN python -m pip install --upgrade pip -RUN pip install poetry +# Install uv (dependency / environment manager) from its official image. +COPY --from=ghcr.io/astral-sh/uv:0.11 /uv /uvx /bin/ -RUN mkdir -p /usr/src/danger-python -COPY . /usr/src/danger-python -RUN cd /usr/src/danger-python && \ - poetry config virtualenvs.create false && \ - poetry install --no-dev +WORKDIR /usr/src/danger-python +COPY . . + +# Install the package and its runtime dependencies from the committed lockfile +# into an in-project virtualenv (no dev tools), then put that venv on PATH so +# the `danger-python` console script the entrypoint calls is resolvable. Use +# the base image's Python 3.14 rather than downloading a second interpreter. +ENV UV_LINK_MODE=copy \ + UV_PYTHON_DOWNLOADS=never \ + UV_PYTHON_PREFERENCE=only-system +RUN uv sync --frozen --no-dev --no-editable +ENV PATH="/usr/src/danger-python/.venv/bin:${PATH}" ENTRYPOINT ["npx", "--package", "danger", "danger-python", "ci"] diff --git a/action.yml b/action.yml new file mode 100644 index 0000000..dfc6f25 --- /dev/null +++ b/action.yml @@ -0,0 +1,8 @@ +name: "danger-python" +description: "Runs Python Dangerfiles" +branding: + icon: "zap" + color: "blue" +runs: + using: "docker" + image: "Dockerfile" From ec27c8c51c2e54e59e4bd54a7f61763003f867c4 Mon Sep 17 00:00:00 2001 From: Giancarlos Isasi Date: Thu, 23 Jul 2026 02:13:58 -0500 Subject: [PATCH 8/9] chore: modernize docs and bump version to 0.2.0 - README: uv/ruff/pyrefly dev workflow, GitHub Actions CI badge + static Python 3.13|3.14 badge, Python 3.13+ requirements, GHA CI-step example (replacing Travis), checkout@v4 - CHANGELOG: 0.2.0 entry documenting the toolchain modernization and BREAKING Python/pydantic/click bumps - pyproject/uv.lock: bump version 0.1.0 -> 0.2.0 --- CHANGELOG.md | 15 ++++++++++ README.md | 76 +++++++++++++++++++++++++------------------------- pyproject.toml | 2 +- uv.lock | 2 +- 4 files changed, 55 insertions(+), 40 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c9bc0d0..d86a7e9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,21 @@ * No changes. +### 0.2.0 + +**BREAKING** — Toolchain modernization and runtime baseline bump. The Danger DSL, the +danger-js invocation contract, and the model JSON shapes are unchanged; the 100% +test-coverage gate is preserved. + +* **BREAKING:** Dropped support for Python 3.7–3.12. `danger-python` now requires **Python 3.13+** (developed and tested on 3.14). +* **BREAKING:** Migrated the runtime from **pydantic v1 to pydantic v2** (implementation only — model JSON input/output is byte-compatible). +* **BREAKING:** Migrated the CLI from **click 7 to click 8**. +* Replaced **Poetry** with **uv** for environment, dependency, and lockfile management: PEP 621 `[project]` metadata, committed `uv.lock`, and the `uv_build` backend. +* Replaced **black + isort + flake8 + pylint** with **Ruff** for linting and formatting. +* Replaced **mypy** with **Pyrefly** for type checking. +* Consolidated all tool configuration into `pyproject.toml`; removed `setup.cfg`. +* Replaced **Travis CI** with **GitHub Actions** (`ci.yml`, Python 3.13/3.14 matrix); updated the `Dockerfile` to `python:3.14-slim` + Node 20 + uv. + ### 0.1.0 * Initial release of the plugin. - [@turekj] diff --git a/README.md b/README.md index ab5ab26..0c3f445 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ [![PyPI](https://img.shields.io/pypi/v/danger-python)](https://pypi.org/project/danger-python/) -![Python versions](https://img.shields.io/pypi/pyversions/danger-python) -[![Build Status](https://travis-ci.org/danger/python.svg?branch=master)](https://travis-ci.org/danger/python) +![Python versions](https://img.shields.io/badge/python-3.13%20%7C%203.14-blue) +[![CI](https://github.com/giancarlosisasi/danger-python/actions/workflows/ci.yml/badge.svg)](https://github.com/giancarlosisasi/danger-python/actions/workflows/ci.yml) # python @@ -12,7 +12,7 @@ Write your Dangerfiles in Python. Running `danger-python` requires: -* Python 3.7 (tested under Python 3.7.5) +* Python 3.13+ (developed and tested under Python 3.14) * danger-js 9.2 (tested under danger-js 9.2.10) ### Installation @@ -61,39 +61,39 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - uses: danger/python@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} ``` -### Using as a CI step (Travis) +### Using as a CI step -1. Create a `dangerfile.py` in the root directory of your repository. -2. Set up the CI to execute the `danger-python` script after the test suite. - -Example `.travis.yml` configuration: +If you already run your own pipeline, add `danger-python` as a step after your test suite +instead of using the prebuilt action above. This works on any CI provider — the example +below uses GitHub Actions: ```yaml -language: python -python: - - "3.7" -cache: - yarn: true - pip: true - directories: - - node_modules -install: - - pip install poetry - - poetry install -script: - - poetry run pytest -after_script: - - nvm install 10.16.0 - - nvm use 10.16.0 - - yarn global add danger - - pip install danger-python - - danger-python ci -v +name: CI +on: [pull_request] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: "3.14" + - uses: actions/setup-node@v4 + with: + node-version: "20" + # ... install dependencies and run your test suite here ... + - run: npm install -g danger + - run: pip install danger-python + - run: danger-python ci -v + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} ``` ### Development @@ -101,23 +101,23 @@ after_script: To develop the `danger-python`, clone the repository and run the following commands: ```sh -# install danger +# install danger-js npm install -g danger -# install poetry -pip install poetry -# install project dependencies -poetry install -# activate virtual environment -poetry shell -# run tests -pytest +# install uv (https://docs.astral.sh/uv/getting-started/installation/) +# create the virtual environment and install all dependencies from uv.lock +uv sync +# run the full local gate: format, lint, type-check, tests (enforces 100% coverage) +uv run ruff format --check +uv run ruff check +uv run pyrefly check +uv run pytest ``` To regenerate the input JSONSchema, put the latest version in `scripts/input_schema.json` and run the following commands: ```sh cd scripts -python generate_scheme.py +uv run python generate_scheme.py ``` This should update the `danger_python/models.py` file. diff --git a/pyproject.toml b/pyproject.toml index 3bfaa31..655fb5c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "danger-python" -version = "0.1.0" +version = "0.2.0" description = "Write your Dangerfiles in Python." readme = "README.md" requires-python = ">=3.13" diff --git a/uv.lock b/uv.lock index c39aaef..fcd1f08 100644 --- a/uv.lock +++ b/uv.lock @@ -128,7 +128,7 @@ wheels = [ [[package]] name = "danger-python" -version = "0.1.0" +version = "0.2.0" source = { editable = "." } dependencies = [ { name = "click" }, From 9589eb41650f89064842808011ecd1f189e773c8 Mon Sep 17 00:00:00 2001 From: Giancarlos Isasi Date: Thu, 23 Jul 2026 02:14:06 -0500 Subject: [PATCH 9/9] chore: fix residual test typing to satisfy pyrefly Resolve the 50 pyrefly errors in tests/ that were downstream of the pydantic v2 Optional fields (closes task 4.6): - builder.py: widen build_types param list[SchemaItem] -> Sequence[SchemaItem] (covariant, read-only) to accept list[SchemaObject]/list[SchemaEnum] - fixtures/danger.py: fix **kwargs annotation (dict[str, Any] -> list[str]) - conftest.py: narrow patcher.fs; pass b'' instead of None to MockPopen stdout - test_danger/test_models/test_plugins: assert-is-not-None narrowing guards for Optional model fields - test_plugins: add explicit danger-property cache test (preserves plugins.py branch coverage) Full gate green on Python 3.13 and 3.14: ruff format/check, pyrefly (0 errors), pytest (100% coverage). --- danger_python/generator/builder.py | 4 ++-- tests/conftest.py | 3 ++- tests/fixtures/danger.py | 4 +--- tests/test_danger.py | 6 ++++++ tests/test_models.py | 2 ++ tests/test_plugins.py | 22 ++++++++++++++++++++-- 6 files changed, 33 insertions(+), 8 deletions(-) diff --git a/danger_python/generator/builder.py b/danger_python/generator/builder.py index 0686070..7a64ed9 100644 --- a/danger_python/generator/builder.py +++ b/danger_python/generator/builder.py @@ -1,4 +1,4 @@ -from collections.abc import Iterable +from collections.abc import Iterable, Sequence from functools import reduce from itertools import chain from operator import attrgetter @@ -21,7 +21,7 @@ ) -def build_types(schema: list[SchemaItem]) -> list[TypeDefinition]: +def build_types(schema: Sequence[SchemaItem]) -> list[TypeDefinition]: built_types = list(chain.from_iterable(map(_build_types_for_item, schema))) return sorted(built_types, key=attrgetter("name")) diff --git a/tests/conftest.py b/tests/conftest.py index 7268ba3..f299918 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -89,7 +89,7 @@ def run_subprocess(subprocesses: list[SubprocessFixture]) -> Iterator[None]: mock_popen.set_command( process.command, returncode=process.exit_code, - stdout=process.output.encode("utf-8") if process.output else None, + stdout=process.output.encode("utf-8") if process.output else b"", ) yield @@ -115,6 +115,7 @@ def files( @pytest.fixture def filesystem(files: dict[str, str]) -> Iterator[None]: with Patcher() as patcher: + assert patcher.fs is not None for filename, contents in files.items(): patcher.fs.create_file(filename, contents=contents) diff --git a/tests/fixtures/danger.py b/tests/fixtures/danger.py index d7d1ef2..4cabc15 100644 --- a/tests/fixtures/danger.py +++ b/tests/fixtures/danger.py @@ -1,9 +1,7 @@ -from typing import Any - from jinja2 import Environment, PackageLoader, select_autoescape -def danger_input_file_fixture(**kwargs: dict[str, Any]) -> str: +def danger_input_file_fixture(**kwargs: list[str]) -> str: template_environment = Environment( loader=PackageLoader("tests", "fixtures"), autoescape=select_autoescape([]) ) diff --git a/tests/test_danger.py b/tests/test_danger.py index b3847c4..cb635e7 100644 --- a/tests/test_danger.py +++ b/tests/test_danger.py @@ -79,6 +79,7 @@ def test_load_dsl_method_works(): dsl = load_dsl() assert dsl + assert dsl.git is not None assert dsl.git.modified_files == ["a.py"] assert dsl.git.created_files == ["b.py"] assert dsl.git.deleted_files == ["c.py"] @@ -105,6 +106,7 @@ def test_message_method_appends_message_to_results(): message("Hey, this is great!") message("This file is too big", "big_file.py", 2049) + assert Danger.results is not None assert len(Danger.results.messages) == 2 assert Danger.results.messages[0] == Violation(message="Hey, this is great!") assert Danger.results.messages[1] == Violation( @@ -120,6 +122,7 @@ def test_markdown_method_appends_markdown_to_results(): markdown("Markdown #1") markdown("Markdown #2", "README.md", 1) + assert Danger.results is not None assert len(Danger.results.markdowns) == 2 assert Danger.results.markdowns[0] == Violation(message="Markdown #1") assert Danger.results.markdowns[1] == Violation( @@ -135,6 +138,7 @@ def test_warn_method_appends_warning_to_results(): warn("Possible memory leak") warn("This method is deprecated", "deprecated.py", 29) + assert Danger.results is not None assert len(Danger.results.warnings) == 2 assert Danger.results.warnings[0] == Violation(message="Possible memory leak") assert Danger.results.warnings[1] == Violation( @@ -150,6 +154,7 @@ def test_fail_method_appends_failure_to_results(): fail("Division by zero") fail("This crashes due to invalid shoe size", "shoes.py", 99) + assert Danger.results is not None assert len(Danger.results.fails) == 2 assert Danger.results.fails[0] == Violation(message="Division by zero") assert Danger.results.fails[1] == Violation( @@ -224,5 +229,6 @@ def test_danger_results_appends_correct_meta(): """ Test that correct metadata is appended to danger results. """ + assert Danger.results is not None assert Danger.results.meta.href == "https://danger.systems/python" assert Danger.results.meta.name == "danger-python" diff --git a/tests/test_models.py b/tests/test_models.py index dc1e260..b895514 100644 --- a/tests/test_models.py +++ b/tests/test_models.py @@ -19,6 +19,8 @@ def test_github_dsl_handles_correct_review_states(): dsl = DangerDSLJSONType(**dsl_json) + assert dsl.github is not None + assert dsl.github.reviews is not None assert len(dsl.github.reviews) == 5 assert dsl.github.reviews[0].state == GitHubReviewState.APPROVED assert dsl.github.reviews[1].state == GitHubReviewState.CHANGES_REQUESTED diff --git a/tests/test_plugins.py b/tests/test_plugins.py index 12a22e5..f83369c 100644 --- a/tests/test_plugins.py +++ b/tests/test_plugins.py @@ -21,12 +21,30 @@ def test_that_plugin_method_is_registered_in_global_namespace(): assert result == 15 +@pytest.mark.usefixtures("danger") +def test_that_danger_property_lazily_creates_and_caches_instance(): + """ + Test that the danger property creates the Danger instance on first access + and returns the same cached instance on subsequent accesses. + """ + plugin = FirstPlugin() + + first_access = plugin.danger + second_access = plugin.danger + + assert first_access is second_access + + class ModifiedFilesPrinterPlugin(DangerPlugin): def print_modified_files(self): methods = [self.message, self.markdown, self.warn, self.fail] - for index, modified_file in enumerate(self.danger.git.modified_files): - number_of_files = len(self.danger.git.modified_files) + git = self.danger.git + assert git is not None + modified_files = git.modified_files + assert modified_files is not None + for index, modified_file in enumerate(modified_files): + number_of_files = len(modified_files) methods[index](f"Files modified: {number_of_files}", modified_file, index)