From 545cde2ccc035762e9a3036859ee1f68f424a98c Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sun, 20 Aug 2023 23:03:27 +0300 Subject: [PATCH] add docs --- .github/workflows/pythonpackage.yml | 2 +- .github/workflows/pythonpublish.yml | 2 +- .github/workflows/reviewdog.yml | 2 +- .gitignore | 2 + .readthedocs.yml | 14 + README.md | 3 + docs/Makefile | 20 + docs/make.bat | 35 ++ docs/source/conf.py | 40 ++ docs/source/how-it-works.png | Bin 0 -> 100904 bytes docs/source/index.rst | 22 + docs/source/modules.rst | 7 + docs/source/readme_link.md | 3 + docs/source/reference.rst | 6 + docs/source/sync_ics2gcal.rst | 53 +++ poetry.lock | 603 +++++++++++++++++++++++----- pyproject.toml | 17 +- sync_ics2gcal/gcal.py | 13 +- 18 files changed, 741 insertions(+), 103 deletions(-) create mode 100644 .readthedocs.yml create mode 100644 docs/Makefile create mode 100644 docs/make.bat create mode 100644 docs/source/conf.py create mode 100644 docs/source/how-it-works.png create mode 100644 docs/source/index.rst create mode 100644 docs/source/modules.rst create mode 100644 docs/source/readme_link.md create mode 100644 docs/source/reference.rst create mode 100644 docs/source/sync_ics2gcal.rst diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml index 3ffdd88..7413817 100644 --- a/.github/workflows/pythonpackage.yml +++ b/.github/workflows/pythonpackage.yml @@ -30,7 +30,7 @@ jobs: - name: Install Poetry uses: snok/install-poetry@v1 - name: Install deps - run: poetry install + run: poetry install --with dev - name: Lint with flake8 run: | # stop the build if there are Python syntax errors or undefined names diff --git a/.github/workflows/pythonpublish.yml b/.github/workflows/pythonpublish.yml index 2cbdca2..f144620 100644 --- a/.github/workflows/pythonpublish.yml +++ b/.github/workflows/pythonpublish.yml @@ -18,7 +18,7 @@ jobs: - name: Install Poetry uses: snok/install-poetry@v1 - name: Install deps - run: poetry install + run: poetry install --with dev - name: Build run: poetry build - name: Publish diff --git a/.github/workflows/reviewdog.yml b/.github/workflows/reviewdog.yml index bdd4411..eb9798a 100644 --- a/.github/workflows/reviewdog.yml +++ b/.github/workflows/reviewdog.yml @@ -25,7 +25,7 @@ jobs: uses: snok/install-poetry@v1 - name: Install deps - run: poetry install + run: poetry install --with dev - name: setup mypy run: | diff --git a/.gitignore b/.gitignore index fe43c9d..aa89091 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,5 @@ my-test*.ics venv/ mypy_report/ tmp_bin/ +docs/build/ + diff --git a/.readthedocs.yml b/.readthedocs.yml new file mode 100644 index 0000000..816dd31 --- /dev/null +++ b/.readthedocs.yml @@ -0,0 +1,14 @@ +version: 2 + +build: + os: ubuntu-22.04 + tools: + python: "3.11" + jobs: + post_install: + - pip install poetry + - poetry config virtualenvs.create false + - poetry install --with=docs + +sphinx: + configuration: docs/source/conf.py diff --git a/README.md b/README.md index c115c7d..9a2fb03 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,7 @@ [![PyPI version](https://badge.fury.io/py/sync-ics2gcal.svg)](https://badge.fury.io/py/sync-ics2gcal) ![Python package status](https://github.com/b4tman/sync_ics2gcal/workflows/Python%20package/badge.svg) +[![Documentation Status](https://readthedocs.org/projects/sync-ics2gcal/badge/?version=latest)](https://sync-ics2gcal.readthedocs.io/en/latest/?badge=latest) Python scripts for sync .ics file with Google calendar @@ -98,3 +99,5 @@ sync-ics2gcal ## How it works ![How it works](how-it-works.png) + +Documentation is available at [sync-ics2gcal.readthedocs.io](https://sync-ics2gcal.readthedocs.io). diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000..59f4366 --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= +SPHINXBUILD ?= poetry run sphinx-build +SOURCEDIR = source +BUILDDIR = build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/docs/make.bat b/docs/make.bat new file mode 100644 index 0000000..86be8c9 --- /dev/null +++ b/docs/make.bat @@ -0,0 +1,35 @@ +@ECHO OFF + +pushd %~dp0 + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=poetry run sphinx-build +) +set SOURCEDIR=source +set BUILDDIR=build + +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.https://www.sphinx-doc.org/ + exit /b 1 +) + +if "%1" == "" goto help + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% + +:end +popd diff --git a/docs/source/conf.py b/docs/source/conf.py new file mode 100644 index 0000000..f17e03f --- /dev/null +++ b/docs/source/conf.py @@ -0,0 +1,40 @@ +# Configuration file for the Sphinx documentation builder. +# +# For the full list of built-in configuration values, see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Project information ----------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information + +import importlib +from typing import List + + +project = "sync_ics2gcal" +copyright = "2023, b4tman" +author = "b4tman" +version = importlib.metadata.version("sync_ics2gcal") +release = version + +# -- General configuration --------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration + +extensions = [ + "myst_parser", + "sphinx.ext.autodoc", + "sphinx_design", + "sphinx.ext.viewcode", + "sphinx_copybutton", + "sphinx.ext.githubpages", +] + +templates_path = ["_templates"] +exclude_patterns: List[str] = [] + +source_suffix = [".rst", ".md"] + +# -- Options for HTML output ------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output + +html_theme = "sphinx_rtd_theme" +html_static_path = ["_static"] diff --git a/docs/source/how-it-works.png b/docs/source/how-it-works.png new file mode 100644 index 0000000000000000000000000000000000000000..876d32fd532e3dff1350e06b3efd8f90f52a56cf GIT binary patch literal 100904 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%0D(BrJpe@CwQH$v5)x-ZW?eoo-a=VFQkd%D@r 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.7", markers = "python_version < \"3.9\""} [[package]] name = "backports-zoneinfo" version = "0.2.1" description = "Backport of the standard library zoneinfo module" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -33,7 +57,6 @@ tzdata = ["tzdata"] name = "black" version = "23.7.0" description = "The uncompromising code formatter." -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -80,7 +103,6 @@ uvloop = ["uvloop (>=0.15.2)"] name = "cachetools" version = "5.3.1" description = "Extensible memoizing collections and decorators" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -92,7 +114,6 @@ files = [ name = "certifi" version = "2023.7.22" description = "Python package for providing Mozilla's CA Bundle." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -104,7 +125,6 @@ files = [ name = "charset-normalizer" version = "3.2.0" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -category = "main" optional = false python-versions = ">=3.7.0" files = [ @@ -187,14 +207,13 @@ files = [ [[package]] name = "click" -version = "8.1.6" +version = "8.1.7" description = "Composable command line interface toolkit" -category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "click-8.1.6-py3-none-any.whl", hash = "sha256:fa244bb30b3b5ee2cae3da8f55c9e5e0c0e86093306301fb418eb9dc40fbded5"}, - {file = "click-8.1.6.tar.gz", hash = "sha256:48ee849951919527a045bfe3bf7baa8a959c423134e1a5b98c05c20ba75a1cbd"}, + {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, + {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, ] [package.dependencies] @@ -204,7 +223,6 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} name = "colorama" version = "0.4.6" description = "Cross-platform colored terminal text." -category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ @@ -212,11 +230,21 @@ files = [ {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] +[[package]] +name = "docutils" +version = "0.18.1" +description = "Docutils -- Python Documentation Utilities" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "docutils-0.18.1-py2.py3-none-any.whl", hash = "sha256:23010f129180089fbcd3bc08cfefccb3b890b0050e1ca00c867036e9d161b98c"}, + {file = "docutils-0.18.1.tar.gz", hash = "sha256:679987caf361a7539d76e584cbeddc311e3aee937877c87346f31debc63e9d06"}, +] + [[package]] name = "exceptiongroup" version = "1.1.3" description = "Backport of PEP 654 (exception groups)" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -231,7 +259,6 @@ test = ["pytest (>=6)"] name = "fire" version = "0.5.0" description = "A library for automatically generating command line interfaces." -category = "main" optional = false python-versions = "*" files = [ @@ -246,7 +273,6 @@ termcolor = "*" name = "flake8" version = "5.0.4" description = "the modular source code checker: pep8 pyflakes and co" -category = "dev" optional = false python-versions = ">=3.6.1" files = [ @@ -263,7 +289,6 @@ pyflakes = ">=2.5.0,<2.6.0" name = "google-api-core" version = "2.11.1" description = "Google API client core library" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -286,7 +311,6 @@ grpcio-gcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] name = "google-api-python-client" version = "2.95.0" description = "Google API Client Library for Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -295,7 +319,7 @@ files = [ ] [package.dependencies] -google-api-core = ">=1.31.5,<2.0.0 || >2.3.0,<3.0.0.dev0" +google-api-core = ">=1.31.5,<2.0.dev0 || >2.3.0,<3.0.0.dev0" google-auth = ">=1.19.0,<3.0.0.dev0" google-auth-httplib2 = ">=0.1.0" httplib2 = ">=0.15.0,<1.dev0" @@ -305,7 +329,6 @@ uritemplate = ">=3.0.1,<5" name = "google-auth" version = "2.22.0" description = "Google Authentication Library" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -331,7 +354,6 @@ requests = ["requests (>=2.20.0,<3.0.0.dev0)"] name = "google-auth-httplib2" version = "0.1.0" description = "Google Authentication Library: httplib2 transport" -category = "main" optional = false python-versions = "*" files = [ @@ -348,7 +370,6 @@ six = "*" name = "googleapis-common-protos" version = "1.60.0" description = "Common protobufs used in Google APIs" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -366,7 +387,6 @@ grpc = ["grpcio (>=1.44.0,<2.0.0.dev0)"] name = "httplib2" version = "0.22.0" description = "A comprehensive HTTP client library." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -381,7 +401,6 @@ pyparsing = {version = ">=2.4.2,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.0.2 || >3.0 name = "icalendar" version = "5.0.7" description = "iCalendar parser/generator" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -398,7 +417,6 @@ pytz = "*" name = "idna" version = "3.4" description = "Internationalized Domain Names in Applications (IDNA)" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -406,11 +424,40 @@ files = [ {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, ] +[[package]] +name = "imagesize" +version = "1.4.1" +description = "Getting image size from png/jpeg/jpeg2000/gif file" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "imagesize-1.4.1-py2.py3-none-any.whl", hash = "sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b"}, + {file = "imagesize-1.4.1.tar.gz", hash = "sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a"}, +] + +[[package]] +name = "importlib-metadata" +version = "6.8.0" +description = "Read metadata from Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "importlib_metadata-6.8.0-py3-none-any.whl", hash = "sha256:3ebb78df84a805d7698245025b975d9d67053cd94c79245ba4b3eb694abe68bb"}, + {file = "importlib_metadata-6.8.0.tar.gz", hash = "sha256:dbace7892d8c0c4ac1ad096662232f831d4e64f4c4545bd53016a3e9d4654743"}, +] + +[package.dependencies] +zipp = ">=0.5" + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +perf = ["ipython"] +testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"] + [[package]] name = "iniconfig" version = "2.0.0" description = "brain-dead simple config-ini parsing" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -418,11 +465,27 @@ files = [ {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, ] +[[package]] +name = "jinja2" +version = "3.1.2" +description = "A very fast and expressive template engine." +optional = false +python-versions = ">=3.7" +files = [ + {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, + {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, +] + +[package.dependencies] +MarkupSafe = ">=2.0" + +[package.extras] +i18n = ["Babel (>=2.7)"] + [[package]] name = "lxml" version = "4.9.3" description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, != 3.4.*" files = [ @@ -526,11 +589,93 @@ html5 = ["html5lib"] htmlsoup = ["BeautifulSoup4"] source = ["Cython (>=0.29.35)"] +[[package]] +name = "markdown-it-py" +version = "3.0.0" +description = "Python port of markdown-it. Markdown parsing, done right!" +optional = false +python-versions = ">=3.8" +files = [ + {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"}, + {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"}, +] + +[package.dependencies] +mdurl = ">=0.1,<1.0" + +[package.extras] +benchmarking = ["psutil", "pytest", "pytest-benchmark"] +code-style = ["pre-commit (>=3.0,<4.0)"] +compare = ["commonmark (>=0.9,<1.0)", "markdown (>=3.4,<4.0)", "mistletoe (>=1.0,<2.0)", "mistune (>=2.0,<3.0)", "panflute (>=2.3,<3.0)"] +linkify = ["linkify-it-py (>=1,<3)"] +plugins = ["mdit-py-plugins"] +profiling = ["gprof2dot"] +rtd = ["jupyter_sphinx", "mdit-py-plugins", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"] +testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] + +[[package]] +name = "markupsafe" +version = "2.1.3" +description = "Safely add untrusted strings to HTML/XML markup." +optional = false +python-versions = ">=3.7" +files = [ + {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-win32.whl", hash = "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-win_amd64.whl", hash = "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-win32.whl", hash = "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-win_amd64.whl", hash = "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-win32.whl", hash = "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba"}, + {file = "MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad"}, +] + [[package]] name = "mccabe" version = "0.7.0" description = "McCabe checker, plugin for flake8" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -539,35 +684,69 @@ files = [ ] [[package]] -name = "mypy" -version = "1.5.0" -description = "Optional static typing for Python" -category = "dev" +name = "mdit-py-plugins" +version = "0.4.0" +description = "Collection of plugins for markdown-it-py" optional = false python-versions = ">=3.8" files = [ - {file = "mypy-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ad3109bec37cc33654de8db30fe8ff3a1bb57ea65144167d68185e6dced9868d"}, - {file = "mypy-1.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b4ea3a0241cb005b0ccdbd318fb99619b21ae51bcf1660b95fc22e0e7d3ba4a1"}, - {file = "mypy-1.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1fe816e26e676c1311b9e04fd576543b873576d39439f7c24c8e5c7728391ecf"}, - {file = "mypy-1.5.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:42170e68adb1603ccdc55a30068f72bcfcde2ce650188e4c1b2a93018b826735"}, - {file = "mypy-1.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:d145b81a8214687cfc1f85c03663a5bbe736777410e5580e54d526e7e904f564"}, - {file = "mypy-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c36011320e452eb30bec38b9fd3ba20569dc9545d7d4540d967f3ea1fab9c374"}, - {file = "mypy-1.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f3940cf5845b2512b3ab95463198b0cdf87975dfd17fdcc6ce9709a9abe09e69"}, - {file = "mypy-1.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9166186c498170e1ff478a7f540846b2169243feb95bc228d39a67a1a450cdc6"}, - {file = "mypy-1.5.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:725b57a19b7408ef66a0fd9db59b5d3e528922250fb56e50bded27fea9ff28f0"}, - {file = "mypy-1.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:eec5c927aa4b3e8b4781840f1550079969926d0a22ce38075f6cfcf4b13e3eb4"}, - {file = "mypy-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:79c520aa24f21852206b5ff2cf746dc13020113aa73fa55af504635a96e62718"}, - {file = "mypy-1.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:769ddb6bfe55c2bd9c7d6d7020885a5ea14289619db7ee650e06b1ef0852c6f4"}, - {file = "mypy-1.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cbf18f8db7e5f060d61c91e334d3b96d6bb624ddc9ee8a1cde407b737acbca2c"}, - {file = "mypy-1.5.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:a2500ad063413bc873ae102cf655bf49889e0763b260a3a7cf544a0cbbf7e70a"}, - {file = "mypy-1.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:84cf9f7d8a8a22bb6a36444480f4cbf089c917a4179fbf7eea003ea931944a7f"}, - {file = "mypy-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a551ed0fc02455fe2c1fb0145160df8336b90ab80224739627b15ebe2b45e9dc"}, - {file = "mypy-1.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:372fd97293ed0076d52695849f59acbbb8461c4ab447858cdaeaf734a396d823"}, - {file = "mypy-1.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c8a7444d6fcac7e2585b10abb91ad900a576da7af8f5cffffbff6065d9115813"}, - {file = "mypy-1.5.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:35b13335c6c46a386577a51f3d38b2b5d14aa619e9633bb756bd77205e4bd09f"}, - {file = "mypy-1.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:2c9d570f53908cbea326ad8f96028a673b814d9dca7515bf71d95fa662c3eb6f"}, - {file = "mypy-1.5.0-py3-none-any.whl", hash = "sha256:69b32d0dedd211b80f1b7435644e1ef83033a2af2ac65adcdc87c38db68a86be"}, - {file = "mypy-1.5.0.tar.gz", hash = "sha256:f3460f34b3839b9bc84ee3ed65076eb827cd99ed13ed08d723f9083cada4a212"}, + {file = "mdit_py_plugins-0.4.0-py3-none-any.whl", hash = "sha256:b51b3bb70691f57f974e257e367107857a93b36f322a9e6d44ca5bf28ec2def9"}, + {file = "mdit_py_plugins-0.4.0.tar.gz", hash = "sha256:d8ab27e9aed6c38aa716819fedfde15ca275715955f8a185a8e1cf90fb1d2c1b"}, +] + +[package.dependencies] +markdown-it-py = ">=1.0.0,<4.0.0" + +[package.extras] +code-style = ["pre-commit"] +rtd = ["myst-parser", "sphinx-book-theme"] +testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] + +[[package]] +name = "mdurl" +version = "0.1.2" +description = "Markdown URL utilities" +optional = false +python-versions = ">=3.7" +files = [ + {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, + {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, +] + +[[package]] +name = "mypy" +version = "1.5.1" +description = "Optional static typing for Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "mypy-1.5.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f33592ddf9655a4894aef22d134de7393e95fcbdc2d15c1ab65828eee5c66c70"}, + {file = "mypy-1.5.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:258b22210a4a258ccd077426c7a181d789d1121aca6db73a83f79372f5569ae0"}, + {file = "mypy-1.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9ec1f695f0c25986e6f7f8778e5ce61659063268836a38c951200c57479cc12"}, + {file = "mypy-1.5.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:abed92d9c8f08643c7d831300b739562b0a6c9fcb028d211134fc9ab20ccad5d"}, + {file = "mypy-1.5.1-cp310-cp310-win_amd64.whl", hash = "sha256:a156e6390944c265eb56afa67c74c0636f10283429171018446b732f1a05af25"}, + {file = "mypy-1.5.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6ac9c21bfe7bc9f7f1b6fae441746e6a106e48fc9de530dea29e8cd37a2c0cc4"}, + {file = "mypy-1.5.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:51cb1323064b1099e177098cb939eab2da42fea5d818d40113957ec954fc85f4"}, + {file = "mypy-1.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:596fae69f2bfcb7305808c75c00f81fe2829b6236eadda536f00610ac5ec2243"}, + {file = "mypy-1.5.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:32cb59609b0534f0bd67faebb6e022fe534bdb0e2ecab4290d683d248be1b275"}, + {file = "mypy-1.5.1-cp311-cp311-win_amd64.whl", hash = "sha256:159aa9acb16086b79bbb0016145034a1a05360626046a929f84579ce1666b315"}, + {file = "mypy-1.5.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f6b0e77db9ff4fda74de7df13f30016a0a663928d669c9f2c057048ba44f09bb"}, + {file = "mypy-1.5.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:26f71b535dfc158a71264e6dc805a9f8d2e60b67215ca0bfa26e2e1aa4d4d373"}, + {file = "mypy-1.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fc3a600f749b1008cc75e02b6fb3d4db8dbcca2d733030fe7a3b3502902f161"}, + {file = "mypy-1.5.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:26fb32e4d4afa205b24bf645eddfbb36a1e17e995c5c99d6d00edb24b693406a"}, + {file = "mypy-1.5.1-cp312-cp312-win_amd64.whl", hash = "sha256:82cb6193de9bbb3844bab4c7cf80e6227d5225cc7625b068a06d005d861ad5f1"}, + {file = "mypy-1.5.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4a465ea2ca12804d5b34bb056be3a29dc47aea5973b892d0417c6a10a40b2d65"}, + {file = "mypy-1.5.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9fece120dbb041771a63eb95e4896791386fe287fefb2837258925b8326d6160"}, + {file = "mypy-1.5.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d28ddc3e3dfeab553e743e532fb95b4e6afad51d4706dd22f28e1e5e664828d2"}, + {file = "mypy-1.5.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:57b10c56016adce71fba6bc6e9fd45d8083f74361f629390c556738565af8eeb"}, + {file = "mypy-1.5.1-cp38-cp38-win_amd64.whl", hash = "sha256:ff0cedc84184115202475bbb46dd99f8dcb87fe24d5d0ddfc0fe6b8575c88d2f"}, + {file = "mypy-1.5.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8f772942d372c8cbac575be99f9cc9d9fb3bd95c8bc2de6c01411e2c84ebca8a"}, + {file = "mypy-1.5.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5d627124700b92b6bbaa99f27cbe615c8ea7b3402960f6372ea7d65faf376c14"}, + {file = "mypy-1.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:361da43c4f5a96173220eb53340ace68cda81845cd88218f8862dfb0adc8cddb"}, + {file = "mypy-1.5.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:330857f9507c24de5c5724235e66858f8364a0693894342485e543f5b07c8693"}, + {file = "mypy-1.5.1-cp39-cp39-win_amd64.whl", hash = "sha256:c543214ffdd422623e9fedd0869166c2f16affe4ba37463975043ef7d2ea8770"}, + {file = "mypy-1.5.1-py3-none-any.whl", hash = "sha256:f757063a83970d67c444f6e01d9550a7402322af3557ce7630d3c957386fa8f5"}, + {file = "mypy-1.5.1.tar.gz", hash = "sha256:b031b9601f1060bf1281feab89697324726ba0c0bae9d7cd7ab4b690940f0b92"}, ] [package.dependencies] @@ -584,7 +763,6 @@ reports = ["lxml"] name = "mypy-extensions" version = "1.0.0" description = "Type system extensions for programs checked with the mypy type checker." -category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -592,11 +770,36 @@ files = [ {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, ] +[[package]] +name = "myst-parser" +version = "2.0.0" +description = "An extended [CommonMark](https://spec.commonmark.org/) compliant parser," +optional = false +python-versions = ">=3.8" +files = [ + {file = "myst_parser-2.0.0-py3-none-any.whl", hash = "sha256:7c36344ae39c8e740dad7fdabf5aa6fc4897a813083c6cc9990044eb93656b14"}, + {file = "myst_parser-2.0.0.tar.gz", hash = "sha256:ea929a67a6a0b1683cdbe19b8d2e724cd7643f8aa3e7bb18dd65beac3483bead"}, +] + +[package.dependencies] +docutils = ">=0.16,<0.21" +jinja2 = "*" +markdown-it-py = ">=3.0,<4.0" +mdit-py-plugins = ">=0.4,<1.0" +pyyaml = "*" +sphinx = ">=6,<8" + +[package.extras] +code-style = ["pre-commit (>=3.0,<4.0)"] +linkify = ["linkify-it-py (>=2.0,<3.0)"] +rtd = ["ipython", "pydata-sphinx-theme (==v0.13.0rc4)", "sphinx-autodoc2 (>=0.4.2,<0.5.0)", "sphinx-book-theme (==1.0.0rc2)", "sphinx-copybutton", "sphinx-design2", "sphinx-pyscript", "sphinx-tippy (>=0.3.1)", "sphinx-togglebutton", "sphinxext-opengraph (>=0.8.2,<0.9.0)", "sphinxext-rediraffe (>=0.2.7,<0.3.0)"] +testing = ["beautifulsoup4", "coverage[toml]", "pytest (>=7,<8)", "pytest-cov", "pytest-param-files (>=0.3.4,<0.4.0)", "pytest-regressions", "sphinx-pytest"] +testing-docutils = ["pygments", "pytest (>=7,<8)", "pytest-param-files (>=0.3.4,<0.4.0)"] + [[package]] name = "packaging" version = "23.1" description = "Core utilities for Python packages" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -608,7 +811,6 @@ files = [ name = "pathspec" version = "0.11.2" description = "Utility library for gitignore style pattern matching of file paths." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -620,7 +822,6 @@ files = [ name = "platformdirs" version = "3.10.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -636,7 +837,6 @@ test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-co name = "pluggy" version = "1.2.0" description = "plugin and hook calling mechanisms for python" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -650,32 +850,30 @@ testing = ["pytest", "pytest-benchmark"] [[package]] name = "protobuf" -version = "4.24.0" +version = "4.24.1" description = "" -category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "protobuf-4.24.0-cp310-abi3-win32.whl", hash = "sha256:81cb9c4621d2abfe181154354f63af1c41b00a4882fb230b4425cbaed65e8f52"}, - {file = "protobuf-4.24.0-cp310-abi3-win_amd64.whl", hash = "sha256:6c817cf4a26334625a1904b38523d1b343ff8b637d75d2c8790189a4064e51c3"}, - {file = "protobuf-4.24.0-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:ae97b5de10f25b7a443b40427033e545a32b0e9dda17bcd8330d70033379b3e5"}, - {file = "protobuf-4.24.0-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:567fe6b0647494845d0849e3d5b260bfdd75692bf452cdc9cb660d12457c055d"}, - {file = "protobuf-4.24.0-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:a6b1ca92ccabfd9903c0c7dde8876221dc7d8d87ad5c42e095cc11b15d3569c7"}, - {file = "protobuf-4.24.0-cp37-cp37m-win32.whl", hash = "sha256:a38400a692fd0c6944c3c58837d112f135eb1ed6cdad5ca6c5763336e74f1a04"}, - {file = "protobuf-4.24.0-cp37-cp37m-win_amd64.whl", hash = "sha256:5ab19ee50037d4b663c02218a811a5e1e7bb30940c79aac385b96e7a4f9daa61"}, - {file = "protobuf-4.24.0-cp38-cp38-win32.whl", hash = "sha256:e8834ef0b4c88666ebb7c7ec18045aa0f4325481d724daa624a4cf9f28134653"}, - {file = "protobuf-4.24.0-cp38-cp38-win_amd64.whl", hash = "sha256:8bb52a2be32db82ddc623aefcedfe1e0eb51da60e18fcc908fb8885c81d72109"}, - {file = "protobuf-4.24.0-cp39-cp39-win32.whl", hash = "sha256:ae7a1835721086013de193311df858bc12cd247abe4ef9710b715d930b95b33e"}, - {file = "protobuf-4.24.0-cp39-cp39-win_amd64.whl", hash = "sha256:44825e963008f8ea0d26c51911c30d3e82e122997c3c4568fd0385dd7bacaedf"}, - {file = "protobuf-4.24.0-py3-none-any.whl", hash = "sha256:82e6e9ebdd15b8200e8423676eab38b774624d6a1ad696a60d86a2ac93f18201"}, - {file = "protobuf-4.24.0.tar.gz", hash = "sha256:5d0ceb9de6e08311832169e601d1fc71bd8e8c779f3ee38a97a78554945ecb85"}, + {file = "protobuf-4.24.1-cp310-abi3-win32.whl", hash = "sha256:d414199ca605eeb498adc4d2ba82aedc0379dca4a7c364ff9bc9a179aa28e71b"}, + {file = "protobuf-4.24.1-cp310-abi3-win_amd64.whl", hash = "sha256:5906c5e79ff50fe38b2d49d37db5874e3c8010826f2362f79996d83128a8ed9b"}, + {file = "protobuf-4.24.1-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:970c701ee16788d74f3de20938520d7a0aebc7e4fff37096a48804c80d2908cf"}, + {file = "protobuf-4.24.1-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:fc361148e902949dcb953bbcb148c99fe8f8854291ad01107e4120361849fd0e"}, + {file = "protobuf-4.24.1-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:5d32363d14aca6e5c9e9d5918ad8fb65b091b6df66740ae9de50ac3916055e43"}, + {file = "protobuf-4.24.1-cp37-cp37m-win32.whl", hash = "sha256:df015c47d6855b8efa0b9be706c70bf7f050a4d5ac6d37fb043fbd95157a0e25"}, + {file = "protobuf-4.24.1-cp37-cp37m-win_amd64.whl", hash = "sha256:d4af4fd9e9418e819be30f8df2a16e72fbad546a7576ac7f3653be92a6966d30"}, + {file = "protobuf-4.24.1-cp38-cp38-win32.whl", hash = "sha256:302e8752c760549ed4c7a508abc86b25d46553c81989343782809e1a062a2ef9"}, + {file = "protobuf-4.24.1-cp38-cp38-win_amd64.whl", hash = "sha256:06437f0d4bb0d5f29e3d392aba69600188d4be5ad1e0a3370e581a9bf75a3081"}, + {file = "protobuf-4.24.1-cp39-cp39-win32.whl", hash = "sha256:0b2b224e9541fe9f046dd7317d05f08769c332b7e4c54d93c7f0f372dedb0b1a"}, + {file = "protobuf-4.24.1-cp39-cp39-win_amd64.whl", hash = "sha256:bd39b9094a4cc003a1f911b847ab379f89059f478c0b611ba1215053e295132e"}, + {file = "protobuf-4.24.1-py3-none-any.whl", hash = "sha256:55dd644adc27d2a624339332755fe077c7f26971045b469ebb9732a69ce1f2ca"}, + {file = "protobuf-4.24.1.tar.gz", hash = "sha256:44837a5ed9c9418ad5d502f89f28ba102e9cd172b6668bc813f21716f9273348"}, ] [[package]] name = "pyasn1" version = "0.5.0" description = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)" -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" files = [ @@ -687,7 +885,6 @@ files = [ name = "pyasn1-modules" version = "0.3.0" description = "A collection of ASN.1-based protocols modules" -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" files = [ @@ -702,7 +899,6 @@ pyasn1 = ">=0.4.6,<0.6.0" name = "pycodestyle" version = "2.9.1" description = "Python style guide checker" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -714,7 +910,6 @@ files = [ name = "pyflakes" version = "2.5.0" description = "passive checker of Python programs" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -722,11 +917,24 @@ files = [ {file = "pyflakes-2.5.0.tar.gz", hash = "sha256:491feb020dca48ccc562a8c0cbe8df07ee13078df59813b83959cbdada312ea3"}, ] +[[package]] +name = "pygments" +version = "2.16.1" +description = "Pygments is a syntax highlighting package written in Python." +optional = false +python-versions = ">=3.7" +files = [ + {file = "Pygments-2.16.1-py3-none-any.whl", hash = "sha256:13fc09fa63bc8d8671a6d247e1eb303c4b343eaee81d861f3404db2935653692"}, + {file = "Pygments-2.16.1.tar.gz", hash = "sha256:1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29"}, +] + +[package.extras] +plugins = ["importlib-metadata"] + [[package]] name = "pyparsing" version = "3.1.1" description = "pyparsing module - Classes and methods to define and execute parsing grammars" -category = "main" optional = false python-versions = ">=3.6.8" files = [ @@ -741,7 +949,6 @@ diagrams = ["jinja2", "railroad-diagrams"] name = "pytest" version = "7.4.0" description = "pytest: simple powerful testing with Python" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -764,7 +971,6 @@ testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "no name = "python-dateutil" version = "2.8.2" description = "Extensions to the standard Python datetime module" -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ @@ -779,7 +985,6 @@ six = ">=1.5" name = "pytz" version = "2023.3" description = "World timezone definitions, modern and historical" -category = "main" optional = false python-versions = "*" files = [ @@ -791,7 +996,6 @@ files = [ name = "pyyaml" version = "6.0.1" description = "YAML parser and emitter for Python" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -841,7 +1045,6 @@ files = [ name = "requests" version = "2.31.0" description = "Python HTTP for Humans." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -863,7 +1066,6 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] name = "rsa" version = "4.9" description = "Pure-Python RSA implementation" -category = "main" optional = false python-versions = ">=3.6,<4" files = [ @@ -878,7 +1080,6 @@ pyasn1 = ">=0.1.3" name = "six" version = "1.16.0" description = "Python 2 and 3 compatibility utilities" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -886,11 +1087,219 @@ files = [ {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, ] +[[package]] +name = "snowballstemmer" +version = "2.2.0" +description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms." +optional = false +python-versions = "*" +files = [ + {file = "snowballstemmer-2.2.0-py2.py3-none-any.whl", hash = "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a"}, + {file = "snowballstemmer-2.2.0.tar.gz", hash = "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1"}, +] + +[[package]] +name = "sphinx" +version = "7.1.2" +description = "Python documentation generator" +optional = false +python-versions = ">=3.8" +files = [ + {file = "sphinx-7.1.2-py3-none-any.whl", hash = "sha256:d170a81825b2fcacb6dfd5a0d7f578a053e45d3f2b153fecc948c37344eb4cbe"}, + {file = "sphinx-7.1.2.tar.gz", hash = "sha256:780f4d32f1d7d1126576e0e5ecc19dc32ab76cd24e950228dcf7b1f6d3d9e22f"}, +] + +[package.dependencies] +alabaster = ">=0.7,<0.8" +babel = ">=2.9" +colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} +docutils = ">=0.18.1,<0.21" +imagesize = ">=1.3" +importlib-metadata = {version = ">=4.8", markers = "python_version < \"3.10\""} +Jinja2 = ">=3.0" +packaging = ">=21.0" +Pygments = ">=2.13" +requests = ">=2.25.0" +snowballstemmer = ">=2.0" +sphinxcontrib-applehelp = "*" +sphinxcontrib-devhelp = "*" +sphinxcontrib-htmlhelp = ">=2.0.0" +sphinxcontrib-jsmath = "*" +sphinxcontrib-qthelp = "*" +sphinxcontrib-serializinghtml = ">=1.1.5" + +[package.extras] +docs = ["sphinxcontrib-websupport"] +lint = ["docutils-stubs", "flake8 (>=3.5.0)", "flake8-simplify", "isort", "mypy (>=0.990)", "ruff", "sphinx-lint", "types-requests"] +test = ["cython", "filelock", "html5lib", "pytest (>=4.6)"] + +[[package]] +name = "sphinx-copybutton" +version = "0.5.2" +description = "Add a copy button to each of your code cells." +optional = false +python-versions = ">=3.7" +files = [ + {file = "sphinx-copybutton-0.5.2.tar.gz", hash = "sha256:4cf17c82fb9646d1bc9ca92ac280813a3b605d8c421225fd9913154103ee1fbd"}, + {file = "sphinx_copybutton-0.5.2-py3-none-any.whl", hash = "sha256:fb543fd386d917746c9a2c50360c7905b605726b9355cd26e9974857afeae06e"}, +] + +[package.dependencies] +sphinx = ">=1.8" + +[package.extras] +code-style = ["pre-commit (==2.12.1)"] +rtd = ["ipython", "myst-nb", "sphinx", "sphinx-book-theme", "sphinx-examples"] + +[[package]] +name = "sphinx-design" +version = "0.5.0" +description = "A sphinx extension for designing beautiful, view size responsive web components." +optional = false +python-versions = ">=3.8" +files = [ + {file = "sphinx_design-0.5.0-py3-none-any.whl", hash = "sha256:1af1267b4cea2eedd6724614f19dcc88fe2e15aff65d06b2f6252cee9c4f4c1e"}, + {file = "sphinx_design-0.5.0.tar.gz", hash = "sha256:e8e513acea6f92d15c6de3b34e954458f245b8e761b45b63950f65373352ab00"}, +] + +[package.dependencies] +sphinx = ">=5,<8" + +[package.extras] +code-style = ["pre-commit (>=3,<4)"] +rtd = ["myst-parser (>=1,<3)"] +testing = ["myst-parser (>=1,<3)", "pytest (>=7.1,<8.0)", "pytest-cov", "pytest-regressions"] +theme-furo = ["furo (>=2023.7.0,<2023.8.0)"] +theme-pydata = ["pydata-sphinx-theme (>=0.13.0,<0.14.0)"] +theme-rtd = ["sphinx-rtd-theme (>=1.0,<2.0)"] +theme-sbt = ["sphinx-book-theme (>=1.0,<2.0)"] + +[[package]] +name = "sphinx-rtd-theme" +version = "1.3.0rc1" +description = "Read the Docs theme for Sphinx" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +files = [ + {file = "sphinx_rtd_theme-1.3.0rc1-py2.py3-none-any.whl", hash = "sha256:ace3640f8951a93fd514fccd02071abac340c28fb0c907f180a7608c416e99a2"}, + {file = "sphinx_rtd_theme-1.3.0rc1.tar.gz", hash = "sha256:3e321023694842feae0baed4f34004c4c925d812df9c93db49769c5887496d13"}, +] + +[package.dependencies] +docutils = "<0.19" +sphinx = ">=1.6,<8" +sphinxcontrib-jquery = ">=4,<5" + +[package.extras] +dev = ["bump2version", "sphinxcontrib-httpdomain", "transifex-client", "wheel"] + +[[package]] +name = "sphinxcontrib-applehelp" +version = "1.0.4" +description = "sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books" +optional = false +python-versions = ">=3.8" +files = [ + {file = "sphinxcontrib-applehelp-1.0.4.tar.gz", hash = "sha256:828f867945bbe39817c210a1abfd1bc4895c8b73fcaade56d45357a348a07d7e"}, + {file = "sphinxcontrib_applehelp-1.0.4-py3-none-any.whl", hash = "sha256:29d341f67fb0f6f586b23ad80e072c8e6ad0b48417db2bde114a4c9746feb228"}, +] + +[package.extras] +lint = ["docutils-stubs", "flake8", "mypy"] +test = ["pytest"] + +[[package]] +name = "sphinxcontrib-devhelp" +version = "1.0.2" +description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document." +optional = false +python-versions = ">=3.5" +files = [ + {file = "sphinxcontrib-devhelp-1.0.2.tar.gz", hash = "sha256:ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4"}, + {file = "sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e"}, +] + +[package.extras] +lint = ["docutils-stubs", "flake8", "mypy"] +test = ["pytest"] + +[[package]] +name = "sphinxcontrib-htmlhelp" +version = "2.0.1" +description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" +optional = false +python-versions = ">=3.8" +files = [ + {file = "sphinxcontrib-htmlhelp-2.0.1.tar.gz", hash = "sha256:0cbdd302815330058422b98a113195c9249825d681e18f11e8b1f78a2f11efff"}, + {file = "sphinxcontrib_htmlhelp-2.0.1-py3-none-any.whl", hash = "sha256:c38cb46dccf316c79de6e5515e1770414b797162b23cd3d06e67020e1d2a6903"}, +] + +[package.extras] +lint = ["docutils-stubs", "flake8", "mypy"] +test = ["html5lib", "pytest"] + +[[package]] +name = "sphinxcontrib-jquery" +version = "4.1" +description = "Extension to include jQuery on newer Sphinx releases" +optional = false +python-versions = ">=2.7" +files = [ + {file = "sphinxcontrib-jquery-4.1.tar.gz", hash = "sha256:1620739f04e36a2c779f1a131a2dfd49b2fd07351bf1968ced074365933abc7a"}, + {file = "sphinxcontrib_jquery-4.1-py2.py3-none-any.whl", hash = "sha256:f936030d7d0147dd026a4f2b5a57343d233f1fc7b363f68b3d4f1cb0993878ae"}, +] + +[package.dependencies] +Sphinx = ">=1.8" + +[[package]] +name = "sphinxcontrib-jsmath" +version = "1.0.1" +description = "A sphinx extension which renders display math in HTML via JavaScript" +optional = false +python-versions = ">=3.5" +files = [ + {file = "sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8"}, + {file = "sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178"}, +] + +[package.extras] +test = ["flake8", "mypy", "pytest"] + +[[package]] +name = "sphinxcontrib-qthelp" +version = "1.0.3" +description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document." +optional = false +python-versions = ">=3.5" +files = [ + {file = "sphinxcontrib-qthelp-1.0.3.tar.gz", hash = "sha256:4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72"}, + {file = "sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6"}, +] + +[package.extras] +lint = ["docutils-stubs", "flake8", "mypy"] +test = ["pytest"] + +[[package]] +name = "sphinxcontrib-serializinghtml" +version = "1.1.5" +description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)." +optional = false +python-versions = ">=3.5" +files = [ + {file = "sphinxcontrib-serializinghtml-1.1.5.tar.gz", hash = "sha256:aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952"}, + {file = "sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl", hash = "sha256:352a9a00ae864471d3a7ead8d7d79f5fc0b57e8b3f95e9867eb9eb28999b92fd"}, +] + +[package.extras] +lint = ["docutils-stubs", "flake8", "mypy"] +test = ["pytest"] + [[package]] name = "termcolor" version = "2.3.0" description = "ANSI color formatting for output in terminal" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -905,7 +1314,6 @@ tests = ["pytest", "pytest-cov"] name = "tomli" version = "2.0.1" description = "A lil' TOML parser" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -917,7 +1325,6 @@ files = [ name = "types-python-dateutil" version = "2.8.19.14" description = "Typing stubs for python-dateutil" -category = "dev" optional = false python-versions = "*" files = [ @@ -929,7 +1336,6 @@ files = [ name = "types-pytz" version = "2023.3.0.1" description = "Typing stubs for pytz" -category = "dev" optional = false python-versions = "*" files = [ @@ -941,7 +1347,6 @@ files = [ name = "types-pyyaml" version = "6.0.12.11" description = "Typing stubs for PyYAML" -category = "dev" optional = false python-versions = "*" files = [ @@ -953,7 +1358,6 @@ files = [ name = "typing-extensions" version = "4.7.1" description = "Backported and Experimental Type Hints for Python 3.7+" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -965,7 +1369,6 @@ files = [ name = "uritemplate" version = "4.1.1" description = "Implementation of RFC 6570 URI Templates" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -977,7 +1380,6 @@ files = [ name = "urllib3" version = "1.26.16" description = "HTTP library with thread-safe connection pooling, file post, and more." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" files = [ @@ -990,7 +1392,22 @@ brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] +[[package]] +name = "zipp" +version = "3.16.2" +description = "Backport of pathlib-compatible object wrapper for zip files" +optional = false +python-versions = ">=3.8" +files = [ + {file = "zipp-3.16.2-py3-none-any.whl", hash = "sha256:679e51dd4403591b2d6838a48de3d283f3d188412a9782faadf845f298736ba0"}, + {file = "zipp-3.16.2.tar.gz", hash = "sha256:ebc15946aa78bd63458992fc81ec3b6f7b1e92d51c35e6de1c3804e73b799147"}, +] + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"] + [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "2b4c1fc8dd2b3e2c586c71a04a506e1ca87db20899ad5da0dc5ee17947570f25" +content-hash = "6861e27309a86c63c85062163af592665537703cf39af74a951b591d8aa21fed" diff --git a/pyproject.toml b/pyproject.toml index 0628e11..cbe5d9f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,7 +13,7 @@ classifiers = [ 'Operating System :: OS Independent', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', - 'Programming Language :: Python :: 3.10', + 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', ] @@ -26,7 +26,13 @@ pytz = "2023.3" PyYAML = "6.0.1" fire = "0.5.0" -[tool.poetry.dev-dependencies] +[tool.poetry.group.dev] +optional = true + +[tool.poetry.group.docs] +optional = true + +[tool.poetry.group.dev.dependencies] pytest = "^7.4.0" flake8 = "^5.0.4" black = "^23.7.0" @@ -36,6 +42,13 @@ types-pytz = ">=2021.3.8" types-PyYAML = "^6.0.12" lxml = "^4.9.3" +[tool.poetry.group.docs.dependencies] +sphinx = ">=7.1,<7.2" +myst-parser = "^2.0.0" +sphinx-rtd-theme = "^1.2.2" +sphinx-copybutton = "^0.5.2" +sphinx-design = "^0.5.0" + [tool.poetry.scripts] sync-ics2gcal = "sync_ics2gcal.sync_calendar:main" manage-ics2gcal = "sync_ics2gcal.manage_calendars:main" diff --git a/sync_ics2gcal/gcal.py b/sync_ics2gcal/gcal.py index 6e0995a..5c6a27e 100644 --- a/sync_ics2gcal/gcal.py +++ b/sync_ics2gcal/gcal.py @@ -132,11 +132,14 @@ class GoogleCalendarService: """make service Resource from config dict Arguments: - config -- config with keys: - (optional) service_account: - service account filename - if key not in dict then default credentials will be used - ( https://developers.google.com/identity/protocols/application-default-credentials ) - -- None: default credentials will be used + + **config** -- config with keys: + + (optional) service_account: - service account filename + if key not in dict then default credentials will be used + ( https://developers.google.com/identity/protocols/application-default-credentials ) + + -- **None**: default credentials will be used """ if config is not None and "service_account" in config: