diff --git a/.github/workflows/doc_pages.yaml b/.github/workflows/doc_pages.yaml index 4492087..b258784 100644 --- a/.github/workflows/doc_pages.yaml +++ b/.github/workflows/doc_pages.yaml @@ -22,7 +22,7 @@ jobs: uses: snok/install-poetry@v1.3 - name: install - run: poetry install -E docs + run: poetry install --only main,docs - name: Build documentation. run: | diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 3a057d5..309d7b1 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -13,15 +13,12 @@ on: jobs: lint: runs-on: ubuntu-latest - strategy: - matrix: - python-version: [ "3.11", "3.7" ] steps: - uses: actions/checkout@v3 - - name: Set up Python ${{ matrix.python-version }} + - name: Set up Python uses: actions/setup-python@v3 with: - python-version: ${{ matrix.python-version }} + python-version: 3.11 - name: Install dependencies run: | pip install tox @@ -78,7 +75,7 @@ jobs: # install your root project, if required #---------------------------------------------- - name: Install library - run: poetry install --no-interaction --extras refresh + run: poetry install --no-interaction #---------------------------------------------- # coverage report diff --git a/poetry.lock b/poetry.lock index 6c01336..bf12615 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,10 +1,9 @@ -# This file is automatically @generated by Poetry 1.4.0 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. [[package]] name = "alabaster" version = "0.7.13" description = "A configurable sidebar-enabled Sphinx theme" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -16,7 +15,6 @@ files = [ name = "annotated-types" version = "0.6.0" description = "Reusable constraint types to use with typing.Annotated" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -24,11 +22,13 @@ files = [ {file = "annotated_types-0.6.0.tar.gz", hash = "sha256:563339e807e53ffd9c267e99fc6d9ea23eb8443c08f112651963e24e22f84a5d"}, ] +[package.dependencies] +typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.9\""} + [[package]] name = "babel" version = "2.14.0" description = "Internationalization utilities" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -36,33 +36,16 @@ files = [ {file = "Babel-2.14.0.tar.gz", hash = "sha256:6919867db036398ba21eb5c7a0f6b28ab8cbc3ae7a73a44ebe34ae74a4e7d363"}, ] -[package.extras] -dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] - -[[package]] -name = "beautifulsoup4" -version = "4.12.2" -description = "Screen-scraping library" -category = "main" -optional = false -python-versions = ">=3.6.0" -files = [ - {file = "beautifulsoup4-4.12.2-py3-none-any.whl", hash = "sha256:bd2520ca0d9d7d12694a53d44ac482d181b4ec1888909b035a3dbf40d0f57d4a"}, - {file = "beautifulsoup4-4.12.2.tar.gz", hash = "sha256:492bbc69dca35d12daac71c4db1bfff0c876c00ef4a2ffacce226d4638eb72da"}, -] - [package.dependencies] -soupsieve = ">1.2" +pytz = {version = ">=2015.7", markers = "python_version < \"3.9\""} [package.extras] -html5lib = ["html5lib"] -lxml = ["lxml"] +dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] [[package]] name = "bioregistry" version = "0.10.105" description = "Integrated registry of biological databases and nomenclatures" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -93,7 +76,6 @@ web = ["bootstrap-flask (<=2.0.0)", "curies[fastapi]", "fastapi", "flask (<2.2.4 name = "cachetools" version = "5.3.2" description = "Extensible memoizing collections and decorators" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -105,7 +87,6 @@ files = [ name = "certifi" version = "2023.11.17" description = "Python package for providing Mozilla's CA Bundle." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -117,7 +98,6 @@ files = [ name = "chardet" version = "5.2.0" description = "Universal encoding detector for Python 3" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -129,7 +109,6 @@ files = [ name = "charset-normalizer" version = "3.3.2" 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 = [ @@ -229,7 +208,6 @@ files = [ name = "click" version = "8.1.7" description = "Composable command line interface toolkit" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -244,7 +222,6 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} name = "colorama" version = "0.4.6" description = "Cross-platform colored terminal text." -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ @@ -256,7 +233,6 @@ files = [ name = "coverage" version = "7.3.3" description = "Code coverage measurement for Python" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -321,7 +297,6 @@ toml = ["tomli"] name = "curies" version = "0.7.4" description = "Idiomatic conversion between URIs and compact URIs (CURIEs)." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -346,7 +321,6 @@ tests = ["coverage", "pytest"] name = "distlib" version = "0.3.8" description = "Distribution utilities" -category = "main" optional = false python-versions = "*" files = [ @@ -358,7 +332,6 @@ files = [ name = "docutils" version = "0.18.1" description = "Docutils -- Python Documentation Utilities" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -370,7 +343,6 @@ files = [ name = "exceptiongroup" version = "1.2.0" description = "Backport of PEP 654 (exception groups)" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -385,7 +357,6 @@ test = ["pytest (>=6)"] name = "filelock" version = "3.13.1" description = "A platform independent file lock." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -398,29 +369,10 @@ docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1 testing = ["covdefaults (>=2.3)", "coverage (>=7.3.2)", "diff-cover (>=8)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-timeout (>=2.2)"] typing = ["typing-extensions (>=4.8)"] -[[package]] -name = "furo" -version = "2023.9.10" -description = "A clean customisable Sphinx documentation theme." -category = "main" -optional = false -python-versions = ">=3.8" -files = [ - {file = "furo-2023.9.10-py3-none-any.whl", hash = "sha256:513092538537dc5c596691da06e3c370714ec99bc438680edc1debffb73e5bfc"}, - {file = "furo-2023.9.10.tar.gz", hash = "sha256:5707530a476d2a63b8cad83b4f961f3739a69f4b058bcf38a03a39fa537195b2"}, -] - -[package.dependencies] -beautifulsoup4 = "*" -pygments = ">=2.7" -sphinx = ">=6.0,<8.0" -sphinx-basic-ng = "*" - [[package]] name = "idna" version = "3.6" description = "Internationalized Domain Names in Applications (IDNA)" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -432,7 +384,6 @@ files = [ name = "imagesize" version = "1.4.1" description = "Getting image size from png/jpeg/jpeg2000/gif file" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -444,7 +395,6 @@ files = [ name = "importlib-metadata" version = "7.0.0" description = "Read metadata from Python packages" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -464,7 +414,6 @@ testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs name = "iniconfig" version = "2.0.0" description = "brain-dead simple config-ini parsing" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -476,7 +425,6 @@ files = [ name = "isodate" version = "0.6.1" description = "An ISO 8601 date/time/duration parser and formatter" -category = "main" optional = false python-versions = "*" files = [ @@ -491,7 +439,6 @@ six = "*" name = "jinja2" version = "3.1.2" description = "A very fast and expressive template engine." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -509,7 +456,6 @@ i18n = ["Babel (>=2.7)"] name = "markdown-it-py" version = "3.0.0" description = "Python port of markdown-it. Markdown parsing, done right!" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -534,7 +480,6 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] name = "markupsafe" version = "2.1.3" description = "Safely add untrusted strings to HTML/XML markup." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -594,7 +539,6 @@ files = [ name = "mdit-py-plugins" version = "0.4.0" description = "Collection of plugins for markdown-it-py" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -614,7 +558,6 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] name = "mdurl" version = "0.1.2" description = "Markdown URL utilities" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -626,7 +569,6 @@ files = [ name = "more-click" version = "0.1.2" description = "More click." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -644,7 +586,6 @@ tests = ["coverage", "pytest"] name = "myst-parser" version = "2.0.0" description = "An extended [CommonMark](https://spec.commonmark.org/) compliant parser," -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -671,7 +612,6 @@ testing-docutils = ["pygments", "pytest (>=7,<8)", "pytest-param-files (>=0.3.4, name = "packaging" version = "23.2" description = "Core utilities for Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -683,7 +623,6 @@ files = [ name = "platformdirs" version = "4.1.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -699,7 +638,6 @@ test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-co name = "pluggy" version = "1.3.0" description = "plugin and hook calling mechanisms for python" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -715,7 +653,6 @@ testing = ["pytest", "pytest-benchmark"] name = "pydantic" version = "2.5.2" description = "Data validation using Python type hints" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -735,7 +672,6 @@ email = ["email-validator (>=2.0.0)"] name = "pydantic-core" version = "2.14.5" description = "" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -853,7 +789,6 @@ typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0" name = "pygments" version = "2.17.2" description = "Pygments is a syntax highlighting package written in Python." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -869,7 +804,6 @@ windows-terminal = ["colorama (>=0.4.6)"] 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 = [ @@ -884,7 +818,6 @@ diagrams = ["jinja2", "railroad-diagrams"] name = "pyproject-api" version = "1.6.1" description = "API to interact with the python pyproject.toml based projects" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -904,7 +837,6 @@ testing = ["covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytes name = "pystow" version = "0.5.2" description = "Easily pick a place to store data for your python package." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -929,7 +861,6 @@ xml = ["lxml"] name = "pytest" version = "7.4.3" description = "pytest: simple powerful testing with Python" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -952,7 +883,6 @@ testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "no name = "pytrie" version = "0.4.0" description = "A pure Python implementation of the trie data structure." -category = "main" optional = false python-versions = "*" files = [ @@ -962,11 +892,21 @@ files = [ [package.dependencies] sortedcontainers = "*" +[[package]] +name = "pytz" +version = "2024.1" +description = "World timezone definitions, modern and historical" +optional = false +python-versions = "*" +files = [ + {file = "pytz-2024.1-py2.py3-none-any.whl", hash = "sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"}, + {file = "pytz-2024.1.tar.gz", hash = "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812"}, +] + [[package]] name = "pyyaml" version = "6.0.1" description = "YAML parser and emitter for Python" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1016,7 +956,6 @@ files = [ name = "rdflib" version = "6.3.2" description = "RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information." -category = "main" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -1038,7 +977,6 @@ networkx = ["networkx (>=2.0.0,<3.0.0)"] name = "requests" version = "2.31.0" description = "Python HTTP for Humans." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1060,7 +998,6 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] 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 = [ @@ -1072,7 +1009,6 @@ files = [ name = "snowballstemmer" version = "2.2.0" description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms." -category = "main" optional = false python-versions = "*" files = [ @@ -1084,7 +1020,6 @@ files = [ name = "sortedcontainers" version = "2.4.0" description = "Sorted Containers -- Sorted List, Sorted Dict, Sorted Set" -category = "main" optional = false python-versions = "*" files = [ @@ -1092,28 +1027,15 @@ files = [ {file = "sortedcontainers-2.4.0.tar.gz", hash = "sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88"}, ] -[[package]] -name = "soupsieve" -version = "2.5" -description = "A modern CSS selector implementation for Beautiful Soup." -category = "main" -optional = false -python-versions = ">=3.8" -files = [ - {file = "soupsieve-2.5-py3-none-any.whl", hash = "sha256:eaa337ff55a1579b6549dc679565eac1e3d000563bcb1c8ab0d0fefbc0c2cdc7"}, - {file = "soupsieve-2.5.tar.gz", hash = "sha256:5663d5a7b3bfaeee0bc4372e7fc48f9cff4940b3eec54a6451cc5299f1097690"}, -] - [[package]] name = "sphinx" -version = "7.2.6" +version = "7.1.2" description = "Python documentation generator" -category = "main" optional = false -python-versions = ">=3.9" +python-versions = ">=3.8" files = [ - {file = "sphinx-7.2.6-py3-none-any.whl", hash = "sha256:1e09160a40b956dc623c910118fa636da93bd3ca0b9876a7b3df90f07d691560"}, - {file = "sphinx-7.2.6.tar.gz", hash = "sha256:9a5160e1ea90688d5963ba09a2dcd8bdd526620edbb65c328728f1b2228d5ab5"}, + {file = "sphinx-7.1.2-py3-none-any.whl", hash = "sha256:d170a81825b2fcacb6dfd5a0d7f578a053e45d3f2b153fecc948c37344eb4cbe"}, + {file = "sphinx-7.1.2.tar.gz", hash = "sha256:780f4d32f1d7d1126576e0e5ecc19dc32ab76cd24e950228dcf7b1f6d3d9e22f"}, ] [package.dependencies] @@ -1125,7 +1047,7 @@ imagesize = ">=1.3" importlib-metadata = {version = ">=4.8", markers = "python_version < \"3.10\""} Jinja2 = ">=3.0" packaging = ">=21.0" -Pygments = ">=2.14" +Pygments = ">=2.13" requests = ">=2.25.0" snowballstemmer = ">=2.0" sphinxcontrib-applehelp = "*" @@ -1133,19 +1055,17 @@ sphinxcontrib-devhelp = "*" sphinxcontrib-htmlhelp = ">=2.0.0" sphinxcontrib-jsmath = "*" sphinxcontrib-qthelp = "*" -sphinxcontrib-serializinghtml = ">=1.1.9" -sphinxcontrib-websupport = {version = "*", optional = true, markers = "extra == \"docs\""} +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 (>=3.0)", "filelock", "html5lib", "pytest (>=4.6)", "setuptools (>=67.0)"] +test = ["cython", "filelock", "html5lib", "pytest (>=4.6)"] [[package]] name = "sphinx-autodoc-typehints" version = "1.25.2" description = "Type hints (PEP 484) support for the Sphinx autodoc extension" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1154,7 +1074,6 @@ files = [ ] [package.dependencies] -furo = {version = ">=2023.7.26", optional = true, markers = "extra == \"docs\""} sphinx = ">=7.1.2" [package.extras] @@ -1162,29 +1081,10 @@ docs = ["furo (>=2023.7.26)", "sphinx (>=7.1.2)"] numpy = ["nptyping (>=2.5)"] testing = ["covdefaults (>=2.3)", "coverage (>=7.3)", "diff-cover (>=7.7)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "sphobjinv (>=2.3.1)", "typing-extensions (>=4.7.1)"] -[[package]] -name = "sphinx-basic-ng" -version = "1.0.0b2" -description = "A modern skeleton for Sphinx themes." -category = "main" -optional = false -python-versions = ">=3.7" -files = [ - {file = "sphinx_basic_ng-1.0.0b2-py3-none-any.whl", hash = "sha256:eb09aedbabfb650607e9b4b68c9d240b90b1e1be221d6ad71d61c52e29f7932b"}, - {file = "sphinx_basic_ng-1.0.0b2.tar.gz", hash = "sha256:9ec55a47c90c8c002b5960c57492ec3021f5193cb26cebc2dc4ea226848651c9"}, -] - -[package.dependencies] -sphinx = ">=4.0" - -[package.extras] -docs = ["furo", "ipython", "myst-parser", "sphinx-copybutton", "sphinx-inline-tabs"] - [[package]] name = "sphinx-click" version = "4.4.0" description = "Sphinx extension that automatically documents click applications" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1201,7 +1101,6 @@ sphinx = ">=2.0" name = "sphinx-rtd-theme" version = "1.3.0" description = "Read the Docs theme for Sphinx" -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" files = [ @@ -1219,57 +1118,45 @@ dev = ["bump2version", "sphinxcontrib-httpdomain", "transifex-client", "wheel"] [[package]] name = "sphinxcontrib-applehelp" -version = "1.0.7" +version = "1.0.4" description = "sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books" -category = "main" optional = false -python-versions = ">=3.9" +python-versions = ">=3.8" files = [ - {file = "sphinxcontrib_applehelp-1.0.7-py3-none-any.whl", hash = "sha256:094c4d56209d1734e7d252f6e0b3ccc090bd52ee56807a5d9315b19c122ab15d"}, - {file = "sphinxcontrib_applehelp-1.0.7.tar.gz", hash = "sha256:39fdc8d762d33b01a7d8f026a3b7d71563ea3b72787d5f00ad8465bd9d6dfbfa"}, + {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.dependencies] -Sphinx = ">=5" - [package.extras] lint = ["docutils-stubs", "flake8", "mypy"] test = ["pytest"] [[package]] name = "sphinxcontrib-devhelp" -version = "1.0.5" -description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp documents" -category = "main" +version = "1.0.2" +description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document." optional = false -python-versions = ">=3.9" +python-versions = ">=3.5" files = [ - {file = "sphinxcontrib_devhelp-1.0.5-py3-none-any.whl", hash = "sha256:fe8009aed765188f08fcaadbb3ea0d90ce8ae2d76710b7e29ea7d047177dae2f"}, - {file = "sphinxcontrib_devhelp-1.0.5.tar.gz", hash = "sha256:63b41e0d38207ca40ebbeabcf4d8e51f76c03e78cd61abe118cf4435c73d4212"}, + {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.dependencies] -Sphinx = ">=5" - [package.extras] lint = ["docutils-stubs", "flake8", "mypy"] test = ["pytest"] [[package]] name = "sphinxcontrib-htmlhelp" -version = "2.0.4" +version = "2.0.1" description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" -category = "main" optional = false -python-versions = ">=3.9" +python-versions = ">=3.8" files = [ - {file = "sphinxcontrib_htmlhelp-2.0.4-py3-none-any.whl", hash = "sha256:8001661c077a73c29beaf4a79968d0726103c5605e27db92b9ebed8bab1359e9"}, - {file = "sphinxcontrib_htmlhelp-2.0.4.tar.gz", hash = "sha256:6c26a118a05b76000738429b724a0568dbde5b72391a688577da08f11891092a"}, + {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.dependencies] -Sphinx = ">=5" - [package.extras] lint = ["docutils-stubs", "flake8", "mypy"] test = ["html5lib", "pytest"] @@ -1278,7 +1165,6 @@ test = ["html5lib", "pytest"] name = "sphinxcontrib-jquery" version = "4.1" description = "Extension to include jQuery on newer Sphinx releases" -category = "main" optional = false python-versions = ">=2.7" files = [ @@ -1293,7 +1179,6 @@ Sphinx = ">=1.8" name = "sphinxcontrib-jsmath" version = "1.0.1" description = "A sphinx extension which renders display math in HTML via JavaScript" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -1306,68 +1191,38 @@ test = ["flake8", "mypy", "pytest"] [[package]] name = "sphinxcontrib-qthelp" -version = "1.0.6" -description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp documents" -category = "main" +version = "1.0.3" +description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document." optional = false -python-versions = ">=3.9" +python-versions = ">=3.5" files = [ - {file = "sphinxcontrib_qthelp-1.0.6-py3-none-any.whl", hash = "sha256:bf76886ee7470b934e363da7a954ea2825650013d367728588732c7350f49ea4"}, - {file = "sphinxcontrib_qthelp-1.0.6.tar.gz", hash = "sha256:62b9d1a186ab7f5ee3356d906f648cacb7a6bdb94d201ee7adf26db55092982d"}, + {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.dependencies] -Sphinx = ">=5" - [package.extras] lint = ["docutils-stubs", "flake8", "mypy"] test = ["pytest"] [[package]] name = "sphinxcontrib-serializinghtml" -version = "1.1.9" -description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)" -category = "main" +version = "1.1.5" +description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)." optional = false -python-versions = ">=3.9" +python-versions = ">=3.5" files = [ - {file = "sphinxcontrib_serializinghtml-1.1.9-py3-none-any.whl", hash = "sha256:9b36e503703ff04f20e9675771df105e58aa029cfcbc23b8ed716019b7416ae1"}, - {file = "sphinxcontrib_serializinghtml-1.1.9.tar.gz", hash = "sha256:0c64ff898339e1fac29abd2bf5f11078f3ec413cfe9c046d3120d7ca65530b54"}, + {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.dependencies] -Sphinx = ">=5" - [package.extras] lint = ["docutils-stubs", "flake8", "mypy"] test = ["pytest"] -[[package]] -name = "sphinxcontrib-websupport" -version = "1.2.6" -description = "sphinxcontrib-websupport provides a Python API to easily integrate Sphinx documentation into your Web application" -category = "main" -optional = false -python-versions = ">=3.9" -files = [ - {file = "sphinxcontrib_websupport-1.2.6-py3-none-any.whl", hash = "sha256:c43c2031b93799ad688c2af233e330740768adc57c02746d5ec197e815b9469e"}, - {file = "sphinxcontrib_websupport-1.2.6.tar.gz", hash = "sha256:d592be8e11261bbbc64668f258efc4fd42c93ab617411143b5245fe30c633d8c"}, -] - -[package.dependencies] -jinja2 = "*" -Sphinx = ">=5" -sphinxcontrib-serializinghtml = "*" - -[package.extras] -lint = ["docutils-stubs", "flake8", "mypy"] -test = ["greenlet (>=3.0.0a1)", "pytest", "sqlalchemy", "whoosh"] - [[package]] name = "tomli" version = "2.0.1" description = "A lil' TOML parser" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1379,7 +1234,6 @@ files = [ name = "tox" version = "4.11.4" description = "tox is a generic virtualenv management and test command line tool" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1407,7 +1261,6 @@ testing = ["build[virtualenv] (>=0.10)", "covdefaults (>=2.3)", "detect-test-pol name = "tqdm" version = "4.66.1" description = "Fast, Extensible Progress Meter" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1428,7 +1281,6 @@ telegram = ["requests"] name = "typing-extensions" version = "4.9.0" description = "Backported and Experimental Type Hints for Python 3.8+" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1440,7 +1292,6 @@ files = [ name = "urllib3" version = "2.1.0" description = "HTTP library with thread-safe connection pooling, file post, and more." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1457,7 +1308,6 @@ zstd = ["zstandard (>=0.18.0)"] name = "virtualenv" version = "20.25.0" description = "Virtual Python Environment builder" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1478,7 +1328,6 @@ test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess name = "zipp" version = "3.17.0" description = "Backport of pathlib-compatible object wrapper for zip files" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1490,11 +1339,7 @@ files = [ docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "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"] -[extras] -docs = ["Sphinx", "myst-parser", "sphinx-autodoc-typehints", "sphinx-click", "sphinx-rtd-theme"] -refresh = ["bioregistry", "rdflib", "requests"] - [metadata] lock-version = "2.0" -python-versions = "^3.9" -content-hash = "c7d0c46e8686f81212b0477bbcfd9f359343f6b05527d42ba3d5cdf223d19592" +python-versions = "^3.8" +content-hash = "8412cb4a8c0642692ca736a4a58eda975f389efb25f9ee7b1e572e262737c08d" diff --git a/pyproject.toml b/pyproject.toml index a10d17e..931b1b4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,7 +14,6 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.7", ] [tool.poetry.urls] @@ -24,46 +23,33 @@ homepage = "https://github.com/linkml/prefixmaps" [tool.poetry.dependencies] -python = "^3.9" +python = "^3.8" pyyaml = ">=5.3.1" -sphinx-rtd-theme = {version = "^1.0.0", extras = ["docs"]} -Sphinx = {version = "^7.2.6", extras = ["docs"]} -sphinx-autodoc-typehints = {version = "^1.23.4", extras = ["docs"]} -sphinx-click = {version = "^4.3.0", extras = ["docs"]} -myst-parser = {version = "^2.0.0", extras = ["docs"]} -click = ">=8.1.3" -requests = {version = "^2.28.1", extras = ["refresh"]} -bioregistry = {version = "^0.10.65", extras = ["refresh"]} -rdflib = {version = "^6.2.0", extras = ["refresh"]} curies = ">=0.5.3" + +[tool.poetry.group.test.dependencies] +pytest = ">=6.2" +coverage = ">=6.4.4" tox = "^4.11.3" -pydantic = "^2.5" + +[tool.poetry.group.docs.dependencies] +myst-parser = "*" +sphinx = ">=7.0.0" +sphinx-autodoc-typehints = "*" +sphinx-click = "*" +sphinx-rtd-theme = "*" + +[tool.poetry.group.refresh.dependencies] +click = ">=8.1.3" +requests = "^2.28.1" +bioregistry = "^0.10.65" +rdflib = "^6.2.0" [tool.poetry-dynamic-versioning] enable = true vcs = "git" style = "pep440" - -[tool.poetry.dev-dependencies] -pytest = ">=6.2" -coverage = ">=6.4.4" -typing-extensions = ">=4.4.0" - -[tool.poetry.extras] -docs = [ - "sphinx", - "sphinx-rtd-theme", - "sphinx-autodoc-typehints", - "sphinx-click", - "myst-parser" -] -refresh = [ - "requests", - "bioregistry", - "rdflib" -] - [tool.black] line-length = 100 target-version = ["py39", "py310"] diff --git a/src/prefixmaps/ingest/etl_runner.py b/src/prefixmaps/ingest/etl_runner.py index 778d02a..b8311d9 100644 --- a/src/prefixmaps/ingest/etl_runner.py +++ b/src/prefixmaps/ingest/etl_runner.py @@ -1,4 +1,5 @@ """ETL logic for retrieving and normalizing upstream contexts.""" + from pathlib import Path from typing import Callable, Dict, Mapping, Union diff --git a/src/prefixmaps/ingest/ingest_bioportal.py b/src/prefixmaps/ingest/ingest_bioportal.py index dd6f95d..8abbd11 100644 --- a/src/prefixmaps/ingest/ingest_bioportal.py +++ b/src/prefixmaps/ingest/ingest_bioportal.py @@ -1,4 +1,5 @@ """Simple ETL from bioportal to prefixmaps.""" + from typing import Any, Dict, TextIO, Union from prefixmaps.data import data_path diff --git a/src/prefixmaps/ingest/ingest_go.py b/src/prefixmaps/ingest/ingest_go.py index bd9134f..a70fecb 100755 --- a/src/prefixmaps/ingest/ingest_go.py +++ b/src/prefixmaps/ingest/ingest_go.py @@ -1,4 +1,5 @@ """Ingests the GO prefix registry.""" + from typing import TextIO, Union import requests diff --git a/src/prefixmaps/ingest/ingest_jsonld.py b/src/prefixmaps/ingest/ingest_jsonld.py index 2bf4c5c..bb424b6 100644 --- a/src/prefixmaps/ingest/ingest_jsonld.py +++ b/src/prefixmaps/ingest/ingest_jsonld.py @@ -1,4 +1,5 @@ """Generic JSON-LD ingests.""" + import json from typing import Any, Dict, List, Optional, TextIO, Union diff --git a/src/prefixmaps/ingest/ingest_shacl.py b/src/prefixmaps/ingest/ingest_shacl.py index cfe4452..c564d8a 100644 --- a/src/prefixmaps/ingest/ingest_shacl.py +++ b/src/prefixmaps/ingest/ingest_shacl.py @@ -1,4 +1,5 @@ """Ingests from triples using the SHACL PrefixDeclarations data model.""" + from typing import Any, TextIO, Union import rdflib diff --git a/tests/test_core/test_prefixmaps.py b/tests/test_core/test_prefixmaps.py index 0b931c9..909f97d 100644 --- a/tests/test_core/test_prefixmaps.py +++ b/tests/test_core/test_prefixmaps.py @@ -1,6 +1,7 @@ """Tests core expansion logic and data. This serves as "checksums" on the underlying ingested data. """ + import unittest import prefixmaps diff --git a/tox.ini b/tox.ini index d5e1dd7..8470180 100644 --- a/tox.ini +++ b/tox.ini @@ -45,11 +45,12 @@ description = Run the flake8 tool with several plugins (bandit, docstrings, impo [testenv:refresh] description = Refresh the data in the prefixmaps package +skip_install = true +allowlist_externals = poetry +commands_pre = + poetry install --only main,refresh commands = python -m prefixmaps.ingest.etl_runner -usedevelop = true -extras = - refresh ######################### # Flake8 Configuration #