From 0a4c88dbee9e9d30e248269f9e6bc200c7a4f7fa Mon Sep 17 00:00:00 2001 From: Billy Date: Sun, 13 Oct 2024 16:43:37 +0530 Subject: [PATCH] docs: Added quick start, installation --- .prettierignore | 1 + CONTRIBUTING.md | 2 +- README.md | 11 +- docs/README.md | 51 +++ docs/getting-started/img/welcome-b.png | Bin 0 -> 34918 bytes docs/getting-started/img/welcome.png | Bin 0 -> 32829 bytes docs/getting-started/installation.md | 27 ++ docs/getting-started/quick-start.md | 54 +++ docs/{ => usage}/cli.md | 3 + mkdocs.yml | 18 +- poetry.lock | 456 ++++++++++++++++++++++++- pyproject.toml | 8 + 12 files changed, 614 insertions(+), 17 deletions(-) create mode 100644 .prettierignore create mode 100644 docs/README.md create mode 100644 docs/getting-started/img/welcome-b.png create mode 100644 docs/getting-started/img/welcome.png create mode 100644 docs/getting-started/installation.md create mode 100644 docs/getting-started/quick-start.md rename docs/{ => usage}/cli.md (87%) diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000..96c0ecc3 --- /dev/null +++ b/.prettierignore @@ -0,0 +1 @@ +docs/ \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8dfcb3c5..1eed2c7a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -12,7 +12,7 @@ Fork the Biscuit repository and clone locally. git clone http://github.com/tomlin7/biscuit ``` -In the root directory, run `poetry install`. Try to launch biscuit from source with `poetry run biscuit` and make sure everything looks good. +In the root directory, run `poetry install`. Try to launch biscuit from source with simply `biscuit` (or `poetry run biscuit`) and make sure everything looks good. > [!IMPORTANT] > Linux distros require some prerequisites to be installed prior to the pip installation diff --git a/README.md b/README.md index 903f3604..11c1ec0a 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,15 @@ pip install biscuit-editor Try running `biscuit --version` in your terminal to check if the installation was successful. +> [!IMPORTANT] +> Linux distros require some prerequisites to be installed prior to the pip installation +> +> ```bash +> sudo apt install fontconfig libfontconfig1 libfontconfig1-dev \ +> cmake cmake-data extra-cmake-modules build-essential +> python -m pip install scikit-build +> ``` + ### Standalone Builds - Grab the latest stable build from [**releases page**](https://github.com/tomlin7/Biscuit/releases) @@ -37,7 +46,7 @@ For compiling from source code, please check the [installation guide](https://gi ## Contributing ❤️ -Your contributions are valuable and very much appreciated! +Your contributions are very much appreciated! Have a peek at the [contributing guide](https://github.com/tomlin7/Biscuit/blob/main/CONTRIBUTING.md) for a quick tour on project structure and to setup the environment. To contribute a new extension, check the [extension docs](https://github.com/tomlin7/biscuit-extensions). diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 00000000..c5697de2 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,51 @@ +# Biscuit Documentation + +`docs/` contains the documentation for Biscuit. The documentation is written in Markdown and is rendered using [MkDocs](https://www.mkdocs.org/). Site uses the [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/) theme. + +## Building the documentation + +If you have Poetry installed, you can install the dependencies for the documentation by running: + +```bash +poetry install --with docs +``` + +Then you can serve the documentation locally by running: + +```bash +poetry run mkdocs serve +``` + +Building the documentation can be done by running: + +```bash +poetry run mkdocs build +``` + +The documentation will be built in the `site` directory. + +If you don't have Poetry installed, you can install the dependencies by running: + +```bash +pip install mkdocs mkdocs-material mkdocstrings-python +``` + +Then you can serve the documentation locally by running: + +```bash +mkdocs serve +``` + +Building the documentation can be done by running: + +```bash +mkdocs build +``` + +## Contributing + +If you want to contribute to the documentation, first check issue [#418](https://github.com/tomlin7/biscuit/issues/418) to see if there are any open issues. You can also create a new issue if you find something that needs to be fixed or added to the documentation. + +If you want to add a new page, create a new Markdown file in the `docs` directory and add it to the `nav` section in the `mkdocs.yml` file. If you want to edit an existing page, find the corresponding Markdown file in the `docs` directory and make your changes. Then create a pull request with your changes. + +If you want to add a new section to the documentation, create a new directory in the `docs` directory and add a new Markdown file to that directory. Then add the new directory and file to the `nav` section in the `mkdocs.yml` file. If you want to edit an existing section, find the corresponding directory in the `docs` directory and make your changes. Then create a pull request with your changes. diff --git a/docs/getting-started/img/welcome-b.png b/docs/getting-started/img/welcome-b.png new file mode 100644 index 0000000000000000000000000000000000000000..457771a2d088c13f42d5846ae32f435a6e1c1ad4 GIT binary patch literal 34918 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 literal 0 HcmV?d00001 diff --git a/docs/getting-started/img/welcome.png b/docs/getting-started/img/welcome.png new file mode 100644 index 0000000000000000000000000000000000000000..c445f6f3af223f885389e9478be562bcb2a64bac GIT binary patch literal 32829 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 MGrd}U=3.8" +files = [ + {file = "babel-2.16.0-py3-none-any.whl", hash = "sha256:368b5b98b37c06b7daf6696391c3240c938b37767d4584413e8438c5c435fa8b"}, + {file = "babel-2.16.0.tar.gz", hash = "sha256:d1f3554ca26605fe173f3de0c65f750f5a42f924499bf134de6423582298e316"}, +] + +[package.extras] +dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] + [[package]] name = "black" version = "24.10.0" @@ -265,6 +279,23 @@ files = [ {file = "filetype-1.2.0.tar.gz", hash = "sha256:66b56cd6474bf41d8c54660347d37afcc3f7d1970648de365c102ef77548aadb"}, ] +[[package]] +name = "ghp-import" +version = "2.1.0" +description = "Copy your docs directly to the gh-pages branch." +optional = false +python-versions = "*" +files = [ + {file = "ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343"}, + {file = "ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619"}, +] + +[package.dependencies] +python-dateutil = ">=2.8.1" + +[package.extras] +dev = ["flake8", "markdown", "twine", "wheel"] + [[package]] name = "git-changelog" version = "2.5.2" @@ -460,6 +491,20 @@ protobuf = ">=3.20.2,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4 [package.extras] grpc = ["grpcio (>=1.44.0,<2.0.0.dev0)"] +[[package]] +name = "griffe" +version = "1.4.1" +description = "Signatures for entire Python programs. Extract the structure, the frame, the skeleton of your project, to generate API documentation or find breaking changes in your API." +optional = false +python-versions = ">=3.9" +files = [ + {file = "griffe-1.4.1-py3-none-any.whl", hash = "sha256:84295ee0b27743bd880aea75632830ef02ded65d16124025e4c263bb826ab645"}, + {file = "griffe-1.4.1.tar.gz", hash = "sha256:911a201b01dc92e08c0e84c38a301e9da5ec067f00e7d9f2e39bc24dbfa3c176"}, +] + +[package.dependencies] +colorama = ">=0.4" + [[package]] name = "grpcio" version = "1.66.2" @@ -610,6 +655,21 @@ MarkupSafe = ">=2.0" [package.extras] i18n = ["Babel (>=2.7)"] +[[package]] +name = "markdown" +version = "3.7" +description = "Python implementation of John Gruber's Markdown." +optional = false +python-versions = ">=3.8" +files = [ + {file = "Markdown-3.7-py3-none-any.whl", hash = "sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803"}, + {file = "markdown-3.7.tar.gz", hash = "sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2"}, +] + +[package.extras] +docs = ["mdx-gh-links (>=0.2)", "mkdocs (>=1.5)", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-nature (>=0.6)", "mkdocs-section-index", "mkdocstrings[python]"] +testing = ["coverage", "pyyaml"] + [[package]] name = "markupsafe" version = "3.0.1" @@ -680,6 +740,17 @@ files = [ {file = "markupsafe-3.0.1.tar.gz", hash = "sha256:3e683ee4f5d0fa2dde4db77ed8dd8a876686e3fc417655c2ece9a90576905344"}, ] +[[package]] +name = "mergedeep" +version = "1.3.4" +description = "A deep merge function for 🐍." +optional = false +python-versions = ">=3.6" +files = [ + {file = "mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307"}, + {file = "mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8"}, +] + [[package]] name = "mistune" version = "3.0.2" @@ -691,6 +762,150 @@ files = [ {file = "mistune-3.0.2.tar.gz", hash = "sha256:fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8"}, ] +[[package]] +name = "mkdocs" +version = "1.6.1" +description = "Project documentation with Markdown." +optional = false +python-versions = ">=3.8" +files = [ + {file = "mkdocs-1.6.1-py3-none-any.whl", hash = "sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e"}, + {file = "mkdocs-1.6.1.tar.gz", hash = "sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2"}, +] + +[package.dependencies] +click = ">=7.0" +colorama = {version = ">=0.4", markers = "platform_system == \"Windows\""} +ghp-import = ">=1.0" +jinja2 = ">=2.11.1" +markdown = ">=3.3.6" +markupsafe = ">=2.0.1" +mergedeep = ">=1.3.4" +mkdocs-get-deps = ">=0.2.0" +packaging = ">=20.5" +pathspec = ">=0.11.1" +pyyaml = ">=5.1" +pyyaml-env-tag = ">=0.1" +watchdog = ">=2.0" + +[package.extras] +i18n = ["babel (>=2.9.0)"] +min-versions = ["babel (==2.9.0)", "click (==7.0)", "colorama (==0.4)", "ghp-import (==1.0)", "importlib-metadata (==4.4)", "jinja2 (==2.11.1)", "markdown (==3.3.6)", "markupsafe (==2.0.1)", "mergedeep (==1.3.4)", "mkdocs-get-deps (==0.2.0)", "packaging (==20.5)", "pathspec (==0.11.1)", "pyyaml (==5.1)", "pyyaml-env-tag (==0.1)", "watchdog (==2.0)"] + +[[package]] +name = "mkdocs-autorefs" +version = "1.2.0" +description = "Automatically link across pages in MkDocs." +optional = false +python-versions = ">=3.8" +files = [ + {file = "mkdocs_autorefs-1.2.0-py3-none-any.whl", hash = "sha256:d588754ae89bd0ced0c70c06f58566a4ee43471eeeee5202427da7de9ef85a2f"}, + {file = "mkdocs_autorefs-1.2.0.tar.gz", hash = "sha256:a86b93abff653521bda71cf3fc5596342b7a23982093915cb74273f67522190f"}, +] + +[package.dependencies] +Markdown = ">=3.3" +markupsafe = ">=2.0.1" +mkdocs = ">=1.1" + +[[package]] +name = "mkdocs-get-deps" +version = "0.2.0" +description = "MkDocs extension that lists all dependencies according to a mkdocs.yml file" +optional = false +python-versions = ">=3.8" +files = [ + {file = "mkdocs_get_deps-0.2.0-py3-none-any.whl", hash = "sha256:2bf11d0b133e77a0dd036abeeb06dec8775e46efa526dc70667d8863eefc6134"}, + {file = "mkdocs_get_deps-0.2.0.tar.gz", hash = "sha256:162b3d129c7fad9b19abfdcb9c1458a651628e4b1dea628ac68790fb3061c60c"}, +] + +[package.dependencies] +mergedeep = ">=1.3.4" +platformdirs = ">=2.2.0" +pyyaml = ">=5.1" + +[[package]] +name = "mkdocs-material" +version = "9.5.40" +description = "Documentation that simply works" +optional = false +python-versions = ">=3.8" +files = [ + {file = "mkdocs_material-9.5.40-py3-none-any.whl", hash = "sha256:8e7a16ada34e79a7b6459ff2602584222f522c738b6a023d1bea853d5049da6f"}, + {file = "mkdocs_material-9.5.40.tar.gz", hash = "sha256:b69d70e667ec51fc41f65e006a3184dd00d95b2439d982cb1586e4c018943156"}, +] + +[package.dependencies] +babel = ">=2.10,<3.0" +colorama = ">=0.4,<1.0" +jinja2 = ">=3.0,<4.0" +markdown = ">=3.2,<4.0" +mkdocs = ">=1.6,<2.0" +mkdocs-material-extensions = ">=1.3,<2.0" +paginate = ">=0.5,<1.0" +pygments = ">=2.16,<3.0" +pymdown-extensions = ">=10.2,<11.0" +regex = ">=2022.4" +requests = ">=2.26,<3.0" + +[package.extras] +git = ["mkdocs-git-committers-plugin-2 (>=1.1,<2.0)", "mkdocs-git-revision-date-localized-plugin (>=1.2.4,<2.0)"] +imaging = ["cairosvg (>=2.6,<3.0)", "pillow (>=10.2,<11.0)"] +recommended = ["mkdocs-minify-plugin (>=0.7,<1.0)", "mkdocs-redirects (>=1.2,<2.0)", "mkdocs-rss-plugin (>=1.6,<2.0)"] + +[[package]] +name = "mkdocs-material-extensions" +version = "1.3.1" +description = "Extension pack for Python Markdown and MkDocs Material." +optional = false +python-versions = ">=3.8" +files = [ + {file = "mkdocs_material_extensions-1.3.1-py3-none-any.whl", hash = "sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31"}, + {file = "mkdocs_material_extensions-1.3.1.tar.gz", hash = "sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443"}, +] + +[[package]] +name = "mkdocstrings" +version = "0.26.2" +description = "Automatic documentation from sources, for MkDocs." +optional = false +python-versions = ">=3.9" +files = [ + {file = "mkdocstrings-0.26.2-py3-none-any.whl", hash = "sha256:1248f3228464f3b8d1a15bd91249ce1701fe3104ac517a5f167a0e01ca850ba5"}, + {file = "mkdocstrings-0.26.2.tar.gz", hash = "sha256:34a8b50f1e6cfd29546c6c09fbe02154adfb0b361bb758834bf56aa284ba876e"}, +] + +[package.dependencies] +click = ">=7.0" +Jinja2 = ">=2.11.1" +Markdown = ">=3.6" +MarkupSafe = ">=1.1" +mkdocs = ">=1.4" +mkdocs-autorefs = ">=1.2" +platformdirs = ">=2.2" +pymdown-extensions = ">=6.3" + +[package.extras] +crystal = ["mkdocstrings-crystal (>=0.3.4)"] +python = ["mkdocstrings-python (>=0.5.2)"] +python-legacy = ["mkdocstrings-python-legacy (>=0.2.1)"] + +[[package]] +name = "mkdocstrings-python" +version = "1.12.0" +description = "A Python handler for mkdocstrings." +optional = false +python-versions = ">=3.9" +files = [ + {file = "mkdocstrings_python-1.12.0-py3-none-any.whl", hash = "sha256:1f48c9ea6d1d6cd1fefc7389f003841e9c65e50016ba40342f340ca901bc60b9"}, + {file = "mkdocstrings_python-1.12.0.tar.gz", hash = "sha256:2121671354fff208fff1278ce9c961aee2b736a1688f70064c4fa76a00241b34"}, +] + +[package.dependencies] +griffe = ">=0.49" +mkdocs-autorefs = ">=1.2" +mkdocstrings = ">=0.26" + [[package]] name = "mypy" version = "1.11.2" @@ -760,6 +975,21 @@ files = [ {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, ] +[[package]] +name = "paginate" +version = "0.5.7" +description = "Divides large result sets into pages for easier browsing" +optional = false +python-versions = "*" +files = [ + {file = "paginate-0.5.7-py2.py3-none-any.whl", hash = "sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591"}, + {file = "paginate-0.5.7.tar.gz", hash = "sha256:22bd083ab41e1a8b4f3690544afb2c60c25e5c9a63a30fa2f483f6c60c8e5945"}, +] + +[package.extras] +dev = ["pytest", "tox"] +lint = ["black"] + [[package]] name = "pathspec" version = "0.12.1" @@ -1074,6 +1304,24 @@ files = [ [package.extras] windows-terminal = ["colorama (>=0.4.6)"] +[[package]] +name = "pymdown-extensions" +version = "10.11.2" +description = "Extension pack for Python Markdown." +optional = false +python-versions = ">=3.8" +files = [ + {file = "pymdown_extensions-10.11.2-py3-none-any.whl", hash = "sha256:41cdde0a77290e480cf53892f5c5e50921a7ee3e5cd60ba91bf19837b33badcf"}, + {file = "pymdown_extensions-10.11.2.tar.gz", hash = "sha256:bc8847ecc9e784a098efd35e20cba772bc5a1b529dfcef9dc1972db9021a1049"}, +] + +[package.dependencies] +markdown = ">=3.6" +pyyaml = "*" + +[package.extras] +extra = ["pygments (>=2.12)"] + [[package]] name = "pyparsing" version = "3.1.4" @@ -1135,6 +1383,20 @@ files = [ pytest = ">=5.0.0" python-dotenv = ">=0.9.1" +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +description = "Extensions to the standard Python datetime module" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" +files = [ + {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, + {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, +] + +[package.dependencies] +six = ">=1.5" + [[package]] name = "python-dotenv" version = "1.0.1" @@ -1178,6 +1440,185 @@ files = [ {file = "pywinpty-2.0.13.tar.gz", hash = "sha256:c34e32351a3313ddd0d7da23d27f835c860d32fe4ac814d372a3ea9594f41dde"}, ] +[[package]] +name = "pyyaml" +version = "6.0.2" +description = "YAML parser and emitter for Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, + {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68"}, + {file = "PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99"}, + {file = "PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e"}, + {file = "PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5"}, + {file = "PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b"}, + {file = "PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4"}, + {file = "PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652"}, + {file = "PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183"}, + {file = "PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563"}, + {file = "PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083"}, + {file = "PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706"}, + {file = "PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a"}, + {file = "PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725"}, + {file = "PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631"}, + {file = "PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8"}, + {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"}, +] + +[[package]] +name = "pyyaml-env-tag" +version = "0.1" +description = "A custom YAML tag for referencing environment variables in YAML files. " +optional = false +python-versions = ">=3.6" +files = [ + {file = "pyyaml_env_tag-0.1-py3-none-any.whl", hash = "sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069"}, + {file = "pyyaml_env_tag-0.1.tar.gz", hash = "sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb"}, +] + +[package.dependencies] +pyyaml = "*" + +[[package]] +name = "regex" +version = "2024.9.11" +description = "Alternative regular expression module, to replace re." +optional = false +python-versions = ">=3.8" +files = [ + {file = "regex-2024.9.11-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:1494fa8725c285a81d01dc8c06b55287a1ee5e0e382d8413adc0a9197aac6408"}, + {file = "regex-2024.9.11-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0e12c481ad92d129c78f13a2a3662317e46ee7ef96c94fd332e1c29131875b7d"}, + {file = "regex-2024.9.11-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:16e13a7929791ac1216afde26f712802e3df7bf0360b32e4914dca3ab8baeea5"}, + {file = "regex-2024.9.11-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:46989629904bad940bbec2106528140a218b4a36bb3042d8406980be1941429c"}, + {file = "regex-2024.9.11-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a906ed5e47a0ce5f04b2c981af1c9acf9e8696066900bf03b9d7879a6f679fc8"}, + {file = "regex-2024.9.11-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e9a091b0550b3b0207784a7d6d0f1a00d1d1c8a11699c1a4d93db3fbefc3ad35"}, + {file = "regex-2024.9.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ddcd9a179c0a6fa8add279a4444015acddcd7f232a49071ae57fa6e278f1f71"}, + {file = "regex-2024.9.11-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6b41e1adc61fa347662b09398e31ad446afadff932a24807d3ceb955ed865cc8"}, + {file = "regex-2024.9.11-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ced479f601cd2f8ca1fd7b23925a7e0ad512a56d6e9476f79b8f381d9d37090a"}, + {file = "regex-2024.9.11-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:635a1d96665f84b292e401c3d62775851aedc31d4f8784117b3c68c4fcd4118d"}, + {file = "regex-2024.9.11-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:c0256beda696edcf7d97ef16b2a33a8e5a875affd6fa6567b54f7c577b30a137"}, + {file = "regex-2024.9.11-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:3ce4f1185db3fbde8ed8aa223fc9620f276c58de8b0d4f8cc86fd1360829edb6"}, + {file = "regex-2024.9.11-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:09d77559e80dcc9d24570da3745ab859a9cf91953062e4ab126ba9d5993688ca"}, + {file = "regex-2024.9.11-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7a22ccefd4db3f12b526eccb129390942fe874a3a9fdbdd24cf55773a1faab1a"}, + {file = "regex-2024.9.11-cp310-cp310-win32.whl", hash = "sha256:f745ec09bc1b0bd15cfc73df6fa4f726dcc26bb16c23a03f9e3367d357eeedd0"}, + {file = "regex-2024.9.11-cp310-cp310-win_amd64.whl", hash = "sha256:01c2acb51f8a7d6494c8c5eafe3d8e06d76563d8a8a4643b37e9b2dd8a2ff623"}, + {file = "regex-2024.9.11-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2cce2449e5927a0bf084d346da6cd5eb016b2beca10d0013ab50e3c226ffc0df"}, + {file = "regex-2024.9.11-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3b37fa423beefa44919e009745ccbf353d8c981516e807995b2bd11c2c77d268"}, + {file = "regex-2024.9.11-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:64ce2799bd75039b480cc0360907c4fb2f50022f030bf9e7a8705b636e408fad"}, + {file = "regex-2024.9.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a4cc92bb6db56ab0c1cbd17294e14f5e9224f0cc6521167ef388332604e92679"}, + {file = "regex-2024.9.11-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d05ac6fa06959c4172eccd99a222e1fbf17b5670c4d596cb1e5cde99600674c4"}, + {file = "regex-2024.9.11-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:040562757795eeea356394a7fb13076ad4f99d3c62ab0f8bdfb21f99a1f85664"}, + {file = "regex-2024.9.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6113c008a7780792efc80f9dfe10ba0cd043cbf8dc9a76ef757850f51b4edc50"}, + {file = "regex-2024.9.11-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8e5fb5f77c8745a60105403a774fe2c1759b71d3e7b4ca237a5e67ad066c7199"}, + {file = "regex-2024.9.11-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:54d9ff35d4515debf14bc27f1e3b38bfc453eff3220f5bce159642fa762fe5d4"}, + {file = "regex-2024.9.11-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:df5cbb1fbc74a8305b6065d4ade43b993be03dbe0f8b30032cced0d7740994bd"}, + {file = "regex-2024.9.11-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:7fb89ee5d106e4a7a51bce305ac4efb981536301895f7bdcf93ec92ae0d91c7f"}, + {file = "regex-2024.9.11-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:a738b937d512b30bf75995c0159c0ddf9eec0775c9d72ac0202076c72f24aa96"}, + {file = "regex-2024.9.11-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e28f9faeb14b6f23ac55bfbbfd3643f5c7c18ede093977f1df249f73fd22c7b1"}, + {file = "regex-2024.9.11-cp311-cp311-win32.whl", hash = "sha256:18e707ce6c92d7282dfce370cd205098384b8ee21544e7cb29b8aab955b66fa9"}, + {file = "regex-2024.9.11-cp311-cp311-win_amd64.whl", hash = "sha256:313ea15e5ff2a8cbbad96ccef6be638393041b0a7863183c2d31e0c6116688cf"}, + {file = "regex-2024.9.11-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b0d0a6c64fcc4ef9c69bd5b3b3626cc3776520a1637d8abaa62b9edc147a58f7"}, + {file = "regex-2024.9.11-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:49b0e06786ea663f933f3710a51e9385ce0cba0ea56b67107fd841a55d56a231"}, + {file = "regex-2024.9.11-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5b513b6997a0b2f10e4fd3a1313568e373926e8c252bd76c960f96fd039cd28d"}, + {file = "regex-2024.9.11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ee439691d8c23e76f9802c42a95cfeebf9d47cf4ffd06f18489122dbb0a7ad64"}, + {file = "regex-2024.9.11-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a8f877c89719d759e52783f7fe6e1c67121076b87b40542966c02de5503ace42"}, + {file = "regex-2024.9.11-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:23b30c62d0f16827f2ae9f2bb87619bc4fba2044911e2e6c2eb1af0161cdb766"}, + {file = "regex-2024.9.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85ab7824093d8f10d44330fe1e6493f756f252d145323dd17ab6b48733ff6c0a"}, + {file = "regex-2024.9.11-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8dee5b4810a89447151999428fe096977346cf2f29f4d5e29609d2e19e0199c9"}, + {file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:98eeee2f2e63edae2181c886d7911ce502e1292794f4c5ee71e60e23e8d26b5d"}, + {file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:57fdd2e0b2694ce6fc2e5ccf189789c3e2962916fb38779d3e3521ff8fe7a822"}, + {file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:d552c78411f60b1fdaafd117a1fca2f02e562e309223b9d44b7de8be451ec5e0"}, + {file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:a0b2b80321c2ed3fcf0385ec9e51a12253c50f146fddb2abbb10f033fe3d049a"}, + {file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:18406efb2f5a0e57e3a5881cd9354c1512d3bb4f5c45d96d110a66114d84d23a"}, + {file = "regex-2024.9.11-cp312-cp312-win32.whl", hash = "sha256:e464b467f1588e2c42d26814231edecbcfe77f5ac414d92cbf4e7b55b2c2a776"}, + {file = "regex-2024.9.11-cp312-cp312-win_amd64.whl", hash = "sha256:9e8719792ca63c6b8340380352c24dcb8cd7ec49dae36e963742a275dfae6009"}, + {file = "regex-2024.9.11-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:c157bb447303070f256e084668b702073db99bbb61d44f85d811025fcf38f784"}, + {file = "regex-2024.9.11-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4db21ece84dfeefc5d8a3863f101995de646c6cb0536952c321a2650aa202c36"}, + {file = "regex-2024.9.11-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:220e92a30b426daf23bb67a7962900ed4613589bab80382be09b48896d211e92"}, + {file = "regex-2024.9.11-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eb1ae19e64c14c7ec1995f40bd932448713d3c73509e82d8cd7744dc00e29e86"}, + {file = "regex-2024.9.11-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f47cd43a5bfa48f86925fe26fbdd0a488ff15b62468abb5d2a1e092a4fb10e85"}, + {file = "regex-2024.9.11-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9d4a76b96f398697fe01117093613166e6aa8195d63f1b4ec3f21ab637632963"}, + {file = "regex-2024.9.11-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ea51dcc0835eea2ea31d66456210a4e01a076d820e9039b04ae8d17ac11dee6"}, + {file = "regex-2024.9.11-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b7aaa315101c6567a9a45d2839322c51c8d6e81f67683d529512f5bcfb99c802"}, + {file = "regex-2024.9.11-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c57d08ad67aba97af57a7263c2d9006d5c404d721c5f7542f077f109ec2a4a29"}, + {file = "regex-2024.9.11-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:f8404bf61298bb6f8224bb9176c1424548ee1181130818fcd2cbffddc768bed8"}, + {file = "regex-2024.9.11-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:dd4490a33eb909ef5078ab20f5f000087afa2a4daa27b4c072ccb3cb3050ad84"}, + {file = "regex-2024.9.11-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:eee9130eaad130649fd73e5cd92f60e55708952260ede70da64de420cdcad554"}, + {file = "regex-2024.9.11-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6a2644a93da36c784e546de579ec1806bfd2763ef47babc1b03d765fe560c9f8"}, + {file = "regex-2024.9.11-cp313-cp313-win32.whl", hash = "sha256:e997fd30430c57138adc06bba4c7c2968fb13d101e57dd5bb9355bf8ce3fa7e8"}, + {file = "regex-2024.9.11-cp313-cp313-win_amd64.whl", hash = "sha256:042c55879cfeb21a8adacc84ea347721d3d83a159da6acdf1116859e2427c43f"}, + {file = "regex-2024.9.11-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:35f4a6f96aa6cb3f2f7247027b07b15a374f0d5b912c0001418d1d55024d5cb4"}, + {file = "regex-2024.9.11-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:55b96e7ce3a69a8449a66984c268062fbaa0d8ae437b285428e12797baefce7e"}, + {file = "regex-2024.9.11-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cb130fccd1a37ed894824b8c046321540263013da72745d755f2d35114b81a60"}, + {file = "regex-2024.9.11-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:323c1f04be6b2968944d730e5c2091c8c89767903ecaa135203eec4565ed2b2b"}, + {file = "regex-2024.9.11-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be1c8ed48c4c4065ecb19d882a0ce1afe0745dfad8ce48c49586b90a55f02366"}, + {file = "regex-2024.9.11-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b5b029322e6e7b94fff16cd120ab35a253236a5f99a79fb04fda7ae71ca20ae8"}, + {file = "regex-2024.9.11-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6fff13ef6b5f29221d6904aa816c34701462956aa72a77f1f151a8ec4f56aeb"}, + {file = "regex-2024.9.11-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:587d4af3979376652010e400accc30404e6c16b7df574048ab1f581af82065e4"}, + {file = "regex-2024.9.11-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:079400a8269544b955ffa9e31f186f01d96829110a3bf79dc338e9910f794fca"}, + {file = "regex-2024.9.11-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:f9268774428ec173654985ce55fc6caf4c6d11ade0f6f914d48ef4719eb05ebb"}, + {file = "regex-2024.9.11-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:23f9985c8784e544d53fc2930fc1ac1a7319f5d5332d228437acc9f418f2f168"}, + {file = "regex-2024.9.11-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:ae2941333154baff9838e88aa71c1d84f4438189ecc6021a12c7573728b5838e"}, + {file = "regex-2024.9.11-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:e93f1c331ca8e86fe877a48ad64e77882c0c4da0097f2212873a69bbfea95d0c"}, + {file = "regex-2024.9.11-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:846bc79ee753acf93aef4184c040d709940c9d001029ceb7b7a52747b80ed2dd"}, + {file = "regex-2024.9.11-cp38-cp38-win32.whl", hash = "sha256:c94bb0a9f1db10a1d16c00880bdebd5f9faf267273b8f5bd1878126e0fbde771"}, + {file = "regex-2024.9.11-cp38-cp38-win_amd64.whl", hash = "sha256:2b08fce89fbd45664d3df6ad93e554b6c16933ffa9d55cb7e01182baaf971508"}, + {file = "regex-2024.9.11-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:07f45f287469039ffc2c53caf6803cd506eb5f5f637f1d4acb37a738f71dd066"}, + {file = "regex-2024.9.11-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4838e24ee015101d9f901988001038f7f0d90dc0c3b115541a1365fb439add62"}, + {file = "regex-2024.9.11-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6edd623bae6a737f10ce853ea076f56f507fd7726bee96a41ee3d68d347e4d16"}, + {file = "regex-2024.9.11-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c69ada171c2d0e97a4b5aa78fbb835e0ffbb6b13fc5da968c09811346564f0d3"}, + {file = "regex-2024.9.11-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:02087ea0a03b4af1ed6ebab2c54d7118127fee8d71b26398e8e4b05b78963199"}, + {file = "regex-2024.9.11-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:69dee6a020693d12a3cf892aba4808fe168d2a4cef368eb9bf74f5398bfd4ee8"}, + {file = "regex-2024.9.11-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:297f54910247508e6e5cae669f2bc308985c60540a4edd1c77203ef19bfa63ca"}, + {file = "regex-2024.9.11-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ecea58b43a67b1b79805f1a0255730edaf5191ecef84dbc4cc85eb30bc8b63b9"}, + {file = "regex-2024.9.11-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:eab4bb380f15e189d1313195b062a6aa908f5bd687a0ceccd47c8211e9cf0d4a"}, + {file = "regex-2024.9.11-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0cbff728659ce4bbf4c30b2a1be040faafaa9eca6ecde40aaff86f7889f4ab39"}, + {file = "regex-2024.9.11-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:54c4a097b8bc5bb0dfc83ae498061d53ad7b5762e00f4adaa23bee22b012e6ba"}, + {file = "regex-2024.9.11-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:73d6d2f64f4d894c96626a75578b0bf7d9e56dcda8c3d037a2118fdfe9b1c664"}, + {file = "regex-2024.9.11-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:e53b5fbab5d675aec9f0c501274c467c0f9a5d23696cfc94247e1fb56501ed89"}, + {file = "regex-2024.9.11-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:0ffbcf9221e04502fc35e54d1ce9567541979c3fdfb93d2c554f0ca583a19b35"}, + {file = "regex-2024.9.11-cp39-cp39-win32.whl", hash = "sha256:e4c22e1ac1f1ec1e09f72e6c44d8f2244173db7eb9629cc3a346a8d7ccc31142"}, + {file = "regex-2024.9.11-cp39-cp39-win_amd64.whl", hash = "sha256:faa3c142464efec496967359ca99696c896c591c56c53506bac1ad465f66e919"}, + {file = "regex-2024.9.11.tar.gz", hash = "sha256:6c188c307e8433bcb63dc1915022deb553b4203a70722fc542c363bf120a01fd"}, +] + [[package]] name = "requests" version = "2.32.3" @@ -1268,6 +1709,17 @@ enabler = ["pytest-enabler (>=2.2)"] test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] type = ["importlib-metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.11.*)", "pytest-mypy"] +[[package]] +name = "six" +version = "1.16.0" +description = "Python 2 and 3 compatibility utilities" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, + {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, +] + [[package]] name = "smmap" version = "5.0.1" @@ -1508,4 +1960,4 @@ test = ["pytest (>=6.0.0)", "setuptools (>=65)"] [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "7080735fa4b84a77712cd7a4792f1cc1066555b5ed639c2a2a5ec7880ecfd9bb" +content-hash = "fd252fddf2eae1898d9034154db00b674704e434e69aa5100659a48c8b7ca935" diff --git a/pyproject.toml b/pyproject.toml index 59fd1872..fc381933 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -42,6 +42,14 @@ pytest-dotenv = "^0.5.2" git-changelog = "^2.5.2" pyperclip = "^1.8.2" +[tool.poetry.group.docs] +optional = true + +[tool.poetry.group.docs.dependencies] +mkdocs = "^1.6.1" +mkdocstrings-python = "^1.12.0" +mkdocs-material = "^9.5.40" + [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api"