From b8dd79392faf01ceff4f1365ab5c4d152d5fe183 Mon Sep 17 00:00:00 2001 From: Kevin Schaper Date: Thu, 10 Aug 2023 09:35:56 -0700 Subject: [PATCH] Update to oak semsimian release candidate, sort out only doing init once on api startup --- backend/poetry.lock | 201 +++++++----------- backend/pyproject.toml | 6 +- backend/src/monarch_py/api/config.py | 3 +- backend/src/monarch_py/api/semsim.py | 4 +- .../implementations/oak/oak_implementation.py | 3 +- 5 files changed, 88 insertions(+), 129 deletions(-) diff --git a/backend/poetry.lock b/backend/poetry.lock index cf9599c30..188bf8874 100644 --- a/backend/poetry.lock +++ b/backend/poetry.lock @@ -118,36 +118,6 @@ soupsieve = ">1.2" html5lib = ["html5lib"] lxml = ["lxml"] -[[package]] -name = "bioregistry" -version = "0.9.93" -description = "Integrated registry of biological databases and nomenclatures" -optional = false -python-versions = ">=3.8" -files = [ - {file = "bioregistry-0.9.93-py3-none-any.whl", hash = "sha256:0aa8824990dc22866b7f4da8d7cc1ba2209f33e2bd4f14dc36a5bd9fa542a03e"}, - {file = "bioregistry-0.9.93.tar.gz", hash = "sha256:0b9fce1e9bc11802797769a3fc5d381c22ad8ce40fc61426918dd72e6cdaaab4"}, -] - -[package.dependencies] -click = "*" -curies = ">=0.5.6" -more-click = ">=0.1.2" -pydantic = "<2.0" -pystow = ">=0.1.13" -requests = "*" -tqdm = "*" - -[package.extras] -align = ["beautifulsoup4", "class-resolver", "defusedxml", "fairsharing-client (>=0.1.0)", "pyyaml", "tabulate"] -charts = ["jinja2", "matplotlib", "matplotlib-venn", "pandas", "seaborn"] -docs = ["autodoc-pydantic", "sphinx", "sphinx-autodoc-typehints (==1.21.1)", "sphinx-automodapi", "sphinx-click", "sphinx-rtd-theme"] -export = ["ndex2", "pyyaml", "rdflib", "rdflib-jsonld"] -gha = ["more-itertools"] -health = ["click-default-group", "jinja2", "pandas", "pyyaml", "tabulate"] -tests = ["coverage", "httpx", "more-itertools", "pytest"] -web = ["bootstrap-flask (<=2.0.0)", "curies[fastapi]", "fastapi", "flask (<2.2.4)", "markdown", "pyyaml", "rdflib", "rdflib-endpoint", "rdflib-jsonld", "uvicorn", "werkzeug (<2.3.0)"] - [[package]] name = "black" version = "22.12.0" @@ -380,23 +350,22 @@ files = [ [[package]] name = "curies" -version = "0.5.7" +version = "0.6.0" description = "Idiomatic conversion between URIs and compact URIs (CURIEs)." optional = false python-versions = ">=3.8" files = [ - {file = "curies-0.5.7-py3-none-any.whl", hash = "sha256:74fc743e2c41c3bcd2ecb1178cce72236018f245e970c88faf452b89694b475a"}, - {file = "curies-0.5.7.tar.gz", hash = "sha256:eb984c51dcd04187fec88074a43070ae6f96467887fd502fa5547377722c9a4a"}, + {file = "curies-0.6.0-py3-none-any.whl", hash = "sha256:0bf79e2176b2e44dee7fefadcd1f2d69e643fea124dc4a8d0dbf47ca5e1589f2"}, + {file = "curies-0.6.0.tar.gz", hash = "sha256:a31533ae9caeec332f9bb33e21366ab7ec32437c5f347fc9d85aa77cc48093cc"}, ] [package.dependencies] -pydantic = "<2.0" +pydantic = "*" pytrie = "*" requests = "*" [package.extras] -bioregistry = ["bioregistry (>=0.5.136)"] -docs = ["sphinx (<7.0)", "sphinx-autodoc-typehints", "sphinx-automodapi", "sphinx-rtd-theme"] +docs = ["sphinx", "sphinx-automodapi", "sphinx-rtd-theme"] fastapi = ["defusedxml", "fastapi", "httpx", "python-multipart", "uvicorn"] flask = ["defusedxml", "flask"] pandas = ["pandas"] @@ -601,20 +570,20 @@ files = [ [[package]] name = "funowl" -version = "0.1.13" +version = "0.2.3" description = "Python rendering of the OWL Functional syntax" optional = false python-versions = ">=3.7" files = [ - {file = "funowl-0.1.13-py3-none-any.whl", hash = "sha256:81dc273b11cb1b0c9fbf15496a6b85f335ef1694c321fd704267bcd694e3cb26"}, - {file = "funowl-0.1.13.tar.gz", hash = "sha256:49f26a0e9b072ba331914564478a90e99e1d8fa10c4570d600bb3bae9250ea06"}, + {file = "funowl-0.2.3-py3-none-any.whl", hash = "sha256:4c4328d03c7815cd61d6691f0fafc78dc9a78ec3dcab4c83afb64d125ad3660e"}, + {file = "funowl-0.2.3.tar.gz", hash = "sha256:eecc2f58d792c714f6671a826cb2744e80cd3019fa56b3c8539ce69c8d874126"}, ] [package.dependencies] bcp47 = "*" jsonasobj = "*" pyjsg = ">=0.11.6" -rdflib = "6.2.0" +rdflib = ">=6.2.0,<8" rdflib-shim = "*" rfc3987 = "*" @@ -1180,19 +1149,20 @@ linkml-runtime = ">=1.1.24" [[package]] name = "kgcl-schema" -version = "0.5.0" +version = "0.6.0" description = "Schema for the KGCL project." optional = false python-versions = ">=3.8,<4.0" files = [ - {file = "kgcl_schema-0.5.0-py3-none-any.whl", hash = "sha256:e3fde6f2e26fbc89dd28029262785c41126cb6dd609c2f8f259d99ee0819b130"}, - {file = "kgcl_schema-0.5.0.tar.gz", hash = "sha256:97296737684065be88a5e522f20aebfe66e97ca391afa06e6112d3285d68fb45"}, + {file = "kgcl_schema-0.6.0-py3-none-any.whl", hash = "sha256:c212d459cf98f977c537f025331713c5ecfc9e9065e5cc189b3494beb836036f"}, + {file = "kgcl_schema-0.6.0.tar.gz", hash = "sha256:382c6cf7d4f6136374f1cc53fbd301af64e872c0ef1f775efb2ae4a789e120fb"}, ] [package.dependencies] -bioregistry = ">=0.6.0" +curies = ">=0.6.0,<0.7.0" lark = ">=1.1.2" linkml-runtime = ">=1.1.24" +prefixmaps = ">=0.1.5,<0.2.0" [[package]] name = "lark" @@ -1268,22 +1238,20 @@ linkml-runtime = ">=1.1.6" [[package]] name = "linkml-renderer" -version = "0.2.0" +version = "0.3.0" description = "linkml-renderer" optional = false python-versions = ">=3.8,<4.0" files = [ - {file = "linkml_renderer-0.2.0-py3-none-any.whl", hash = "sha256:c9a5b45c0c8de05b54e65330bb933ee53a50f6d08e59dd7354291bcd1a0a1325"}, - {file = "linkml_renderer-0.2.0.tar.gz", hash = "sha256:729d95569e4f8ac69b10ab089279bd9abb335144d39dd1271667229a2de6e24c"}, + {file = "linkml_renderer-0.3.0-py3-none-any.whl", hash = "sha256:9b2c0207751c8b5abb814b67fa1ae0f2a4dce80637d56ed770f74a40d4fee614"}, + {file = "linkml_renderer-0.3.0.tar.gz", hash = "sha256:59441022182d1386ef761ad4d055a23cef5707e0070400e2f6860893751c05f8"}, ] [package.dependencies] airium = ">=0.2.5,<0.3.0" click = ">=8.1.3,<9.0.0" linkml-runtime = ">=1.4.1" - -[package.extras] -docs = ["myst-parser[docs] (>=0.18.1,<0.19.0)", "sphinx-autodoc-typehints[docs] (>=1.19.4,<2.0.0)", "sphinx-click[docs] (>=4.3.0,<5.0.0)", "sphinx-rtd-theme[docs] (>=1.0.0,<2.0.0)", "sphinx[docs] (>=5.3.0,<6.0.0)"] +pydantic = "*" [[package]] name = "linkml-runtime" @@ -1804,28 +1772,27 @@ files = [ [[package]] name = "oaklib" -version = "0.5.13rc4" +version = "0.5.16rc1" description = "Ontology Access Kit: Python library for common ontology operations over a variety of backends" optional = false python-versions = ">=3.9,<4.0.0" files = [ - {file = "oaklib-0.5.13rc4-py3-none-any.whl", hash = "sha256:0f7031c89e373e340b83e170e58af7239f29cace357cceab42c0479a3ca5b196"}, - {file = "oaklib-0.5.13rc4.tar.gz", hash = "sha256:f678b5b0fb10f527cdff960d7904479259582a4d5fb89b3f6555cfb5d5aeb9ac"}, + {file = "oaklib-0.5.16rc1-py3-none-any.whl", hash = "sha256:8c5662d6039523e7205eff1f6a5281e6504bf23c248e5c499863d3e1b70941b7"}, + {file = "oaklib-0.5.16rc1.tar.gz", hash = "sha256:07cdae51e73e6be029a079ba4561484aa1ae3047d3955094387848f0d240a80a"}, ] [package.dependencies] airium = ">=0.2.5" appdirs = ">=1.4.4" -bioregistry = ">=0.6.35" class-resolver = ">=0.4.2" click = "*" curies = ">=0.5.5" eutils = ">=0.6.0" -funowl = ">=0.1.12" +funowl = ">=0.2.0" kgcl-rdflib = "0.5.0" -kgcl-schema = "0.5.0" +kgcl-schema = "0.6.0" lark = ">=1.1.2" -linkml-renderer = ">=0.2.0" +linkml-renderer = ">=0.3.0" linkml-runtime = ">=1.5.3" ndex2 = ">=3.5.0,<4.0.0" networkx = ">=2.7.1" @@ -1833,15 +1800,16 @@ ols-client = ">=0.1.1" ontoportal-client = ">=0.0.3" prefixmaps = ">=0.1.2" pronto = ">=2.5.0" +pydantic = "*" pysolr = ">=3.9.0,<4.0.0" pystow = ">=0.5.0" ratelimit = ">=2.2.1" requests-cache = ">=1.0.1,<2.0.0" -semsimian = ">=0.1.16" +semsimian = "0.2.0-rc2" semsql = ">=0.3.1" SPARQLWrapper = "*" SQLAlchemy = ">=1.4.32" -sssom = ">=0.3.31" +sssom = ">=0.3.38" sssom-schema = ">=0.11.0" [package.extras] @@ -2997,46 +2965,46 @@ test = ["asv", "gmpy2", "mpmath", "pytest", "pytest-cov", "pytest-xdist", "sciki [[package]] name = "semsimian" -version = "0.1.18" +version = "0.2.0rc2" description = "" optional = false python-versions = ">=3.7" files = [ - {file = "semsimian-0.1.18-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:6186ff665f609c8a9f72e9a6abb95ee2f5712011b37401fc31d5196a914c011b"}, - {file = "semsimian-0.1.18-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:5c5c0054f441cf7c1e61b5f215177115fccd30bc84496e32bc646ced1deaa3b8"}, - {file = "semsimian-0.1.18-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b4b4c1f8c101f902640c43018c2711036c0d0a7d03dffa5111102ba0dc616d59"}, - {file = "semsimian-0.1.18-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:146b817c260eca46eac8d961ee79665941275c45c97f18c13b793b281d68a1b4"}, - {file = "semsimian-0.1.18-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7ee5cc40d97467d0aac14c190dea04f8298e6f46b7715fb3718a3ecfc27dbf79"}, - {file = "semsimian-0.1.18-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8a8db126bc5281e40a8c6c94469ad7fa59e681cfd4c024d66ff180ea70540c52"}, - {file = "semsimian-0.1.18-cp310-none-win_amd64.whl", hash = "sha256:69519f44e565ad0d433dc3b4a66a75ebb03ca77c3a77229284069746ef98439c"}, - {file = "semsimian-0.1.18-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:ba8931dacc1285bc808b1ec587aaa1689b3938eb7062d6175edf231e2a6de027"}, - {file = "semsimian-0.1.18-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:3179d307885bc94ee9151627829aa7c7616dcf75dd15b2097a49374e1316bb52"}, - {file = "semsimian-0.1.18-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c81015da97daf2498eb7a55dd83229140a8ed0be8e45c3cbbb412b9572e019fd"}, - {file = "semsimian-0.1.18-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b451b4aec6ca6c1f03fa2ba94e45e8ed9b4accd2026fa1fc63b76d41b009e5a4"}, - {file = "semsimian-0.1.18-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5ff75b162697be71316ede9351a0149d5cb55a9b9635c24e672f66e6dd9fd0d5"}, - {file = "semsimian-0.1.18-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4d8db46b200763150f55db121cd2f95b44adfb6ccbeef5eadec83807cccea68a"}, - {file = "semsimian-0.1.18-cp311-none-win_amd64.whl", hash = "sha256:0372855dcc29f068b31f35ad876d4f25e407facaa0d15203663fd11313af1bfb"}, - {file = "semsimian-0.1.18-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:35f7caeb4a65a86c1cfe51266c72a29163bfa20c59c7b7fba13e2407538e725c"}, - {file = "semsimian-0.1.18-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:e80e1ed13bbd845c4dfa61c6f2efa60a35f4406455575ca292003a0678ad2d3e"}, - {file = "semsimian-0.1.18-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b53152f29cfe4d038b7060110a46bf3a6facd7886f477ee03b3172a65781000b"}, - {file = "semsimian-0.1.18-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:19d338b174d2f86d4456ee96dfd9f1be7d4cbd4b69f4c032d5338c3642486aa8"}, - {file = "semsimian-0.1.18-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:272dfafe8f8ae165c4036e2fb799ab12657683b64856ebe344ee20056aacf691"}, - {file = "semsimian-0.1.18-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:535031a8f3ac482b40ea97b6162d00a6a98f30c0cdffabd32b6b1c95563f8822"}, - {file = "semsimian-0.1.18-cp37-none-win_amd64.whl", hash = "sha256:3dbce8d4d5b80b5ff4f20e6aa4715ddaba52489868d942e2eb83198de55d2268"}, - {file = "semsimian-0.1.18-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:080986bcecf384f2dea7b590830c0b4fcc2422a307d8f2c1335e952efd8f255b"}, - {file = "semsimian-0.1.18-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:b70951e297c79aace08b91bd924e9b5a5744677acaf285057d8355bfe3dcb03a"}, - {file = "semsimian-0.1.18-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f02ba7a11b26572563fee12d919ab76fee39f372c8507f919b396f52a825bf79"}, - {file = "semsimian-0.1.18-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:216823e64ae825bd569671a4afb6d9f44b50837cdb44e5ad7535eb5eb420e84f"}, - {file = "semsimian-0.1.18-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:633c032db096b7afbb049c9ae8f91a1a7a4cfc077607d47f855d908569c19045"}, - {file = "semsimian-0.1.18-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:5d1a13042384f376b122d05a43db97f5fcc9e0a435fb96fee448ceff4229c740"}, - {file = "semsimian-0.1.18-cp38-none-win_amd64.whl", hash = "sha256:a63e1bcdc043d78e59f8a77f62c8f10e079406e9ff641bc357ab7db149548885"}, - {file = "semsimian-0.1.18-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:a32c83e6041eb015f87cfd6b594346a34df464bd123d692fb1f1d0c0b21006ce"}, - {file = "semsimian-0.1.18-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:59cb09905fda7c184bb45db332310034b1d08dc453676c3a4ae303a3d9100176"}, - {file = "semsimian-0.1.18-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ff5c5090c3c7418d189e85fc5bbcf550734c782f7406a374c13727ffd7a09c8"}, - {file = "semsimian-0.1.18-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba396ef4db8334fb048d79f6e7ead4568dc060454dc731f6a2449752f8ca457c"}, - {file = "semsimian-0.1.18-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:c09002c4ac0de980a354a96ec8def2ffa2ac080cbaddee299b58eab66ff3ad51"}, - {file = "semsimian-0.1.18-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:0f6657cedea047f55a1e68f353e21c30a1e0e81e6675f424ec5b02f0d74c0884"}, - {file = "semsimian-0.1.18-cp39-none-win_amd64.whl", hash = "sha256:2c37c8b5165c00953395a9f6195931dd6767f37fc755a352bd5107856138e8be"}, + {file = "semsimian-0.2.0rc2-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:b4feb5197e8ce777af8b331bf997f7249954db25b99808d64219fb55f8c8ba16"}, + {file = "semsimian-0.2.0rc2-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:9b67ebd3eba8b4e37296d4f8f6c1d77ab2c7009c4a6f0a151f6b5db07bd5a854"}, + {file = "semsimian-0.2.0rc2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:37110562febf72990331097375c6bbf4809227642a8d636821bf991278843c93"}, + {file = "semsimian-0.2.0rc2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f956d4d5e883ccb4e67939552ac30ac163be1e5d5a9fac91c02dd459066f846e"}, + {file = "semsimian-0.2.0rc2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7cd5d5cc6902f5dea923fb50314d6df184e794a6af04913f946de23b0ec30976"}, + {file = "semsimian-0.2.0rc2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:05aabb762095ae3233904e2eec1f26c7c4731d4e797b605930477ee5a802c695"}, + {file = "semsimian-0.2.0rc2-cp310-none-win_amd64.whl", hash = "sha256:19f63b27f26d69b61bcb14fbf99f361f0cf7a3db75fc6a381843fb1250cd333b"}, + {file = "semsimian-0.2.0rc2-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:8dd6d14213145ab1c9e788a4f3703392a06607075fe115435c7d0c286eeaf570"}, + {file = "semsimian-0.2.0rc2-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:9477aba4304b788062f678ae01f2d60a4fd46106109cf6eb7bccc0fb6ed68f8d"}, + {file = "semsimian-0.2.0rc2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44847d271257d74878fc5569fc95b9d0848822de31429d8eb1abdd7eeace7965"}, + {file = "semsimian-0.2.0rc2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:073741f71e1c8b7f22a8ac0b69833a48d751c69d64023621297e5df86c5d9a6c"}, + {file = "semsimian-0.2.0rc2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6d86defca5f64dc940252fe8b300f933169d0e35d57439591228fd8ce84c3278"}, + {file = "semsimian-0.2.0rc2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0d47d5fcd5c71221b0bc24efdddf04909e6059a69e2ff31bb7ece0bd7dcedcb3"}, + {file = "semsimian-0.2.0rc2-cp311-none-win_amd64.whl", hash = "sha256:7b180dc7f3b1a702853af0ac5a48a23947e2b57e762cad0272534d2118e01b41"}, + {file = "semsimian-0.2.0rc2-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:6ecbe8480f8438086b2ef37fc0d82a90a3c77f8ef1ea31532c04f69058bf7e0d"}, + {file = "semsimian-0.2.0rc2-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:433bfb82f77366bff551f32b379dabcf02f237b08cf094850467b00933335232"}, + {file = "semsimian-0.2.0rc2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79cbc09ac12f7873c3bcd457a2c06447d50a954eb241e733ae86b66863aefab0"}, + {file = "semsimian-0.2.0rc2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dab96e7a3a554b1e6e1c90b363cfa3cea05f64c8380c626c3262a153fd330389"}, + {file = "semsimian-0.2.0rc2-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:b39095dbfdbe8297af0d0a35e7f9caf959e51a9267856cb0354c9201591ecf69"}, + {file = "semsimian-0.2.0rc2-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:d50b9a6e1905f5176fe25f162b323bb8a61983a3e7c0e86ceee2076b47055c26"}, + {file = "semsimian-0.2.0rc2-cp37-none-win_amd64.whl", hash = "sha256:6ce6d44a5cfac47ba9b6ce43c5e9da11300e5ebd3134e1a9e0ec4a068fdfd73d"}, + {file = "semsimian-0.2.0rc2-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:8966bcd4ceeebc8166a553e1d13f6c908426926e5d157a6aa4b8d68a717f1096"}, + {file = "semsimian-0.2.0rc2-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:db8e770c3f8aff196542765a927d28c7f4c206bd7210f65f956f4ed0f2fe38a1"}, + {file = "semsimian-0.2.0rc2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88cb492addf2f5a1383fc577fdd9fd9bba78fe227361800e85028b7ade7cf5a5"}, + {file = "semsimian-0.2.0rc2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03ea28a3f3d0b0e39bbac836c1988677c48ac4387cf1c6f5167f4bb06dec894a"}, + {file = "semsimian-0.2.0rc2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:1ed4041cc2eb10a8a33d2e4b9130f56a2f6f08286c2c4f4ad4fa2734f913570f"}, + {file = "semsimian-0.2.0rc2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:409948531af39eb36dbf1614039ed8c74c81c5ebba7f191636038ed191eddbd3"}, + {file = "semsimian-0.2.0rc2-cp38-none-win_amd64.whl", hash = "sha256:9191586a5ee9f6f49bbf1bc832d40512a209eb9aa56e2e4f3a12ef508a77e074"}, + {file = "semsimian-0.2.0rc2-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:cd218d69561569e180daef5749f0775cfa181fdf645bff624f988fe6ee2f0fb3"}, + {file = "semsimian-0.2.0rc2-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:be9ec95f2c7689f70d87a78903b8a468167a02bb7aa1d357da09430cb0e4da35"}, + {file = "semsimian-0.2.0rc2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4c17840d5c5b109e43c1aa73ee3c985cb517870eb0baf5fcdf469bb08864b95"}, + {file = "semsimian-0.2.0rc2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97402129cbd2f0b4969825f4c227efffb0efd2cc7781a278e6c14a344b959f27"}, + {file = "semsimian-0.2.0rc2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:07bfc80512a6784a58fe70c537735fe12da0a2c172e5b8d4b0173379c3ba2ec9"}, + {file = "semsimian-0.2.0rc2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:e334bcc5c4b57095a525af4745bcb5cdd6bd9e7520a9af1990780f11a5506e37"}, + {file = "semsimian-0.2.0rc2-cp39-none-win_amd64.whl", hash = "sha256:8051c78f603700226ec0dbf298d7be871e82f8d97082edb51229f31b0652eb70"}, ] [[package]] @@ -3284,35 +3252,30 @@ url = ["furl (>=0.4.1)"] [[package]] name = "sssom" -version = "0.3.32" +version = "0.3.39" description = "Operations on SSSOM mapping tables" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8,<4.0" files = [ - {file = "sssom-0.3.32.tar.gz", hash = "sha256:a3b38008ab2f4bd5519cf2c2b47786898e749d3d7e6cb7c71427ee533c10396c"}, + {file = "sssom-0.3.39-py3-none-any.whl", hash = "sha256:9261545a6f3bf6a84fbfe0f8de0d15a3165a02a164ced7d9d375196b70b9f5fd"}, + {file = "sssom-0.3.39.tar.gz", hash = "sha256:6d97b8a0e9a531279931cfa70bba8ed815c2c378503ff2bc8d77929e8ab9a5be"}, ] [package.dependencies] -bioregistry = "*" -click = "*" -deprecation = "*" -linkml = "*" -networkx = "*" -numpy = "*" -pandas = "*" -pansql = "*" -pyparsing = "*" -pyyaml = "*" -rdflib = ">=6" -scipy = "*" -setuptools = "*" -sparqlwrapper = "*" -sssom-schema = "*" -validators = ">=0.0" - -[package.extras] -docs = ["recommonmark", "sphinx", "sphinx-autodoc-typehints", "sphinx-click", "sphinx-rtd-theme"] -test = ["pytest"] +click = ">=8.1.6" +curies = ">=0.5.7" +deprecation = ">=2.1.0,<3.0.0" +importlib-metadata = ">=6.8.0" +linkml-runtime = ">=1.5.5" +networkx = ">=3.1" +pandas = ">=2.0.3" +pansql = ">=0.0.1" +pyyaml = ">=6.0.1,<7.0.0" +rdflib = ">=6.0.0" +scipy = {version = "*", extras = ["scipy"]} +sparqlwrapper = ">=2.0.0" +sssom-schema = ">=0.14.0" +validators = ">=0.20.0" [[package]] name = "sssom-schema" @@ -3868,4 +3831,4 @@ api = ["fastapi", "oaklib"] [metadata] lock-version = "2.0" python-versions = "^3.9" -content-hash = "58048386e0eb6d93bb1fafebdc357c49b20780ed0c1bced6216d8ef6a29ee952" +content-hash = "c376dbefad1812ae081d7a6a0fb7f8849b9554878da16b67e3d9724f6d090a86" diff --git a/backend/pyproject.toml b/backend/pyproject.toml index c3fc02ef8..4103442f6 100644 --- a/backend/pyproject.toml +++ b/backend/pyproject.toml @@ -18,7 +18,7 @@ packages = [ ### Core dependencies python = "^3.9" pydantic = "^1.10.2" -curies = "^0.5.6" +curies = "<1" linkml = "^1.5.5" prefixmaps = "^0.1.5" requests = "^2.28.1" @@ -30,9 +30,7 @@ pystow = ">=0.5.0" loguru = "*" ### Optional API dependencies fastapi ={ version = "^0.87.0", optional = true } -oaklib = "0.5.13-rc4" -semsimian = "0.1.18" - +oaklib = "0.5.16-rc1" [tool.poetry.group.dev.dependencies] pytest = "^7.2.0" diff --git a/backend/src/monarch_py/api/config.py b/backend/src/monarch_py/api/config.py index dd15f36b7..76e316e1b 100644 --- a/backend/src/monarch_py/api/config.py +++ b/backend/src/monarch_py/api/config.py @@ -1,4 +1,5 @@ import os +from functools import lru_cache from pydantic import BaseSettings @@ -16,4 +17,4 @@ class Settings(BaseSettings): solr = SolrImplementation(base_url=settings.solr_url) -oak = OakImplementation() +oak = OakImplementation().init_semsim() diff --git a/backend/src/monarch_py/api/semsim.py b/backend/src/monarch_py/api/semsim.py index aef55d2b4..c58688773 100644 --- a/backend/src/monarch_py/api/semsim.py +++ b/backend/src/monarch_py/api/semsim.py @@ -1,11 +1,9 @@ from typing import List from fastapi import APIRouter -# from monarch_py.api.config import oak -from monarch_py.implementations.oak.oak_implementation import OakImplementation +from monarch_py.api.config import oak router = APIRouter(tags=["semsim"], responses={404: {"description": "Not Found"}}) -oak = OakImplementation() @router.get("/compare/{subjects}/{objects}") diff --git a/backend/src/monarch_py/implementations/oak/oak_implementation.py b/backend/src/monarch_py/implementations/oak/oak_implementation.py index 1373d4ac2..051d4d98d 100644 --- a/backend/src/monarch_py/implementations/oak/oak_implementation.py +++ b/backend/src/monarch_py/implementations/oak/oak_implementation.py @@ -13,8 +13,7 @@ class OakImplementation(SemanticSimilarityInterface): """Implementation of Monarch Interfaces for OAK""" - # semsim: SemanticSimilarityInterface = None # or is it a SqlImplementation? - semsim = get_adapter(f"semsimian:sqlite:obo:phenio") + semsim = None default_predicates = ["rdfs:subClassOf", "BFO:0000050", "UPHENO:0000001"] def init_semsim(self):