From b724c193fe8e417dd60c4fb0ac9efd8aa5553b2f Mon Sep 17 00:00:00 2001 From: Gabe Fierro Date: Mon, 12 Feb 2024 14:18:33 -0700 Subject: [PATCH 01/16] moving around --- .gitmodules | 2 +- brickschema/__init__.py | 6 + brickschema/persistent.py | 2 +- poetry.lock | 185 +++++++++---------------- pyproject.toml | 5 +- rdflib-sqlalchemy => rdflib_sqlalchemy | 0 6 files changed, 73 insertions(+), 127 deletions(-) rename rdflib-sqlalchemy => rdflib_sqlalchemy (100%) diff --git a/.gitmodules b/.gitmodules index c98d237..3f1c9ec 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "rdflib-sqlalchemy"] - path = rdflib-sqlalchemy + path = rdflib_sqlalchemy url = https://github.com/gtfierro/rdflib-sqlalchemy diff --git a/brickschema/__init__.py b/brickschema/__init__.py index e190f4f..5d56298 100644 --- a/brickschema/__init__.py +++ b/brickschema/__init__.py @@ -13,6 +13,12 @@ level=logging.WARNING, ) +try: + from . import rdflib_sqlalchemy +except ImportError: + logging.warning( + "sqlalchemy not installed. SQL-backed graph support will not be available." + ) __version__ = "0.2.0" __all__ = ["graph", "inference", "namespaces"] diff --git a/brickschema/persistent.py b/brickschema/persistent.py index ad690b0..fff71b4 100644 --- a/brickschema/persistent.py +++ b/brickschema/persistent.py @@ -8,7 +8,7 @@ from rdflib.graph import BatchAddGraph from rdflib import plugin from rdflib.store import Store -from rdflib_sqlalchemy import registerplugins +from brickschema.rdflib_sqlalchemy import registerplugins from sqlalchemy import text, Row import pickle from .graph import Graph, BrickBase diff --git a/poetry.lock b/poetry.lock index 75a2b5a..3b6642a 100644 --- a/poetry.lock +++ b/poetry.lock @@ -81,25 +81,6 @@ files = [ {file = "alabaster-0.7.16.tar.gz", hash = "sha256:75a8b99c28a5dad50dd7f8ccdd447a121ddb3892da9e53d1ca5cca3106d58d65"}, ] -[[package]] -name = "alembic" -version = "1.13.1" -description = "A database migration tool for SQLAlchemy." -optional = true -python-versions = ">=3.8" -files = [ - {file = "alembic-1.13.1-py3-none-any.whl", hash = "sha256:2edcc97bed0bd3272611ce3a98d98279e9c209e7186e43e75bbb1b2bdfdbcc43"}, - {file = "alembic-1.13.1.tar.gz", hash = "sha256:4932c8558bf68f2ee92b9bbcb8218671c627064d5b08939437af6d77dc05e595"}, -] - -[package.dependencies] -Mako = "*" -SQLAlchemy = ">=1.3.0" -typing-extensions = ">=4" - -[package.extras] -tz = ["backports.zoneinfo"] - [[package]] name = "babel" version = "2.14.0" @@ -949,13 +930,13 @@ lxml = ["lxml"] [[package]] name = "identify" -version = "2.5.33" +version = "2.5.34" description = "File identification library for Python" optional = false python-versions = ">=3.8" files = [ - {file = "identify-2.5.33-py2.py3-none-any.whl", hash = "sha256:d40ce5fcd762817627670da8a7d8d8e65f24342d14539c59488dc603bf662e34"}, - {file = "identify-2.5.33.tar.gz", hash = "sha256:161558f9fe4559e1557e1bff323e8631f6a0e4837f7497767c1782832f16b62d"}, + {file = "identify-2.5.34-py2.py3-none-any.whl", hash = "sha256:a4316013779e433d08b96e5eabb7f641e6c7942e4ab5d4c509ebd2e7a8994aed"}, + {file = "identify-2.5.34.tar.gz", hash = "sha256:ee17bc9d499899bc9eaec1ac7bf2dc9eedd480db9d88b96d123d3b64a9d34f5d"}, ] [package.extras] @@ -1080,25 +1061,6 @@ files = [ {file = "joblib-1.3.2.tar.gz", hash = "sha256:92f865e621e17784e7955080b6d042489e3b8e294949cc44c6eac304f59772b1"}, ] -[[package]] -name = "mako" -version = "1.3.2" -description = "A super-fast templating language that borrows the best ideas from the existing templating languages." -optional = true -python-versions = ">=3.8" -files = [ - {file = "Mako-1.3.2-py3-none-any.whl", hash = "sha256:32a99d70754dfce237019d17ffe4a282d2d3351b9c476e90d8a60e63f133b80c"}, - {file = "Mako-1.3.2.tar.gz", hash = "sha256:2a0c8ad7f6274271b3bb7467dd37cf9cc6dab4bc19cb69a4ef10669402de698e"}, -] - -[package.dependencies] -MarkupSafe = ">=0.9.2" - -[package.extras] -babel = ["Babel"] -lingua = ["lingua"] -testing = ["pytest"] - [[package]] name = "markupsafe" version = "2.1.5" @@ -1833,27 +1795,6 @@ html = ["html5lib (>=1.0,<2.0)"] lxml = ["lxml (>=4.3.0,<5.0.0)"] networkx = ["networkx (>=2.0.0,<3.0.0)"] -[[package]] -name = "rdflib-sqlalchemy" -version = "0.5.5.dev0" -description = "rdflib extension adding SQLAlchemy as an AbstractSQLStore back-end store" -optional = true -python-versions = "*" -files = [] -develop = false - -[package.dependencies] -alembic = ">=0.8.8" -rdflib = ">=6,<8" -six = ">=1.10.0" -SQLAlchemy = ">=2.0" - -[package.source] -type = "git" -url = "https://github.com/gtfierro/rdflib-sqlalchemy" -reference = "develop" -resolved_reference = "be3fdbb0ba962096c8f9db88dc01345281c7d7c4" - [[package]] name = "reasonable" version = "0.2.6" @@ -2003,18 +1944,18 @@ test = ["asv", "gmpy2", "hypothesis", "mpmath", "pooch", "pytest", "pytest-cov", [[package]] name = "setuptools" -version = "69.0.3" +version = "69.1.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "setuptools-69.0.3-py3-none-any.whl", hash = "sha256:385eb4edd9c9d5c17540511303e39a147ce2fc04bc55289c322b9e5904fe2c05"}, - {file = "setuptools-69.0.3.tar.gz", hash = "sha256:be1af57fc409f93647f2e8e4573a142ed38724b8cdd389706a867bb4efcf1e78"}, + {file = "setuptools-69.1.0-py3-none-any.whl", hash = "sha256:c054629b81b946d63a9c6e732bc8b2513a7c3ea645f11d0139a2191d735c60c6"}, + {file = "setuptools-69.1.0.tar.gz", hash = "sha256:850894c4195f09c4ed30dba56213bf7c3f21d86ed6bdaafb5df5972593bfc401"}, ] [package.extras] docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff (>=0.2.1)", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.1)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] [[package]] @@ -2217,60 +2158,60 @@ test = ["pytest"] [[package]] name = "sqlalchemy" -version = "2.0.25" +version = "2.0.26" description = "Database Abstraction Library" optional = true python-versions = ">=3.7" files = [ - {file = "SQLAlchemy-2.0.25-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4344d059265cc8b1b1be351bfb88749294b87a8b2bbe21dfbe066c4199541ebd"}, - {file = "SQLAlchemy-2.0.25-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6f9e2e59cbcc6ba1488404aad43de005d05ca56e069477b33ff74e91b6319735"}, - {file = "SQLAlchemy-2.0.25-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:84daa0a2055df9ca0f148a64fdde12ac635e30edbca80e87df9b3aaf419e144a"}, - {file = "SQLAlchemy-2.0.25-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc8b7dabe8e67c4832891a5d322cec6d44ef02f432b4588390017f5cec186a84"}, - {file = "SQLAlchemy-2.0.25-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:f5693145220517b5f42393e07a6898acdfe820e136c98663b971906120549da5"}, - {file = "SQLAlchemy-2.0.25-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:db854730a25db7c956423bb9fb4bdd1216c839a689bf9cc15fada0a7fb2f4570"}, - {file = "SQLAlchemy-2.0.25-cp310-cp310-win32.whl", hash = "sha256:14a6f68e8fc96e5e8f5647ef6cda6250c780612a573d99e4d881581432ef1669"}, - {file = "SQLAlchemy-2.0.25-cp310-cp310-win_amd64.whl", hash = "sha256:87f6e732bccd7dcf1741c00f1ecf33797383128bd1c90144ac8adc02cbb98643"}, - {file = "SQLAlchemy-2.0.25-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:342d365988ba88ada8af320d43df4e0b13a694dbd75951f537b2d5e4cb5cd002"}, - {file = "SQLAlchemy-2.0.25-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f37c0caf14b9e9b9e8f6dbc81bc56db06acb4363eba5a633167781a48ef036ed"}, - {file = "SQLAlchemy-2.0.25-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa9373708763ef46782d10e950b49d0235bfe58facebd76917d3f5cbf5971aed"}, - {file = "SQLAlchemy-2.0.25-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d24f571990c05f6b36a396218f251f3e0dda916e0c687ef6fdca5072743208f5"}, - {file = "SQLAlchemy-2.0.25-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:75432b5b14dc2fff43c50435e248b45c7cdadef73388e5610852b95280ffd0e9"}, - {file = "SQLAlchemy-2.0.25-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:884272dcd3ad97f47702965a0e902b540541890f468d24bd1d98bcfe41c3f018"}, - {file = "SQLAlchemy-2.0.25-cp311-cp311-win32.whl", hash = "sha256:e607cdd99cbf9bb80391f54446b86e16eea6ad309361942bf88318bcd452363c"}, - {file = "SQLAlchemy-2.0.25-cp311-cp311-win_amd64.whl", hash = "sha256:7d505815ac340568fd03f719446a589162d55c52f08abd77ba8964fbb7eb5b5f"}, - {file = "SQLAlchemy-2.0.25-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:0dacf67aee53b16f365c589ce72e766efaabd2b145f9de7c917777b575e3659d"}, - {file = "SQLAlchemy-2.0.25-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b801154027107461ee992ff4b5c09aa7cc6ec91ddfe50d02bca344918c3265c6"}, - {file = "SQLAlchemy-2.0.25-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59a21853f5daeb50412d459cfb13cb82c089ad4c04ec208cd14dddd99fc23b39"}, - {file = "SQLAlchemy-2.0.25-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:29049e2c299b5ace92cbed0c1610a7a236f3baf4c6b66eb9547c01179f638ec5"}, - {file = "SQLAlchemy-2.0.25-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b64b183d610b424a160b0d4d880995e935208fc043d0302dd29fee32d1ee3f95"}, - {file = "SQLAlchemy-2.0.25-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4f7a7d7fcc675d3d85fbf3b3828ecd5990b8d61bd6de3f1b260080b3beccf215"}, - {file = "SQLAlchemy-2.0.25-cp312-cp312-win32.whl", hash = "sha256:cf18ff7fc9941b8fc23437cc3e68ed4ebeff3599eec6ef5eebf305f3d2e9a7c2"}, - {file = "SQLAlchemy-2.0.25-cp312-cp312-win_amd64.whl", hash = "sha256:91f7d9d1c4dd1f4f6e092874c128c11165eafcf7c963128f79e28f8445de82d5"}, - {file = "SQLAlchemy-2.0.25-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:bb209a73b8307f8fe4fe46f6ad5979649be01607f11af1eb94aa9e8a3aaf77f0"}, - {file = "SQLAlchemy-2.0.25-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:798f717ae7c806d67145f6ae94dc7c342d3222d3b9a311a784f371a4333212c7"}, - {file = "SQLAlchemy-2.0.25-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5fdd402169aa00df3142149940b3bf9ce7dde075928c1886d9a1df63d4b8de62"}, - {file = "SQLAlchemy-2.0.25-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:0d3cab3076af2e4aa5693f89622bef7fa770c6fec967143e4da7508b3dceb9b9"}, - {file = "SQLAlchemy-2.0.25-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:74b080c897563f81062b74e44f5a72fa44c2b373741a9ade701d5f789a10ba23"}, - {file = "SQLAlchemy-2.0.25-cp37-cp37m-win32.whl", hash = "sha256:87d91043ea0dc65ee583026cb18e1b458d8ec5fc0a93637126b5fc0bc3ea68c4"}, - {file = "SQLAlchemy-2.0.25-cp37-cp37m-win_amd64.whl", hash = "sha256:75f99202324383d613ddd1f7455ac908dca9c2dd729ec8584c9541dd41822a2c"}, - {file = "SQLAlchemy-2.0.25-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:420362338681eec03f53467804541a854617faed7272fe71a1bfdb07336a381e"}, - {file = "SQLAlchemy-2.0.25-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7c88f0c7dcc5f99bdb34b4fd9b69b93c89f893f454f40219fe923a3a2fd11625"}, - {file = "SQLAlchemy-2.0.25-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a3be4987e3ee9d9a380b66393b77a4cd6d742480c951a1c56a23c335caca4ce3"}, - {file = "SQLAlchemy-2.0.25-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a159111a0f58fb034c93eeba211b4141137ec4b0a6e75789ab7a3ef3c7e7e3"}, - {file = "SQLAlchemy-2.0.25-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:8b8cb63d3ea63b29074dcd29da4dc6a97ad1349151f2d2949495418fd6e48db9"}, - {file = "SQLAlchemy-2.0.25-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:736ea78cd06de6c21ecba7416499e7236a22374561493b456a1f7ffbe3f6cdb4"}, - {file = "SQLAlchemy-2.0.25-cp38-cp38-win32.whl", hash = "sha256:10331f129982a19df4284ceac6fe87353ca3ca6b4ca77ff7d697209ae0a5915e"}, - {file = "SQLAlchemy-2.0.25-cp38-cp38-win_amd64.whl", hash = "sha256:c55731c116806836a5d678a70c84cb13f2cedba920212ba7dcad53260997666d"}, - {file = "SQLAlchemy-2.0.25-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:605b6b059f4b57b277f75ace81cc5bc6335efcbcc4ccb9066695e515dbdb3900"}, - {file = "SQLAlchemy-2.0.25-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:665f0a3954635b5b777a55111ababf44b4fc12b1f3ba0a435b602b6387ffd7cf"}, - {file = "SQLAlchemy-2.0.25-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ecf6d4cda1f9f6cb0b45803a01ea7f034e2f1aed9475e883410812d9f9e3cfcf"}, - {file = "SQLAlchemy-2.0.25-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c51db269513917394faec5e5c00d6f83829742ba62e2ac4fa5c98d58be91662f"}, - {file = "SQLAlchemy-2.0.25-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:790f533fa5c8901a62b6fef5811d48980adeb2f51f1290ade8b5e7ba990ba3de"}, - {file = "SQLAlchemy-2.0.25-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1b1180cda6df7af84fe72e4530f192231b1f29a7496951db4ff38dac1687202d"}, - {file = "SQLAlchemy-2.0.25-cp39-cp39-win32.whl", hash = "sha256:555651adbb503ac7f4cb35834c5e4ae0819aab2cd24857a123370764dc7d7e24"}, - {file = "SQLAlchemy-2.0.25-cp39-cp39-win_amd64.whl", hash = "sha256:dc55990143cbd853a5d038c05e79284baedf3e299661389654551bd02a6a68d7"}, - {file = "SQLAlchemy-2.0.25-py3-none-any.whl", hash = "sha256:a86b4240e67d4753dc3092d9511886795b3c2852abe599cffe108952f7af7ac3"}, - {file = "SQLAlchemy-2.0.25.tar.gz", hash = "sha256:a2c69a7664fb2d54b8682dd774c3b54f67f84fa123cf84dda2a5f40dcaa04e08"}, + {file = "SQLAlchemy-2.0.26-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:56524d767713054f8758217b3a811f6a736e0ae34e7afc33b594926589aa9609"}, + {file = "SQLAlchemy-2.0.26-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c2d8a2c68b279617f13088bdc0fc0e9b5126f8017f8882ff08ee41909fab0713"}, + {file = "SQLAlchemy-2.0.26-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:84d377645913d47f0dc802b415bcfe7fb085d86646a12278d77c12eb75b5e1b4"}, + {file = "SQLAlchemy-2.0.26-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4fc0628d2026926404dabc903dc5628f7d936a792aa3a1fc54a20182df8e2172"}, + {file = "SQLAlchemy-2.0.26-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:872f2907ade52601a1e729e85d16913c24dc1f6e7c57d11739f18dcfafde29db"}, + {file = "SQLAlchemy-2.0.26-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ba46fa770578b3cf3b5b77dadb7e94fda7692dd4d1989268ef3dcb65f31c40a3"}, + {file = "SQLAlchemy-2.0.26-cp310-cp310-win32.whl", hash = "sha256:651d10fdba7984bf100222d6e4acc496fec46493262b6170be1981ef860c6184"}, + {file = "SQLAlchemy-2.0.26-cp310-cp310-win_amd64.whl", hash = "sha256:8f95ede696ab0d7328862d69f29b643d35b668c4f3619cb2f0281adc16e64c1b"}, + {file = "SQLAlchemy-2.0.26-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:fab1bb909bd24accf2024a69edd4f885ded182c079c4dbcd515b4842f86b07cb"}, + {file = "SQLAlchemy-2.0.26-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b7ee16afd083bb6bb5ab3962ac7f0eafd1d196c6399388af35fef3d1c6d6d9bb"}, + {file = "SQLAlchemy-2.0.26-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:379af901ceb524cbee5e15c1713bf9fd71dc28053286b7917525d01b938b9628"}, + {file = "SQLAlchemy-2.0.26-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94a78f56ea13f4d6e9efcd2a2d08cc13531918e0516563f6303c4ad98c81e21d"}, + {file = "SQLAlchemy-2.0.26-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a481cc2eec83776ff7b6bb12c8e85d0378af0e2ec4584ac3309365a2a380c64b"}, + {file = "SQLAlchemy-2.0.26-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8cbeb0e49b605cd75f825fb9239a554803ef2bef1a7b2a8b428926ed518b6b63"}, + {file = "SQLAlchemy-2.0.26-cp311-cp311-win32.whl", hash = "sha256:e70cce65239089390c193a7b0d171ce89d2e3dedf797f8010031b2aa2b1e9c80"}, + {file = "SQLAlchemy-2.0.26-cp311-cp311-win_amd64.whl", hash = "sha256:750d1ef39d50520527c45c309c3cb10bbfa6131f93081b4e93858abb5ece2501"}, + {file = "SQLAlchemy-2.0.26-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b39503c3a56e1b2340a7d09e185ddb60b253ad0210877a9958ac64208eb23674"}, + {file = "SQLAlchemy-2.0.26-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1a870e6121a052f826f7ae1e4f0b54ca4c0ccd613278218ca036fa5e0f3be7df"}, + {file = "SQLAlchemy-2.0.26-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5901eed6d0e23ca4b04d66a561799d4f0fe55fcbfc7ca203bb8c3277f442085b"}, + {file = "SQLAlchemy-2.0.26-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d25fe55aab9b20ae4a9523bb269074202be9d92a145fcc0b752fff409754b5f6"}, + {file = "SQLAlchemy-2.0.26-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:5310958d08b4bafc311052be42a3b7d61a93a2bf126ddde07b85f712e7e4ac7b"}, + {file = "SQLAlchemy-2.0.26-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fd133afb7e6c59fad365ffa97fb06b1001f88e29e1de351bef3d2b1224e2f132"}, + {file = "SQLAlchemy-2.0.26-cp312-cp312-win32.whl", hash = "sha256:dc32ecf643c4904dd413e6a95a3f2c8a89ccd6f15083e586dcf8f42eb4e317ae"}, + {file = "SQLAlchemy-2.0.26-cp312-cp312-win_amd64.whl", hash = "sha256:6e25f029e8ad6d893538b5abe8537e7f09e21d8e96caee46a7e2199f3ddd77b0"}, + {file = "SQLAlchemy-2.0.26-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:99a9a8204b8937aa72421e31c493bfc12fd063a8310a0522e5a9b98e6323977c"}, + {file = "SQLAlchemy-2.0.26-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:691d68a4fca30c9a676623d094b600797699530e175b6524a9f57e3273f5fa8d"}, + {file = "SQLAlchemy-2.0.26-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:79a74a4ca4310c812f97bf0f13ce00ed73c890954b5a20b32484a9ab60e567e9"}, + {file = "SQLAlchemy-2.0.26-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:f2efbbeb18c0e1c53b670a46a009fbde7b58e05b397a808c7e598532b17c6f4b"}, + {file = "SQLAlchemy-2.0.26-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:3fc557f5402206c18ec3d288422f8e5fa764306d49f4efbc6090a7407bf54938"}, + {file = "SQLAlchemy-2.0.26-cp37-cp37m-win32.whl", hash = "sha256:a9846ffee3283cff4ec476e7ee289314290fcb2384aab5045c6f481c5c4d011f"}, + {file = "SQLAlchemy-2.0.26-cp37-cp37m-win_amd64.whl", hash = "sha256:ed4667d3d5d6e203a271d684d5b213ebcd618f7a8bc605752a8865eb9e67a79a"}, + {file = "SQLAlchemy-2.0.26-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:79e629df3f69f849a1482a2d063596b23e32036b83547397e68725e6e0d0a9ab"}, + {file = "SQLAlchemy-2.0.26-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4b4d848b095173e0a9e377127b814490499e55f5168f617ae2c07653c326b9d1"}, + {file = "SQLAlchemy-2.0.26-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f06afe8e96d7f221cc0b59334dc400151be22f432785e895e37030579d253c3"}, + {file = "SQLAlchemy-2.0.26-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f75ac12d302205e60f77f46bd162d40dc37438f1f8db160d2491a78b19a0bd61"}, + {file = "SQLAlchemy-2.0.26-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:ec3717c1efee8ad4b97f6211978351de3abe1e4b5f73e32f775c7becec021c5c"}, + {file = "SQLAlchemy-2.0.26-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06ed4d6bb2365222fb9b0a05478a2d23ad8c1dd874047a9ae1ca1d45f18a255e"}, + {file = "SQLAlchemy-2.0.26-cp38-cp38-win32.whl", hash = "sha256:caa79a6caeb4a3cc4ddb9aba9205c383f5d3bcb60d814e87e74570514754e073"}, + {file = "SQLAlchemy-2.0.26-cp38-cp38-win_amd64.whl", hash = "sha256:996b41c38e34a980e9f810d6e2709a3196e29ee34e46e3c16f96c63da10a9da1"}, + {file = "SQLAlchemy-2.0.26-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4f57af0866f6629eae2d24d022ba1a4c1bac9b16d45027bbfcda4c9d5b0d8f26"}, + {file = "SQLAlchemy-2.0.26-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e1a532bc33163fb19c4759a36504a23e63032bc8d47cee1c66b0b70a04a0957b"}, + {file = "SQLAlchemy-2.0.26-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:02a4f954ccb17bd8cff56662efc806c5301508233dc38d0253a5fdb2f33ca3ba"}, + {file = "SQLAlchemy-2.0.26-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a678f728fb075e74aaa7fdc27f8af8f03f82d02e7419362cc8c2a605c16a4114"}, + {file = "SQLAlchemy-2.0.26-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:8b39462c9588d4780f041e1b84d2ba038ac01c441c961bbee622dd8f53dec69f"}, + {file = "SQLAlchemy-2.0.26-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:98f4d0d2bda2921af5b0c2ca99207cdab00f2922da46a6336c62c8d6814303a7"}, + {file = "SQLAlchemy-2.0.26-cp39-cp39-win32.whl", hash = "sha256:6d68e6b507a3dd20c0add86ac0a0ca061d43c9a0162a122baa5fe952f14240f1"}, + {file = "SQLAlchemy-2.0.26-cp39-cp39-win_amd64.whl", hash = "sha256:fb97a9b93b953084692a52a7877957b7a88dfcedc0c5652124f5aebf5999f7fe"}, + {file = "SQLAlchemy-2.0.26-py3-none-any.whl", hash = "sha256:1128b2cdf49107659f6d1f452695f43a20694cc9305a86e97b70793a1c74eeb4"}, + {file = "SQLAlchemy-2.0.26.tar.gz", hash = "sha256:e1bcd8fcb30305e27355d553608c2c229d3e589fb7ff406da7d7e5d50fa14d0d"}, ] [package.dependencies] @@ -2340,13 +2281,13 @@ files = [ [[package]] name = "tqdm" -version = "4.66.1" +version = "4.66.2" description = "Fast, Extensible Progress Meter" optional = false python-versions = ">=3.7" files = [ - {file = "tqdm-4.66.1-py3-none-any.whl", hash = "sha256:d302b3c5b53d47bce91fea46679d9c3c6508cf6332229aa1e7d8653723793386"}, - {file = "tqdm-4.66.1.tar.gz", hash = "sha256:d88e651f9db8d8551a62556d3cff9e3034274ca5d66e93197cf2490e2dcb69c7"}, + {file = "tqdm-4.66.2-py3-none-any.whl", hash = "sha256:1ee4f8a893eb9bef51c6e35730cebf234d5d0b6bd112b0271e10ed7c24a02bd9"}, + {file = "tqdm-4.66.2.tar.gz", hash = "sha256:6cd52cdf0fef0e0f543299cfc96fec90d7b8a7e88745f411ec33eb44d5ed3531"}, ] [package.dependencies] @@ -2601,18 +2542,18 @@ test = ["coverage (>=5.0.3)", "zope.event", "zope.testing"] testing = ["coverage (>=5.0.3)", "zope.event", "zope.testing"] [extras] -all = ["BAC0", "Flask", "Jinja2", "PyYAML", "click-spinner", "colorama", "dedupe", "networkx", "rdflib_sqlalchemy", "reasonable", "sqlalchemy", "tabulate", "typer", "xlrd"] +all = ["BAC0", "Flask", "Jinja2", "PyYAML", "click-spinner", "colorama", "dedupe", "networkx", "reasonable", "sqlalchemy", "tabulate", "typer", "xlrd"] allegro = [] bacnet = ["BAC0"] brickify = ["Jinja2", "PyYAML", "click-spinner", "tabulate", "typer", "xlrd"] merge = ["colorama", "dedupe"] networkx = ["networkx"] orm = ["sqlalchemy"] -persistence = ["rdflib_sqlalchemy", "sqlalchemy"] +persistence = ["sqlalchemy"] reasonable = ["reasonable"] web = ["Flask"] [metadata] lock-version = "2.0" python-versions = "^3.9" -content-hash = "1c9b77d5e0155f2df3b55a61995ea1f8ec37bb0617a061ad7458f93405c57e6a" +content-hash = "61527ebafbe7a9386c730cb1cd35bbc9e6fa73407b759567dd529edf4d592687" diff --git a/pyproject.toml b/pyproject.toml index cc9e9cc..ce47447 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,7 +27,6 @@ colorama = {optional = true, version="^0.4.4"} dedupe = {optional = true, version = "^2.0"} reasonable = {optional = true, version="^0.2.2a4"} sqlalchemy = {optional = true, version = ">=2.0"} -rdflib_sqlalchemy = {optional = true, git = "https://github.com/gtfierro/rdflib-sqlalchemy", branch = "develop"} BAC0 = {optional = true, version = "^22.9"} networkx = {optional = true, version="^3.2"} @@ -55,10 +54,10 @@ web = ["Flask"] merge = ["dedupe", "colorama"] orm = ["sqlalchemy"] reasonable = ["reasonable"] -persistence = ["rdflib-sqlalchemy", "sqlalchemy"] +persistence = ["sqlalchemy"] bacnet = ["BAC0"] networkx = ["networkx"] -all = ["docker","click-spinner", "tabulate", "Jinja2", "xlrd", "PyYAML", "typer", "Flask", "dedupe", "colorama", "reasonable", "sqlalchemy", "rdflib-sqlalchemy", "BAC0", "networkx"] +all = ["docker","click-spinner", "tabulate", "Jinja2", "xlrd", "PyYAML", "typer", "Flask", "dedupe", "colorama", "reasonable", "sqlalchemy", "BAC0", "networkx"] [build-system] requires = ["setuptools", "poetry_core"] diff --git a/rdflib-sqlalchemy b/rdflib_sqlalchemy similarity index 100% rename from rdflib-sqlalchemy rename to rdflib_sqlalchemy From fb350b1b7bb37e4217becbcf2bc35a90465d9d6a Mon Sep 17 00:00:00 2001 From: Gabe Fierro Date: Mon, 12 Feb 2024 14:30:13 -0700 Subject: [PATCH 02/16] adding in rdflib as subpackage of brickschema --- brickschema/__init__.py | 7 +++++- brickschema/rdflib_sqlalchemy | 1 + poetry.lock | 44 ++++++++++++++++++++++++++++++++--- pyproject.toml | 6 +++-- 4 files changed, 52 insertions(+), 6 deletions(-) create mode 120000 brickschema/rdflib_sqlalchemy diff --git a/brickschema/__init__.py b/brickschema/__init__.py index 5d56298..9d4d82c 100644 --- a/brickschema/__init__.py +++ b/brickschema/__init__.py @@ -13,12 +13,17 @@ level=logging.WARNING, ) +has_sqlalchemy = False try: from . import rdflib_sqlalchemy -except ImportError: + has_sqlalchemy = True +except ImportError as e: + print(e) logging.warning( "sqlalchemy not installed. SQL-backed graph support will not be available." ) __version__ = "0.2.0" __all__ = ["graph", "inference", "namespaces"] +if has_sqlalchemy: + __all__.append("rdflib_sqlalchemy") diff --git a/brickschema/rdflib_sqlalchemy b/brickschema/rdflib_sqlalchemy new file mode 120000 index 0000000..4a95d1e --- /dev/null +++ b/brickschema/rdflib_sqlalchemy @@ -0,0 +1 @@ +../rdflib_sqlalchemy/rdflib_sqlalchemy \ No newline at end of file diff --git a/poetry.lock b/poetry.lock index 3b6642a..8904a84 100644 --- a/poetry.lock +++ b/poetry.lock @@ -81,6 +81,25 @@ files = [ {file = "alabaster-0.7.16.tar.gz", hash = "sha256:75a8b99c28a5dad50dd7f8ccdd447a121ddb3892da9e53d1ca5cca3106d58d65"}, ] +[[package]] +name = "alembic" +version = "1.13.1" +description = "A database migration tool for SQLAlchemy." +optional = true +python-versions = ">=3.8" +files = [ + {file = "alembic-1.13.1-py3-none-any.whl", hash = "sha256:2edcc97bed0bd3272611ce3a98d98279e9c209e7186e43e75bbb1b2bdfdbcc43"}, + {file = "alembic-1.13.1.tar.gz", hash = "sha256:4932c8558bf68f2ee92b9bbcb8218671c627064d5b08939437af6d77dc05e595"}, +] + +[package.dependencies] +Mako = "*" +SQLAlchemy = ">=1.3.0" +typing-extensions = ">=4" + +[package.extras] +tz = ["backports.zoneinfo"] + [[package]] name = "babel" version = "2.14.0" @@ -1061,6 +1080,25 @@ files = [ {file = "joblib-1.3.2.tar.gz", hash = "sha256:92f865e621e17784e7955080b6d042489e3b8e294949cc44c6eac304f59772b1"}, ] +[[package]] +name = "mako" +version = "1.3.2" +description = "A super-fast templating language that borrows the best ideas from the existing templating languages." +optional = true +python-versions = ">=3.8" +files = [ + {file = "Mako-1.3.2-py3-none-any.whl", hash = "sha256:32a99d70754dfce237019d17ffe4a282d2d3351b9c476e90d8a60e63f133b80c"}, + {file = "Mako-1.3.2.tar.gz", hash = "sha256:2a0c8ad7f6274271b3bb7467dd37cf9cc6dab4bc19cb69a4ef10669402de698e"}, +] + +[package.dependencies] +MarkupSafe = ">=0.9.2" + +[package.extras] +babel = ["Babel"] +lingua = ["lingua"] +testing = ["pytest"] + [[package]] name = "markupsafe" version = "2.1.5" @@ -2542,18 +2580,18 @@ test = ["coverage (>=5.0.3)", "zope.event", "zope.testing"] testing = ["coverage (>=5.0.3)", "zope.event", "zope.testing"] [extras] -all = ["BAC0", "Flask", "Jinja2", "PyYAML", "click-spinner", "colorama", "dedupe", "networkx", "reasonable", "sqlalchemy", "tabulate", "typer", "xlrd"] +all = ["BAC0", "Flask", "Jinja2", "PyYAML", "alembic", "click-spinner", "colorama", "dedupe", "networkx", "reasonable", "six", "sqlalchemy", "tabulate", "typer", "xlrd"] allegro = [] bacnet = ["BAC0"] brickify = ["Jinja2", "PyYAML", "click-spinner", "tabulate", "typer", "xlrd"] merge = ["colorama", "dedupe"] networkx = ["networkx"] orm = ["sqlalchemy"] -persistence = ["sqlalchemy"] +persistence = ["alembic", "six", "sqlalchemy"] reasonable = ["reasonable"] web = ["Flask"] [metadata] lock-version = "2.0" python-versions = "^3.9" -content-hash = "61527ebafbe7a9386c730cb1cd35bbc9e6fa73407b759567dd529edf4d592687" +content-hash = "30dceb8f81ed172bce4386134623bd831e50b2a5d5b42e6986260074aa7c7525" diff --git a/pyproject.toml b/pyproject.toml index ce47447..44d16f1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,6 +29,8 @@ reasonable = {optional = true, version="^0.2.2a4"} sqlalchemy = {optional = true, version = ">=2.0"} BAC0 = {optional = true, version = "^22.9"} networkx = {optional = true, version="^3.2"} +alembic = {optional = true, version=">=0.8.8"} +six = {optional = true, version=">=1.10.0"} [tool.poetry.group.dev.dependencies] flake8 = "^3.7" @@ -54,10 +56,10 @@ web = ["Flask"] merge = ["dedupe", "colorama"] orm = ["sqlalchemy"] reasonable = ["reasonable"] -persistence = ["sqlalchemy"] +persistence = ["sqlalchemy", "alembic", "six"] bacnet = ["BAC0"] networkx = ["networkx"] -all = ["docker","click-spinner", "tabulate", "Jinja2", "xlrd", "PyYAML", "typer", "Flask", "dedupe", "colorama", "reasonable", "sqlalchemy", "BAC0", "networkx"] +all = ["docker","click-spinner", "tabulate", "Jinja2", "xlrd", "PyYAML", "typer", "Flask", "dedupe", "colorama", "reasonable", "sqlalchemy", "BAC0", "networkx", "alembic", "six"] [build-system] requires = ["setuptools", "poetry_core"] From 461b721b7acb5bd5473d043bd817015bcd0b2034 Mon Sep 17 00:00:00 2001 From: Gabe Fierro Date: Mon, 12 Feb 2024 15:41:58 -0700 Subject: [PATCH 03/16] remove symlink --- brickschema/rdflib_sqlalchemy | 1 - 1 file changed, 1 deletion(-) delete mode 120000 brickschema/rdflib_sqlalchemy diff --git a/brickschema/rdflib_sqlalchemy b/brickschema/rdflib_sqlalchemy deleted file mode 120000 index 4a95d1e..0000000 --- a/brickschema/rdflib_sqlalchemy +++ /dev/null @@ -1 +0,0 @@ -../rdflib_sqlalchemy/rdflib_sqlalchemy \ No newline at end of file From 7d3966fc7253dbf5ad7b5582de694edfbd8a5f92 Mon Sep 17 00:00:00 2001 From: Gabe Fierro Date: Fri, 16 Feb 2024 16:13:49 -0700 Subject: [PATCH 04/16] no modules --- .gitmodules | 3 --- pyproject.toml | 5 +++-- rdflib_sqlalchemy | 1 - 3 files changed, 3 insertions(+), 6 deletions(-) delete mode 100644 .gitmodules delete mode 160000 rdflib_sqlalchemy diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 3f1c9ec..0000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "rdflib-sqlalchemy"] - path = rdflib_sqlalchemy - url = https://github.com/gtfierro/rdflib-sqlalchemy diff --git a/pyproject.toml b/pyproject.toml index 44d16f1..d1dc4db 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "brickschema" -version = "0.7.4a10" +version = "0.7.4a12" description = "A library for working with the Brick ontology for buildings (brickschema.org)" authors = ["Gabe Fierro "] include = ["brickschema/ontologies", "tests/data", "brickschema/web", "brickschema/topquadrant_shacl"] @@ -31,6 +31,7 @@ BAC0 = {optional = true, version = "^22.9"} networkx = {optional = true, version="^3.2"} alembic = {optional = true, version=">=0.8.8"} six = {optional = true, version=">=1.10.0"} +brickschema-rdflib-sqlalchemy = {optional = true, version="^0.6.0-a1"} [tool.poetry.group.dev.dependencies] flake8 = "^3.7" @@ -56,7 +57,7 @@ web = ["Flask"] merge = ["dedupe", "colorama"] orm = ["sqlalchemy"] reasonable = ["reasonable"] -persistence = ["sqlalchemy", "alembic", "six"] +persistence = ["sqlalchemy", "alembic", "six", "brickschema-rdflib-sqlalchemy"] bacnet = ["BAC0"] networkx = ["networkx"] all = ["docker","click-spinner", "tabulate", "Jinja2", "xlrd", "PyYAML", "typer", "Flask", "dedupe", "colorama", "reasonable", "sqlalchemy", "BAC0", "networkx", "alembic", "six"] diff --git a/rdflib_sqlalchemy b/rdflib_sqlalchemy deleted file mode 160000 index be3fdbb..0000000 --- a/rdflib_sqlalchemy +++ /dev/null @@ -1 +0,0 @@ -Subproject commit be3fdbb0ba962096c8f9db88dc01345281c7d7c4 From ffa95e3fd7ae74784b3b1b7417492ab383b184d9 Mon Sep 17 00:00:00 2001 From: Gabe Fierro Date: Fri, 16 Feb 2024 16:19:53 -0700 Subject: [PATCH 05/16] fixing deps --- poetry.lock | 463 ++++++++++++++++++++++++++++--------------------- pyproject.toml | 6 +- 2 files changed, 269 insertions(+), 200 deletions(-) diff --git a/poetry.lock b/poetry.lock index 8904a84..acf1082 100644 --- a/poetry.lock +++ b/poetry.lock @@ -151,6 +151,27 @@ files = [ {file = "blinker-1.7.0.tar.gz", hash = "sha256:e6820ff6fa4e4d1d8e2747c2283749c3f547e4fee112b98555cdcdae32996182"}, ] +[[package]] +name = "brickschema-rdflib-sqlalchemy" +version = "0.6.0a0" +description = "rdflib extension adding SQLAlchemy as an AbstractSQLStore back-end store" +optional = true +python-versions = ">=3.8" +files = [ + {file = "brickschema_rdflib_sqlalchemy-0.6.0a0-py3-none-any.whl", hash = "sha256:61085171a5b50100485037494b6401613f48c1217532f6fd576a27a2fd2b105d"}, + {file = "brickschema_rdflib_sqlalchemy-0.6.0a0.tar.gz", hash = "sha256:9a7188d18962ebd2ad4484b990a3cd7128e9abd7b7a42dfd4c1bc4d969611f86"}, +] + +[package.dependencies] +alembic = ">=0.8.8" +flake8 = ">=5.0.4" +pytest = ">=8.0.0" +rdflib = ">=6,<8" +setuptools = ">=69.0.3" +six = ">=1.10.0" +sqlalchemy = ">=2.0" +tox = ">=4.12.1" + [[package]] name = "btrees" version = "5.2" @@ -205,6 +226,17 @@ docs = ["Sphinx", "repoze.sphinx.autointerface", "sphinx_rtd_theme"] test = ["persistent (>=4.4.3)", "transaction", "zope.testrunner"] zodb = ["ZODB"] +[[package]] +name = "cachetools" +version = "5.3.2" +description = "Extensible memoizing collections and decorators" +optional = true +python-versions = ">=3.7" +files = [ + {file = "cachetools-5.3.2-py3-none-any.whl", hash = "sha256:861f35a13a451f94e301ce2bec7cac63e881232ccce7ed67fab9b5df4d3beaa1"}, + {file = "cachetools-5.3.2.tar.gz", hash = "sha256:086ee420196f7b2ab9ca2db2520aca326318b68fe5ba8bc4d49cca91add450f2"}, +] + [[package]] name = "categorical-distance" version = "1.9" @@ -306,6 +338,17 @@ files = [ {file = "cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560"}, ] +[[package]] +name = "chardet" +version = "5.2.0" +description = "Universal encoding detector for Python 3" +optional = true +python-versions = ">=3.7" +files = [ + {file = "chardet-5.2.0-py3-none-any.whl", hash = "sha256:e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970"}, + {file = "chardet-5.2.0.tar.gz", hash = "sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7"}, +] + [[package]] name = "charset-normalizer" version = "3.3.2" @@ -782,19 +825,19 @@ typing = ["typing-extensions (>=4.8)"] [[package]] name = "flake8" -version = "3.9.2" +version = "5.0.4" description = "the modular source code checker: pep8 pyflakes and co" optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" +python-versions = ">=3.6.1" files = [ - {file = "flake8-3.9.2-py2.py3-none-any.whl", hash = "sha256:bf8fd333346d844f616e8d47905ef3a3384edae6b4e9beb0c5101e25e3110907"}, - {file = "flake8-3.9.2.tar.gz", hash = "sha256:07528381786f2a6237b061f6e96610a4167b226cb926e2aa2b6b1d78057c576b"}, + {file = "flake8-5.0.4-py2.py3-none-any.whl", hash = "sha256:7a1cf6b73744f5806ab95e526f6f0d8c01c66d7bbe349562d22dfca20610b248"}, + {file = "flake8-5.0.4.tar.gz", hash = "sha256:6fbe320aad8d6b95cec8b8e47bc933004678dc63095be98528b7bdd2a9f510db"}, ] [package.dependencies] -mccabe = ">=0.6.0,<0.7.0" -pycodestyle = ">=2.7.0,<2.8.0" -pyflakes = ">=2.3.0,<2.4.0" +mccabe = ">=0.7.0,<0.8.0" +pycodestyle = ">=2.9.0,<2.10.0" +pyflakes = ">=2.5.0,<2.6.0" [[package]] name = "flask" @@ -1170,13 +1213,13 @@ files = [ [[package]] name = "mccabe" -version = "0.6.1" +version = "0.7.0" description = "McCabe checker, plugin for flake8" optional = false -python-versions = "*" +python-versions = ">=3.6" files = [ - {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, - {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"}, + {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, + {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, ] [[package]] @@ -1283,47 +1326,47 @@ files = [ [[package]] name = "persistent" -version = "5.1" +version = "5.2" description = "Translucent persistent objects" optional = true python-versions = ">=3.7" files = [ - {file = "persistent-5.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:da13082c9f5b1799f03a6642dafa60e4d492511e4e20a1e4e6ad24ce3b8df8cd"}, - {file = "persistent-5.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e3568c56bb95d162b99efb3861b65358668d11633a87ef8d539e5ad81a670be"}, - {file = "persistent-5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e0316b45e54ce1ee0090ca2e212c3a30d9d1590e699d04c6be2550764ec8595"}, - {file = "persistent-5.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:94f467c971dd20cc172194a5c2142cce5abf8959dec5f11d23c8f5dc237c2d70"}, - {file = "persistent-5.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:927dbfbed068f02b18e38a0067a1939a56814d869bb522f2d2eff4ba29553fdb"}, - {file = "persistent-5.1-cp310-cp310-win_amd64.whl", hash = "sha256:952a17a5a3b8bb99b29f6dbaa71c44e3aae207290a8acde8d6cbda13c968317e"}, - {file = "persistent-5.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a00981ddf55233c0d8790e6d4dc74fa3c872c45d5c10dc18efc764b79039f04f"}, - {file = "persistent-5.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:92d3fbacd132b8d82b8e74c5a3baa3d7b00530a03ecd43102862d3d859068873"}, - {file = "persistent-5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:97b180a8420523a7e34802157ce3c312f15a7792f911e6aee604718c1eeadbae"}, - {file = "persistent-5.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a6b41ef4e967a09ba8229affd4f655a0daed3c448874be457efb9e4cb2841102"}, - {file = "persistent-5.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:faf767827050b08d501f2fffdad3eb694ab51574cc4b0244d3cb579bd6f0fc32"}, - {file = "persistent-5.1-cp311-cp311-win_amd64.whl", hash = "sha256:6340a4991fd3fd60f247351df729c67c7e6f543c05ad42db12248f893b459cb6"}, - {file = "persistent-5.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:acf593208ad9ae0235a2d31ce06de4e61e12923f35fc7e38e6cb05a75024657c"}, - {file = "persistent-5.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:16d7e738760c8c1aba8b1d2ddca4b1f7f89d4b80ba2297bf3737054e041f5005"}, - {file = "persistent-5.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e549b6cbb3845bc960a438ddac193fafb9603e49772f2dca1a207aad658c4ca8"}, - {file = "persistent-5.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c9b9745c79c428bbe758f7f4859b201338608b65dfc93449ec1e7abee3a9e34b"}, - {file = "persistent-5.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ffe8b09b63a2f4d19d40f0b819cd968e09c6a1d6a37310cc4f15d0822665921"}, - {file = "persistent-5.1-cp312-cp312-win_amd64.whl", hash = "sha256:317663ac83769e1cb325e75f4e2c6d15310085719c25206c1fda742e8bcc8baa"}, - {file = "persistent-5.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:859be29621cc156d21d86e1dd5acdbaf2cbfa9e60e43f0236a5af88c9f7eb7ac"}, - {file = "persistent-5.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3d1d8c8dbe3c2deb5cbdcb84a68cddc8f327a6d7da4f813dd8540616d8ad0f9"}, - {file = "persistent-5.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7628d6ef1e6021ba962a24b5c3e500b6430b2e2a5fa1c413aeb5a8bf06370aeb"}, - {file = "persistent-5.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff1a1566d7b807563f98c4ee140f31d0f56f046e8294e49952d80549b6fb25be"}, - {file = "persistent-5.1-cp37-cp37m-win_amd64.whl", hash = "sha256:bee22fbf529acf81b755a253813bdf99b5f7fd234f7f2f49311d1e48c17734e2"}, - {file = "persistent-5.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b41ffec8ee2c26b9e7d4210863a3f6b85ac20a4a76734a6e626b2752f2a76366"}, - {file = "persistent-5.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ad6c648225cdbb673790b027de3d0aaa9fead962a8e0d83a35803b1f079b1261"}, - {file = "persistent-5.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a90114c892954a1cc9fc92f4fedb73fd544f18d884c9caf1e022934d68d653fb"}, - {file = "persistent-5.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5c50411547b0ec3864147e197cfdb341391686e612fa5a1e8177550410b565b7"}, - {file = "persistent-5.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0428b71bc553d13e6ddb893fda72019e7b9685537c9e021aad5c590349779294"}, - {file = "persistent-5.1-cp38-cp38-win_amd64.whl", hash = "sha256:05b57ce073d17ef1c5f603b57c5dd28433da1dd4bf2f955bfed1ddfbb1048538"}, - {file = "persistent-5.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9e397547361631e9299c3aa25a64cb8db1cf271792125a3aa9397587598554ff"}, - {file = "persistent-5.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b9915711b116bb5cf2f9cfc3ba7d6d8037d5b57119a1f056ea8b6a7f7f3f10ba"}, - {file = "persistent-5.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78aa57051e8a2076d331b1883c6a82e309d1a3be27815f478ea7be725fb1500a"}, - {file = "persistent-5.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3568a1018b48ce3897bb7827aa20c5cd4a2709bafd9752ac1882bc4282c5be4c"}, - {file = "persistent-5.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31a5b281c048ab601c5a0a0ac659d46e19742b01b164786b8d8290a0b1fd1b4a"}, - {file = "persistent-5.1-cp39-cp39-win_amd64.whl", hash = "sha256:5bd2851b59ebf92f6b495aecbfb5b7bd731b64ba7296d58bb3b71ccb0305585f"}, - {file = "persistent-5.1.tar.gz", hash = "sha256:97ccc2fa26cc9bdcc3be1fc65aa4f4f28afe5204c2d4fd24a67445908db7469b"}, + {file = "persistent-5.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3d0b464f5899bd8f88e8f6dd899f9b8c28bcd88bc4ae5147ba88e50d2a052d44"}, + {file = "persistent-5.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1e5902048cfb65606886e0f3b8a046ec8f5a332c59e5387368775b74c60d7a91"}, + {file = "persistent-5.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:02c7b97b41944c294f9458e6b7060320e7c682fc2608c6b9aeb70c3ceb2f020b"}, + {file = "persistent-5.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:626e7d38959035fe4c64c368892293f2b8979139871b009cd5dc38df816a6922"}, + {file = "persistent-5.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad87dedeb5a300cf2b7a654976a5ca0f8780a295ebd80dcf0129e46b86c7e572"}, + {file = "persistent-5.2-cp310-cp310-win_amd64.whl", hash = "sha256:fd4ef824845569e3957b68d0fe04a0adfc7ed88fff74c08d4462d27ec98075e7"}, + {file = "persistent-5.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:380a41350db0b118e4a12ac78cd4c47e0cf83fe51d9d2352aca3ef5946dee124"}, + {file = "persistent-5.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:08d2acc2873e9b6b4cc9475e908f812dfbc72a1303e713d084480f6d6e8c547c"}, + {file = "persistent-5.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:93bd451113233b00709b01f94613d1978227858db665d792571c4c8f5b02ff00"}, + {file = "persistent-5.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:be7a377a6499a2494c1f4a43b54bf6a79468cd3971c7e7898df9554ed040787b"}, + {file = "persistent-5.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf05883a28823f29e5472c85fdb484a961c7fdcf7b66ba2bd8077aa2b45ed422"}, + {file = "persistent-5.2-cp311-cp311-win_amd64.whl", hash = "sha256:dd057d56e48c60e3e9a6138a96399fc17a5b24c3f36f5ae65383fe855f0a67fe"}, + {file = "persistent-5.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b5bde746804e700c7a78c7bbd70af41d823cdb96a071aaf78f0b31aa73a1054d"}, + {file = "persistent-5.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:97a4bfca9546deda3411a4d26596538e9454c6e0823d7d92b2fd06d5fd4a7b47"}, + {file = "persistent-5.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d6947171484b99e1e220b0d6c680526d07c8325aa1c252bc5996e6c9e8054603"}, + {file = "persistent-5.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:16321bdf950cf46ae78a2956de5f8f6a4c133765fbd1f6aa51767d001a948eec"}, + {file = "persistent-5.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5c3944ef4531059b8ad3af913f6f3023211460411d4de558e6c6c9828f40261a"}, + {file = "persistent-5.2-cp312-cp312-win_amd64.whl", hash = "sha256:74f53308eedd78a9d46279d4bd3e9ff5fcb307482a7d69355f34fc6e0ea960db"}, + {file = "persistent-5.2-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:63845ab0bead64813e2270dbe7350baf9c4e85a74084c05088cc6117f5f9b07e"}, + {file = "persistent-5.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5981029895e26e48d36d6f035319de239633ed53ebb609cb8985c77146666c9f"}, + {file = "persistent-5.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:05a5fb6cd9cfadda48cab2e3b313358bc501ff63395b60b24d2eb9ae4d599b19"}, + {file = "persistent-5.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f9e316197afb8cd7626f0e5274889e6f95638fa6d1647468f58432995b613c9"}, + {file = "persistent-5.2-cp37-cp37m-win_amd64.whl", hash = "sha256:8a782072c8f887a41d1b77db58973e7f1cf81f197b24b403d567f2e73145ca63"}, + {file = "persistent-5.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d260476cecff73d5a650a18aadae12b59e9a95134c8bca52709b6df2b0f881e8"}, + {file = "persistent-5.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:75dced28d5c24de36e776a1797b877a53bd220b9e1ef73203c7ca897bac0006a"}, + {file = "persistent-5.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d8f89faeefa9a697914362122c0c239a938c92809bc1e282602c1bab2fde9e9"}, + {file = "persistent-5.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:00feefe3d02be951f8977640b32eade42c25e28ea21ac3d2df87ca5effd9b7fe"}, + {file = "persistent-5.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:505b808e5885a7e9995f57e108c9044140bd0c1bda11bfdebbb65bbaa0a31bbe"}, + {file = "persistent-5.2-cp38-cp38-win_amd64.whl", hash = "sha256:b55c28599e96333de4e383e481403a68256a116cc7f932dd6aef330590d2e326"}, + {file = "persistent-5.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e7866a65b109d2dfbb6390a3565be317dabd34e98f94a7fdab48e63c9b0e58c4"}, + {file = "persistent-5.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:876fb6418c8448fe4bd008b9c39f2fdd2b8667aad67d275ae0cc22724658b249"}, + {file = "persistent-5.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c2abfbed3788acdb52791b992a5b38bc093ae3d5ba4b4a2f03e83985755d20b"}, + {file = "persistent-5.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c61e6d919caf7e64f7c72b6ff6d646ff5e3ff0ff08896771e274e654c94c660a"}, + {file = "persistent-5.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:46431175e8bba478838807d129d52787dcc5a803ffebafb177db50dd0e57332f"}, + {file = "persistent-5.2-cp39-cp39-win_amd64.whl", hash = "sha256:8178a21d933054e830d755dc9e55886504d4ea694f050b82553708b32327a614"}, + {file = "persistent-5.2.tar.gz", hash = "sha256:dbea5d1ff9db4e451ca39bc0b42a9ea537e6cac9282ae8c0780fb8ffae3ec834"}, ] [package.dependencies] @@ -1440,13 +1483,13 @@ files = [ [[package]] name = "pycodestyle" -version = "2.7.0" +version = "2.9.1" description = "Python style guide checker" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +python-versions = ">=3.6" files = [ - {file = "pycodestyle-2.7.0-py2.py3-none-any.whl", hash = "sha256:514f76d918fcc0b55c6680472f0a37970994e07bbb80725808c17089be302068"}, - {file = "pycodestyle-2.7.0.tar.gz", hash = "sha256:c389c1d06bf7904078ca03399a4816f974a1d590090fecea0c63ec26ebaf1cef"}, + {file = "pycodestyle-2.9.1-py2.py3-none-any.whl", hash = "sha256:d1735fc58b418fd7c5f658d28d943854f8a849b01a5d0a1e6f3f3fdd0166804b"}, + {file = "pycodestyle-2.9.1.tar.gz", hash = "sha256:2c9607871d58c76354b697b42f5d57e1ada7d261c261efac224b664affdc5785"}, ] [[package]] @@ -1462,13 +1505,13 @@ files = [ [[package]] name = "pyflakes" -version = "2.3.1" +version = "2.5.0" description = "passive checker of Python programs" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +python-versions = ">=3.6" files = [ - {file = "pyflakes-2.3.1-py2.py3-none-any.whl", hash = "sha256:7893783d01b8a89811dd72d7dfd4d84ff098e5eed95cfa8905b22bbffe52efc3"}, - {file = "pyflakes-2.3.1.tar.gz", hash = "sha256:f5bc8ecabc05bb9d291eb5203d6810b49040f6ff446a756326104746cc00c1db"}, + {file = "pyflakes-2.5.0-py2.py3-none-any.whl", hash = "sha256:4579f67d887f804e67edb544428f264b7b24f435b263c4614f384135cea553d2"}, + {file = "pyflakes-2.5.0.tar.gz", hash = "sha256:491feb020dca48ccc562a8c0cbe8df07ee13078df59813b83959cbdada312ea3"}, ] [[package]] @@ -1651,6 +1694,25 @@ files = [ [package.extras] diagrams = ["jinja2", "railroad-diagrams"] +[[package]] +name = "pyproject-api" +version = "1.6.1" +description = "API to interact with the python pyproject.toml based projects" +optional = true +python-versions = ">=3.8" +files = [ + {file = "pyproject_api-1.6.1-py3-none-any.whl", hash = "sha256:4c0116d60476b0786c88692cf4e325a9814965e2469c5998b830bba16b183675"}, + {file = "pyproject_api-1.6.1.tar.gz", hash = "sha256:1817dc018adc0d1ff9ca1ed8c60e1623d5aaca40814b953af14a9cf9a5cae538"}, +] + +[package.dependencies] +packaging = ">=23.1" +tomli = {version = ">=2.0.1", markers = "python_version < \"3.11\""} + +[package.extras] +docs = ["furo (>=2023.8.19)", "sphinx (<7.2)", "sphinx-autodoc-typehints (>=1.24)"] +testing = ["covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)", "setuptools (>=68.1.2)", "wheel (>=0.41.2)"] + [[package]] name = "pyshacl" version = "0.25.0" @@ -1682,13 +1744,13 @@ js = ["pyduktape2 (>=0.4.6,<0.5.0)"] [[package]] name = "pytest" -version = "7.4.4" +version = "8.0.1" description = "pytest: simple powerful testing with Python" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pytest-7.4.4-py3-none-any.whl", hash = "sha256:b090cdf5ed60bf4c45261be03239c2c1c22df034fbffe691abe93cd80cea01d8"}, - {file = "pytest-7.4.4.tar.gz", hash = "sha256:2cf0005922c6ace4a3e2ec8b4080eb0d9753fdc93107415332f50ce9e7994280"}, + {file = "pytest-8.0.1-py3-none-any.whl", hash = "sha256:3e4f16fe1c0a9dc9d9389161c127c3edc5d810c38d6793042fb81d9f48a59fca"}, + {file = "pytest-8.0.1.tar.gz", hash = "sha256:267f6563751877d772019b13aacbe4e860d73fe8f651f28112e9ac37de7513ae"}, ] [package.dependencies] @@ -1696,7 +1758,7 @@ colorama = {version = "*", markers = "sys_platform == \"win32\""} exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} iniconfig = "*" packaging = "*" -pluggy = ">=0.12,<2.0" +pluggy = ">=1.3.0,<2.0" tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""} [package.extras] @@ -1878,57 +1940,37 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] [[package]] name = "scikit-learn" -version = "1.4.0" +version = "1.4.1.post1" description = "A set of python modules for machine learning and data mining" optional = true python-versions = ">=3.9" files = [ - {file = "scikit-learn-1.4.0.tar.gz", hash = "sha256:d4373c984eba20e393216edd51a3e3eede56cbe93d4247516d205643c3b93121"}, - {file = "scikit_learn-1.4.0-1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:fce93a7473e2f4ee4cc280210968288d6a7d7ad8dc6fa7bb7892145e407085f9"}, - {file = "scikit_learn-1.4.0-1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:d77df3d1e15fc37a9329999979fa7868ba8655dbab21fe97fc7ddabac9e08cc7"}, - {file = "scikit_learn-1.4.0-1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2404659fedec40eeafa310cd14d613e564d13dbf8f3c752d31c095195ec05de6"}, - {file = "scikit_learn-1.4.0-1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e98632da8f6410e6fb6bf66937712c949b4010600ccd3f22a5388a83e610cc3c"}, - {file = "scikit_learn-1.4.0-1-cp310-cp310-win_amd64.whl", hash = "sha256:11b3b140f70fbc9f6a08884631ae8dd60a4bb2d7d6d1de92738ea42b740d8992"}, - {file = "scikit_learn-1.4.0-1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a8341eabdc754d5ab91641a7763243845e96b6d68e03e472531e88a4f1b09f21"}, - {file = "scikit_learn-1.4.0-1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:d1f6bce875ac2bb6b52514f67c185c564ccd299a05b65b7bab091a4c13dde12d"}, - {file = "scikit_learn-1.4.0-1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c408b46b2fd61952d519ea1af2f8f0a7a703e1433923ab1704c4131520b2083b"}, - {file = "scikit_learn-1.4.0-1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b465dd1dcd237b7b1dcd1a9048ccbf70a98c659474324fa708464c3a2533fad"}, - {file = "scikit_learn-1.4.0-1-cp311-cp311-win_amd64.whl", hash = "sha256:0db8e22c42f7980fe5eb22069b1f84c48966f3e0d23a01afde5999e3987a2501"}, - {file = "scikit_learn-1.4.0-1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e7eef6ea2ed289af40e88c0be9f7704ca8b5de18508a06897c3fe21e0905efdf"}, - {file = "scikit_learn-1.4.0-1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:349669b01435bc4dbf25c6410b0892073befdaec52637d1a1d1ff53865dc8db3"}, - {file = "scikit_learn-1.4.0-1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d439c584e58434d0350701bd33f6c10b309e851fccaf41c121aed55f6851d8cf"}, - {file = "scikit_learn-1.4.0-1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0e2427d9ef46477625ab9b55c1882844fe6fc500f418c3f8e650200182457bc"}, - {file = "scikit_learn-1.4.0-1-cp312-cp312-win_amd64.whl", hash = "sha256:d3d75343940e7bf9b85c830c93d34039fa015eeb341c5c0b4cd7a90dadfe00d4"}, - {file = "scikit_learn-1.4.0-1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:76986d22e884ab062b1beecdd92379656e9d3789ecc1f9870923c178de55f9fe"}, - {file = "scikit_learn-1.4.0-1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:e22446ad89f1cb7657f0d849dcdc345b48e2d10afa3daf2925fdb740f85b714c"}, - {file = "scikit_learn-1.4.0-1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:74812c9eabb265be69d738a8ea8d4884917a59637fcbf88a5f0e9020498bc6b3"}, - {file = "scikit_learn-1.4.0-1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aad2a63e0dd386b92da3270887a29b308af4d7c750d8c4995dfd9a4798691bcc"}, - {file = "scikit_learn-1.4.0-1-cp39-cp39-win_amd64.whl", hash = "sha256:53b9e29177897c37e2ff9d4ba6ca12fdb156e22523e463db05def303f5c72b5c"}, - {file = "scikit_learn-1.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cb8f044a8f5962613ce1feb4351d66f8d784bd072d36393582f351859b065f7d"}, - {file = "scikit_learn-1.4.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:a6372c90bbf302387792108379f1ec77719c1618d88496d0df30cb8e370b4661"}, - {file = "scikit_learn-1.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:785ce3c352bf697adfda357c3922c94517a9376002971bc5ea50896144bc8916"}, - {file = "scikit_learn-1.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0aba2a20d89936d6e72d95d05e3bf1db55bca5c5920926ad7b92c34f5e7d3bbe"}, - {file = "scikit_learn-1.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:2bac5d56b992f8f06816f2cd321eb86071c6f6d44bb4b1cb3d626525820d754b"}, - {file = "scikit_learn-1.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:27ae4b0f1b2c77107c096a7e05b33458354107b47775428d1f11b23e30a73e8a"}, - {file = "scikit_learn-1.4.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:5c5c62ffb52c3ffb755eb21fa74cc2cbf2c521bd53f5c04eaa10011dbecf5f80"}, - {file = "scikit_learn-1.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f0d2018ac6fa055dab65fe8a485967990d33c672d55bc254c56c35287b02fab"}, - {file = "scikit_learn-1.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:91a8918c415c4b4bf1d60c38d32958849a9191c2428ab35d30b78354085c7c7a"}, - {file = "scikit_learn-1.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:80a21de63275f8bcd7877b3e781679d2ff1eddfed515a599f95b2502a3283d42"}, - {file = "scikit_learn-1.4.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:0f33bbafb310c26b81c4d41ecaebdbc1f63498a3f13461d50ed9a2e8f24d28e4"}, - {file = "scikit_learn-1.4.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:8b6ac1442ec714b4911e5aef8afd82c691b5c88b525ea58299d455acc4e8dcec"}, - {file = "scikit_learn-1.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:05fc5915b716c6cc60a438c250108e9a9445b522975ed37e416d5ea4f9a63381"}, - {file = "scikit_learn-1.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:842b7d6989f3c574685e18da6f91223eb32301d0f93903dd399894250835a6f7"}, - {file = "scikit_learn-1.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:88bcb586fdff865372df1bc6be88bb7e6f9e0aa080dab9f54f5cac7eca8e2b6b"}, - {file = "scikit_learn-1.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f77674647dd31f56cb12ed13ed25b6ed43a056fffef051715022d2ebffd7a7d1"}, - {file = "scikit_learn-1.4.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:833999872e2920ce00f3a50839946bdac7539454e200eb6db54898a41f4bfd43"}, - {file = "scikit_learn-1.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:970ec697accaef10fb4f51763f3a7b1250f9f0553cf05514d0e94905322a0172"}, - {file = "scikit_learn-1.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:923d778f378ebacca2c672ab1740e5a413e437fb45ab45ab02578f8b689e5d43"}, - {file = "scikit_learn-1.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:1d041bc95006b545b59e458399e3175ab11ca7a03dc9a74a573ac891f5df1489"}, + {file = "scikit-learn-1.4.1.post1.tar.gz", hash = "sha256:93d3d496ff1965470f9977d05e5ec3376fb1e63b10e4fda5e39d23c2d8969a30"}, + {file = "scikit_learn-1.4.1.post1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c540aaf44729ab5cd4bd5e394f2b375e65ceaea9cdd8c195788e70433d91bbc5"}, + {file = "scikit_learn-1.4.1.post1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:4310bff71aa98b45b46cd26fa641309deb73a5d1c0461d181587ad4f30ea3c36"}, + {file = "scikit_learn-1.4.1.post1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f43dd527dabff5521af2786a2f8de5ba381e182ec7292663508901cf6ceaf6e"}, + {file = "scikit_learn-1.4.1.post1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c02e27d65b0c7dc32f2c5eb601aaf5530b7a02bfbe92438188624524878336f2"}, + {file = "scikit_learn-1.4.1.post1-cp310-cp310-win_amd64.whl", hash = "sha256:629e09f772ad42f657ca60a1a52342eef786218dd20cf1369a3b8d085e55ef8f"}, + {file = "scikit_learn-1.4.1.post1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6145dfd9605b0b50ae72cdf72b61a2acd87501369a763b0d73d004710ebb76b5"}, + {file = "scikit_learn-1.4.1.post1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:1afed6951bc9d2053c6ee9a518a466cbc9b07c6a3f9d43bfe734192b6125d508"}, + {file = "scikit_learn-1.4.1.post1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce03506ccf5f96b7e9030fea7eb148999b254c44c10182ac55857bc9b5d4815f"}, + {file = "scikit_learn-1.4.1.post1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4ba516fcdc73d60e7f48cbb0bccb9acbdb21807de3651531208aac73c758e3ab"}, + {file = "scikit_learn-1.4.1.post1-cp311-cp311-win_amd64.whl", hash = "sha256:78cd27b4669513b50db4f683ef41ea35b5dddc797bd2bbd990d49897fd1c8a46"}, + {file = "scikit_learn-1.4.1.post1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:a1e289f33f613cefe6707dead50db31930530dc386b6ccff176c786335a7b01c"}, + {file = "scikit_learn-1.4.1.post1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:0df87de9ce1c0140f2818beef310fb2e2afdc1e66fc9ad587965577f17733649"}, + {file = "scikit_learn-1.4.1.post1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:712c1c69c45b58ef21635360b3d0a680ff7d83ac95b6f9b82cf9294070cda710"}, + {file = "scikit_learn-1.4.1.post1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1754b0c2409d6ed5a3380512d0adcf182a01363c669033a2b55cca429ed86a81"}, + {file = "scikit_learn-1.4.1.post1-cp312-cp312-win_amd64.whl", hash = "sha256:1d491ef66e37f4e812db7e6c8286520c2c3fc61b34bf5e59b67b4ce528de93af"}, + {file = "scikit_learn-1.4.1.post1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:aa0029b78ef59af22cfbd833e8ace8526e4df90212db7ceccbea582ebb5d6794"}, + {file = "scikit_learn-1.4.1.post1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:14e4c88436ac96bf69eb6d746ac76a574c314a23c6961b7d344b38877f20fee1"}, + {file = "scikit_learn-1.4.1.post1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7cd3a77c32879311f2aa93466d3c288c955ef71d191503cf0677c3340ae8ae0"}, + {file = "scikit_learn-1.4.1.post1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2a3ee19211ded1a52ee37b0a7b373a8bfc66f95353af058a210b692bd4cda0dd"}, + {file = "scikit_learn-1.4.1.post1-cp39-cp39-win_amd64.whl", hash = "sha256:234b6bda70fdcae9e4abbbe028582ce99c280458665a155eed0b820599377d25"}, ] [package.dependencies] joblib = ">=1.2.0" -numpy = ">=1.19.5" +numpy = ">=1.19.5,<2.0" scipy = ">=1.6.0" threadpoolctl = ">=2.0.0" @@ -2196,60 +2238,60 @@ test = ["pytest"] [[package]] name = "sqlalchemy" -version = "2.0.26" +version = "2.0.27" description = "Database Abstraction Library" optional = true python-versions = ">=3.7" files = [ - {file = "SQLAlchemy-2.0.26-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:56524d767713054f8758217b3a811f6a736e0ae34e7afc33b594926589aa9609"}, - {file = "SQLAlchemy-2.0.26-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c2d8a2c68b279617f13088bdc0fc0e9b5126f8017f8882ff08ee41909fab0713"}, - {file = "SQLAlchemy-2.0.26-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:84d377645913d47f0dc802b415bcfe7fb085d86646a12278d77c12eb75b5e1b4"}, - {file = "SQLAlchemy-2.0.26-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4fc0628d2026926404dabc903dc5628f7d936a792aa3a1fc54a20182df8e2172"}, - {file = "SQLAlchemy-2.0.26-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:872f2907ade52601a1e729e85d16913c24dc1f6e7c57d11739f18dcfafde29db"}, - {file = "SQLAlchemy-2.0.26-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ba46fa770578b3cf3b5b77dadb7e94fda7692dd4d1989268ef3dcb65f31c40a3"}, - {file = "SQLAlchemy-2.0.26-cp310-cp310-win32.whl", hash = "sha256:651d10fdba7984bf100222d6e4acc496fec46493262b6170be1981ef860c6184"}, - {file = "SQLAlchemy-2.0.26-cp310-cp310-win_amd64.whl", hash = "sha256:8f95ede696ab0d7328862d69f29b643d35b668c4f3619cb2f0281adc16e64c1b"}, - {file = "SQLAlchemy-2.0.26-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:fab1bb909bd24accf2024a69edd4f885ded182c079c4dbcd515b4842f86b07cb"}, - {file = "SQLAlchemy-2.0.26-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b7ee16afd083bb6bb5ab3962ac7f0eafd1d196c6399388af35fef3d1c6d6d9bb"}, - {file = "SQLAlchemy-2.0.26-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:379af901ceb524cbee5e15c1713bf9fd71dc28053286b7917525d01b938b9628"}, - {file = "SQLAlchemy-2.0.26-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94a78f56ea13f4d6e9efcd2a2d08cc13531918e0516563f6303c4ad98c81e21d"}, - {file = "SQLAlchemy-2.0.26-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a481cc2eec83776ff7b6bb12c8e85d0378af0e2ec4584ac3309365a2a380c64b"}, - {file = "SQLAlchemy-2.0.26-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8cbeb0e49b605cd75f825fb9239a554803ef2bef1a7b2a8b428926ed518b6b63"}, - {file = "SQLAlchemy-2.0.26-cp311-cp311-win32.whl", hash = "sha256:e70cce65239089390c193a7b0d171ce89d2e3dedf797f8010031b2aa2b1e9c80"}, - {file = "SQLAlchemy-2.0.26-cp311-cp311-win_amd64.whl", hash = "sha256:750d1ef39d50520527c45c309c3cb10bbfa6131f93081b4e93858abb5ece2501"}, - {file = "SQLAlchemy-2.0.26-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b39503c3a56e1b2340a7d09e185ddb60b253ad0210877a9958ac64208eb23674"}, - {file = "SQLAlchemy-2.0.26-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1a870e6121a052f826f7ae1e4f0b54ca4c0ccd613278218ca036fa5e0f3be7df"}, - {file = "SQLAlchemy-2.0.26-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5901eed6d0e23ca4b04d66a561799d4f0fe55fcbfc7ca203bb8c3277f442085b"}, - {file = "SQLAlchemy-2.0.26-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d25fe55aab9b20ae4a9523bb269074202be9d92a145fcc0b752fff409754b5f6"}, - {file = "SQLAlchemy-2.0.26-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:5310958d08b4bafc311052be42a3b7d61a93a2bf126ddde07b85f712e7e4ac7b"}, - {file = "SQLAlchemy-2.0.26-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fd133afb7e6c59fad365ffa97fb06b1001f88e29e1de351bef3d2b1224e2f132"}, - {file = "SQLAlchemy-2.0.26-cp312-cp312-win32.whl", hash = "sha256:dc32ecf643c4904dd413e6a95a3f2c8a89ccd6f15083e586dcf8f42eb4e317ae"}, - {file = "SQLAlchemy-2.0.26-cp312-cp312-win_amd64.whl", hash = "sha256:6e25f029e8ad6d893538b5abe8537e7f09e21d8e96caee46a7e2199f3ddd77b0"}, - {file = "SQLAlchemy-2.0.26-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:99a9a8204b8937aa72421e31c493bfc12fd063a8310a0522e5a9b98e6323977c"}, - {file = "SQLAlchemy-2.0.26-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:691d68a4fca30c9a676623d094b600797699530e175b6524a9f57e3273f5fa8d"}, - {file = "SQLAlchemy-2.0.26-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:79a74a4ca4310c812f97bf0f13ce00ed73c890954b5a20b32484a9ab60e567e9"}, - {file = "SQLAlchemy-2.0.26-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:f2efbbeb18c0e1c53b670a46a009fbde7b58e05b397a808c7e598532b17c6f4b"}, - {file = "SQLAlchemy-2.0.26-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:3fc557f5402206c18ec3d288422f8e5fa764306d49f4efbc6090a7407bf54938"}, - {file = "SQLAlchemy-2.0.26-cp37-cp37m-win32.whl", hash = "sha256:a9846ffee3283cff4ec476e7ee289314290fcb2384aab5045c6f481c5c4d011f"}, - {file = "SQLAlchemy-2.0.26-cp37-cp37m-win_amd64.whl", hash = "sha256:ed4667d3d5d6e203a271d684d5b213ebcd618f7a8bc605752a8865eb9e67a79a"}, - {file = "SQLAlchemy-2.0.26-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:79e629df3f69f849a1482a2d063596b23e32036b83547397e68725e6e0d0a9ab"}, - {file = "SQLAlchemy-2.0.26-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4b4d848b095173e0a9e377127b814490499e55f5168f617ae2c07653c326b9d1"}, - {file = "SQLAlchemy-2.0.26-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f06afe8e96d7f221cc0b59334dc400151be22f432785e895e37030579d253c3"}, - {file = "SQLAlchemy-2.0.26-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f75ac12d302205e60f77f46bd162d40dc37438f1f8db160d2491a78b19a0bd61"}, - {file = "SQLAlchemy-2.0.26-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:ec3717c1efee8ad4b97f6211978351de3abe1e4b5f73e32f775c7becec021c5c"}, - {file = "SQLAlchemy-2.0.26-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06ed4d6bb2365222fb9b0a05478a2d23ad8c1dd874047a9ae1ca1d45f18a255e"}, - {file = "SQLAlchemy-2.0.26-cp38-cp38-win32.whl", hash = "sha256:caa79a6caeb4a3cc4ddb9aba9205c383f5d3bcb60d814e87e74570514754e073"}, - {file = "SQLAlchemy-2.0.26-cp38-cp38-win_amd64.whl", hash = "sha256:996b41c38e34a980e9f810d6e2709a3196e29ee34e46e3c16f96c63da10a9da1"}, - {file = "SQLAlchemy-2.0.26-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4f57af0866f6629eae2d24d022ba1a4c1bac9b16d45027bbfcda4c9d5b0d8f26"}, - {file = "SQLAlchemy-2.0.26-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e1a532bc33163fb19c4759a36504a23e63032bc8d47cee1c66b0b70a04a0957b"}, - {file = "SQLAlchemy-2.0.26-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:02a4f954ccb17bd8cff56662efc806c5301508233dc38d0253a5fdb2f33ca3ba"}, - {file = "SQLAlchemy-2.0.26-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a678f728fb075e74aaa7fdc27f8af8f03f82d02e7419362cc8c2a605c16a4114"}, - {file = "SQLAlchemy-2.0.26-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:8b39462c9588d4780f041e1b84d2ba038ac01c441c961bbee622dd8f53dec69f"}, - {file = "SQLAlchemy-2.0.26-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:98f4d0d2bda2921af5b0c2ca99207cdab00f2922da46a6336c62c8d6814303a7"}, - {file = "SQLAlchemy-2.0.26-cp39-cp39-win32.whl", hash = "sha256:6d68e6b507a3dd20c0add86ac0a0ca061d43c9a0162a122baa5fe952f14240f1"}, - {file = "SQLAlchemy-2.0.26-cp39-cp39-win_amd64.whl", hash = "sha256:fb97a9b93b953084692a52a7877957b7a88dfcedc0c5652124f5aebf5999f7fe"}, - {file = "SQLAlchemy-2.0.26-py3-none-any.whl", hash = "sha256:1128b2cdf49107659f6d1f452695f43a20694cc9305a86e97b70793a1c74eeb4"}, - {file = "SQLAlchemy-2.0.26.tar.gz", hash = "sha256:e1bcd8fcb30305e27355d553608c2c229d3e589fb7ff406da7d7e5d50fa14d0d"}, + {file = "SQLAlchemy-2.0.27-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d04e579e911562f1055d26dab1868d3e0bb905db3bccf664ee8ad109f035618a"}, + {file = "SQLAlchemy-2.0.27-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fa67d821c1fd268a5a87922ef4940442513b4e6c377553506b9db3b83beebbd8"}, + {file = "SQLAlchemy-2.0.27-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c7a596d0be71b7baa037f4ac10d5e057d276f65a9a611c46970f012752ebf2d"}, + {file = "SQLAlchemy-2.0.27-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:954d9735ee9c3fa74874c830d089a815b7b48df6f6b6e357a74130e478dbd951"}, + {file = "SQLAlchemy-2.0.27-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:5cd20f58c29bbf2680039ff9f569fa6d21453fbd2fa84dbdb4092f006424c2e6"}, + {file = "SQLAlchemy-2.0.27-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:03f448ffb731b48323bda68bcc93152f751436ad6037f18a42b7e16af9e91c07"}, + {file = "SQLAlchemy-2.0.27-cp310-cp310-win32.whl", hash = "sha256:d997c5938a08b5e172c30583ba6b8aad657ed9901fc24caf3a7152eeccb2f1b4"}, + {file = "SQLAlchemy-2.0.27-cp310-cp310-win_amd64.whl", hash = "sha256:eb15ef40b833f5b2f19eeae65d65e191f039e71790dd565c2af2a3783f72262f"}, + {file = "SQLAlchemy-2.0.27-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6c5bad7c60a392850d2f0fee8f355953abaec878c483dd7c3836e0089f046bf6"}, + {file = "SQLAlchemy-2.0.27-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a3012ab65ea42de1be81fff5fb28d6db893ef978950afc8130ba707179b4284a"}, + {file = "SQLAlchemy-2.0.27-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbcd77c4d94b23e0753c5ed8deba8c69f331d4fd83f68bfc9db58bc8983f49cd"}, + {file = "SQLAlchemy-2.0.27-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d177b7e82f6dd5e1aebd24d9c3297c70ce09cd1d5d37b43e53f39514379c029c"}, + {file = "SQLAlchemy-2.0.27-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:680b9a36029b30cf063698755d277885d4a0eab70a2c7c6e71aab601323cba45"}, + {file = "SQLAlchemy-2.0.27-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1306102f6d9e625cebaca3d4c9c8f10588735ef877f0360b5cdb4fdfd3fd7131"}, + {file = "SQLAlchemy-2.0.27-cp311-cp311-win32.whl", hash = "sha256:5b78aa9f4f68212248aaf8943d84c0ff0f74efc65a661c2fc68b82d498311fd5"}, + {file = "SQLAlchemy-2.0.27-cp311-cp311-win_amd64.whl", hash = "sha256:15e19a84b84528f52a68143439d0c7a3a69befcd4f50b8ef9b7b69d2628ae7c4"}, + {file = "SQLAlchemy-2.0.27-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:0de1263aac858f288a80b2071990f02082c51d88335a1db0d589237a3435fe71"}, + {file = "SQLAlchemy-2.0.27-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce850db091bf7d2a1f2fdb615220b968aeff3849007b1204bf6e3e50a57b3d32"}, + {file = "SQLAlchemy-2.0.27-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8dfc936870507da96aebb43e664ae3a71a7b96278382bcfe84d277b88e379b18"}, + {file = "SQLAlchemy-2.0.27-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c4fbe6a766301f2e8a4519f4500fe74ef0a8509a59e07a4085458f26228cd7cc"}, + {file = "SQLAlchemy-2.0.27-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:4535c49d961fe9a77392e3a630a626af5baa967172d42732b7a43496c8b28876"}, + {file = "SQLAlchemy-2.0.27-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:0fb3bffc0ced37e5aa4ac2416f56d6d858f46d4da70c09bb731a246e70bff4d5"}, + {file = "SQLAlchemy-2.0.27-cp312-cp312-win32.whl", hash = "sha256:7f470327d06400a0aa7926b375b8e8c3c31d335e0884f509fe272b3c700a7254"}, + {file = "SQLAlchemy-2.0.27-cp312-cp312-win_amd64.whl", hash = "sha256:f9374e270e2553653d710ece397df67db9d19c60d2647bcd35bfc616f1622dcd"}, + {file = "SQLAlchemy-2.0.27-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e97cf143d74a7a5a0f143aa34039b4fecf11343eed66538610debc438685db4a"}, + {file = "SQLAlchemy-2.0.27-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7b5a3e2120982b8b6bd1d5d99e3025339f7fb8b8267551c679afb39e9c7c7f1"}, + {file = "SQLAlchemy-2.0.27-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e36aa62b765cf9f43a003233a8c2d7ffdeb55bc62eaa0a0380475b228663a38f"}, + {file = "SQLAlchemy-2.0.27-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:5ada0438f5b74c3952d916c199367c29ee4d6858edff18eab783b3978d0db16d"}, + {file = "SQLAlchemy-2.0.27-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:b1d9d1bfd96eef3c3faedb73f486c89e44e64e40e5bfec304ee163de01cf996f"}, + {file = "SQLAlchemy-2.0.27-cp37-cp37m-win32.whl", hash = "sha256:ca891af9f3289d24a490a5fde664ea04fe2f4984cd97e26de7442a4251bd4b7c"}, + {file = "SQLAlchemy-2.0.27-cp37-cp37m-win_amd64.whl", hash = "sha256:fd8aafda7cdff03b905d4426b714601c0978725a19efc39f5f207b86d188ba01"}, + {file = "SQLAlchemy-2.0.27-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ec1f5a328464daf7a1e4e385e4f5652dd9b1d12405075ccba1df842f7774b4fc"}, + {file = "SQLAlchemy-2.0.27-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ad862295ad3f644e3c2c0d8b10a988e1600d3123ecb48702d2c0f26771f1c396"}, + {file = "SQLAlchemy-2.0.27-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:48217be1de7d29a5600b5c513f3f7664b21d32e596d69582be0a94e36b8309cb"}, + {file = "SQLAlchemy-2.0.27-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e56afce6431450442f3ab5973156289bd5ec33dd618941283847c9fd5ff06bf"}, + {file = "SQLAlchemy-2.0.27-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:611068511b5531304137bcd7fe8117c985d1b828eb86043bd944cebb7fae3910"}, + {file = "SQLAlchemy-2.0.27-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b86abba762ecfeea359112b2bb4490802b340850bbee1948f785141a5e020de8"}, + {file = "SQLAlchemy-2.0.27-cp38-cp38-win32.whl", hash = "sha256:30d81cc1192dc693d49d5671cd40cdec596b885b0ce3b72f323888ab1c3863d5"}, + {file = "SQLAlchemy-2.0.27-cp38-cp38-win_amd64.whl", hash = "sha256:120af1e49d614d2525ac247f6123841589b029c318b9afbfc9e2b70e22e1827d"}, + {file = "SQLAlchemy-2.0.27-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d07ee7793f2aeb9b80ec8ceb96bc8cc08a2aec8a1b152da1955d64e4825fcbac"}, + {file = "SQLAlchemy-2.0.27-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cb0845e934647232b6ff5150df37ceffd0b67b754b9fdbb095233deebcddbd4a"}, + {file = "SQLAlchemy-2.0.27-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fc19ae2e07a067663dd24fca55f8ed06a288384f0e6e3910420bf4b1270cc51"}, + {file = "SQLAlchemy-2.0.27-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b90053be91973a6fb6020a6e44382c97739736a5a9d74e08cc29b196639eb979"}, + {file = "SQLAlchemy-2.0.27-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2f5c9dfb0b9ab5e3a8a00249534bdd838d943ec4cfb9abe176a6c33408430230"}, + {file = "SQLAlchemy-2.0.27-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:33e8bde8fff203de50399b9039c4e14e42d4d227759155c21f8da4a47fc8053c"}, + {file = "SQLAlchemy-2.0.27-cp39-cp39-win32.whl", hash = "sha256:d873c21b356bfaf1589b89090a4011e6532582b3a8ea568a00e0c3aab09399dd"}, + {file = "SQLAlchemy-2.0.27-cp39-cp39-win_amd64.whl", hash = "sha256:ff2f1b7c963961d41403b650842dc2039175b906ab2093635d8319bef0b7d620"}, + {file = "SQLAlchemy-2.0.27-py3-none-any.whl", hash = "sha256:1ab4e0448018d01b142c916cc7119ca573803a4745cfe341b8f95657812700ac"}, + {file = "SQLAlchemy-2.0.27.tar.gz", hash = "sha256:86a6ed69a71fe6b88bf9331594fa390a2adda4a49b5c06f98e47bf0d392534f8"}, ] [package.dependencies] @@ -2297,13 +2339,13 @@ widechars = ["wcwidth"] [[package]] name = "threadpoolctl" -version = "3.2.0" +version = "3.3.0" description = "threadpoolctl" optional = true python-versions = ">=3.8" files = [ - {file = "threadpoolctl-3.2.0-py3-none-any.whl", hash = "sha256:2b7818516e423bdaebb97c723f86a7c6b0a83d3f3b0970328d66f4d9104dc032"}, - {file = "threadpoolctl-3.2.0.tar.gz", hash = "sha256:c96a0ba3bdddeaca37dc4cc7344aafad41cdb8c313f74fdfe387a867bba93355"}, + {file = "threadpoolctl-3.3.0-py3-none-any.whl", hash = "sha256:6155be1f4a39f31a18ea70f94a77e0ccd57dced08122ea61109e7da89883781e"}, + {file = "threadpoolctl-3.3.0.tar.gz", hash = "sha256:5dac632b4fa2d43f42130267929af3ba01399ef4bd1882918e92dbc30365d30c"}, ] [[package]] @@ -2317,6 +2359,33 @@ files = [ {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, ] +[[package]] +name = "tox" +version = "4.12.1" +description = "tox is a generic virtualenv management and test command line tool" +optional = true +python-versions = ">=3.8" +files = [ + {file = "tox-4.12.1-py3-none-any.whl", hash = "sha256:c07ea797880a44f3c4f200ad88ad92b446b83079d4ccef89585df64cc574375c"}, + {file = "tox-4.12.1.tar.gz", hash = "sha256:61aafbeff1bd8a5af84e54ef6e8402f53c6a6066d0782336171ddfbf5362122e"}, +] + +[package.dependencies] +cachetools = ">=5.3.2" +chardet = ">=5.2" +colorama = ">=0.4.6" +filelock = ">=3.13.1" +packaging = ">=23.2" +platformdirs = ">=4.1" +pluggy = ">=1.3" +pyproject-api = ">=1.6.1" +tomli = {version = ">=2.0.1", markers = "python_version < \"3.11\""} +virtualenv = ">=20.25" + +[package.extras] +docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-argparse-cli (>=1.11.1)", "sphinx-autodoc-typehints (>=1.25.2)", "sphinx-copybutton (>=0.5.2)", "sphinx-inline-tabs (>=2023.4.21)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.11)"] +testing = ["build[virtualenv] (>=1.0.3)", "covdefaults (>=2.3)", "detect-test-pollution (>=1.2)", "devpi-process (>=1)", "diff-cover (>=8.0.2)", "distlib (>=0.3.8)", "flaky (>=3.7)", "hatch-vcs (>=0.4)", "hatchling (>=1.21)", "psutil (>=5.9.7)", "pytest (>=7.4.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-xdist (>=3.5)", "re-assert (>=1.1)", "time-machine (>=2.13)", "wheel (>=0.42)"] + [[package]] name = "tqdm" version = "4.66.2" @@ -2528,54 +2597,54 @@ tools = ["ZODB", "transaction"] [[package]] name = "zope-interface" -version = "6.1" +version = "6.2" description = "Interfaces for Python" optional = true python-versions = ">=3.7" files = [ - {file = "zope.interface-6.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:43b576c34ef0c1f5a4981163b551a8781896f2a37f71b8655fd20b5af0386abb"}, - {file = "zope.interface-6.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:67be3ca75012c6e9b109860820a8b6c9a84bfb036fbd1076246b98e56951ca92"}, - {file = "zope.interface-6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b9bc671626281f6045ad61d93a60f52fd5e8209b1610972cf0ef1bbe6d808e3"}, - {file = "zope.interface-6.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bbe81def9cf3e46f16ce01d9bfd8bea595e06505e51b7baf45115c77352675fd"}, - {file = "zope.interface-6.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6dc998f6de015723196a904045e5a2217f3590b62ea31990672e31fbc5370b41"}, - {file = "zope.interface-6.1-cp310-cp310-win_amd64.whl", hash = "sha256:239a4a08525c080ff833560171d23b249f7f4d17fcbf9316ef4159f44997616f"}, - {file = "zope.interface-6.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9ffdaa5290422ac0f1688cb8adb1b94ca56cee3ad11f29f2ae301df8aecba7d1"}, - {file = "zope.interface-6.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:34c15ca9248f2e095ef2e93af2d633358c5f048c49fbfddf5fdfc47d5e263736"}, - {file = "zope.interface-6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b012d023b4fb59183909b45d7f97fb493ef7a46d2838a5e716e3155081894605"}, - {file = "zope.interface-6.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:97806e9ca3651588c1baaebb8d0c5ee3db95430b612db354c199b57378312ee8"}, - {file = "zope.interface-6.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fddbab55a2473f1d3b8833ec6b7ac31e8211b0aa608df5ab09ce07f3727326de"}, - {file = "zope.interface-6.1-cp311-cp311-win_amd64.whl", hash = "sha256:a0da79117952a9a41253696ed3e8b560a425197d4e41634a23b1507efe3273f1"}, - {file = "zope.interface-6.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e8bb9c990ca9027b4214fa543fd4025818dc95f8b7abce79d61dc8a2112b561a"}, - {file = "zope.interface-6.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b51b64432eed4c0744241e9ce5c70dcfecac866dff720e746d0a9c82f371dfa7"}, - {file = "zope.interface-6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa6fd016e9644406d0a61313e50348c706e911dca29736a3266fc9e28ec4ca6d"}, - {file = "zope.interface-6.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c8cf55261e15590065039696607f6c9c1aeda700ceee40c70478552d323b3ff"}, - {file = "zope.interface-6.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e30506bcb03de8983f78884807e4fd95d8db6e65b69257eea05d13d519b83ac0"}, - {file = "zope.interface-6.1-cp312-cp312-win_amd64.whl", hash = "sha256:e33e86fd65f369f10608b08729c8f1c92ec7e0e485964670b4d2633a4812d36b"}, - {file = "zope.interface-6.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:2f8d89721834524a813f37fa174bac074ec3d179858e4ad1b7efd4401f8ac45d"}, - {file = "zope.interface-6.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:13b7d0f2a67eb83c385880489dbb80145e9d344427b4262c49fbf2581677c11c"}, - {file = "zope.interface-6.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef43ee91c193f827e49599e824385ec7c7f3cd152d74cb1dfe02cb135f264d83"}, - {file = "zope.interface-6.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e441e8b7d587af0414d25e8d05e27040d78581388eed4c54c30c0c91aad3a379"}, - {file = "zope.interface-6.1-cp37-cp37m-win_amd64.whl", hash = "sha256:f89b28772fc2562ed9ad871c865f5320ef761a7fcc188a935e21fe8b31a38ca9"}, - {file = "zope.interface-6.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:70d2cef1bf529bff41559be2de9d44d47b002f65e17f43c73ddefc92f32bf00f"}, - {file = "zope.interface-6.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ad54ed57bdfa3254d23ae04a4b1ce405954969c1b0550cc2d1d2990e8b439de1"}, - {file = "zope.interface-6.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ef467d86d3cfde8b39ea1b35090208b0447caaabd38405420830f7fd85fbdd56"}, - {file = "zope.interface-6.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6af47f10cfc54c2ba2d825220f180cc1e2d4914d783d6fc0cd93d43d7bc1c78b"}, - {file = "zope.interface-6.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9559138690e1bd4ea6cd0954d22d1e9251e8025ce9ede5d0af0ceae4a401e43"}, - {file = "zope.interface-6.1-cp38-cp38-win_amd64.whl", hash = "sha256:964a7af27379ff4357dad1256d9f215047e70e93009e532d36dcb8909036033d"}, - {file = "zope.interface-6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:387545206c56b0315fbadb0431d5129c797f92dc59e276b3ce82db07ac1c6179"}, - {file = "zope.interface-6.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:57d0a8ce40ce440f96a2c77824ee94bf0d0925e6089df7366c2272ccefcb7941"}, - {file = "zope.interface-6.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ebc4d34e7620c4f0da7bf162c81978fce0ea820e4fa1e8fc40ee763839805f3"}, - {file = "zope.interface-6.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5a804abc126b33824a44a7aa94f06cd211a18bbf31898ba04bd0924fbe9d282d"}, - {file = "zope.interface-6.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f294a15f7723fc0d3b40701ca9b446133ec713eafc1cc6afa7b3d98666ee1ac"}, - {file = "zope.interface-6.1-cp39-cp39-win_amd64.whl", hash = "sha256:a41f87bb93b8048fe866fa9e3d0c51e27fe55149035dcf5f43da4b56732c0a40"}, - {file = "zope.interface-6.1.tar.gz", hash = "sha256:2fdc7ccbd6eb6b7df5353012fbed6c3c5d04ceaca0038f75e601060e95345309"}, + {file = "zope.interface-6.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:506f5410b36e5ba494136d9fa04c548eaf1a0d9c442b0b0e7a0944db7620e0ab"}, + {file = "zope.interface-6.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b386b8b9d2b6a5e1e4eadd4e62335571244cb9193b7328c2b6e38b64cfda4f0e"}, + {file = "zope.interface-6.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abb0b3f2cb606981c7432f690db23506b1db5899620ad274e29dbbbdd740e797"}, + {file = "zope.interface-6.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:de7916380abaef4bb4891740879b1afcba2045aee51799dfd6d6ca9bdc71f35f"}, + {file = "zope.interface-6.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b240883fb43160574f8f738e6d09ddbdbf8fa3e8cea051603d9edfd947d9328"}, + {file = "zope.interface-6.2-cp310-cp310-win_amd64.whl", hash = "sha256:8af82afc5998e1f307d5e72712526dba07403c73a9e287d906a8aa2b1f2e33dd"}, + {file = "zope.interface-6.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4d45d2ba8195850e3e829f1f0016066a122bfa362cc9dc212527fc3d51369037"}, + {file = "zope.interface-6.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:76e0531d86523be7a46e15d379b0e975a9db84316617c0efe4af8338dc45b80c"}, + {file = "zope.interface-6.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59f7374769b326a217d0b2366f1c176a45a4ff21e8f7cebb3b4a3537077eff85"}, + {file = "zope.interface-6.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:25e0af9663eeac6b61b231b43c52293c2cb7f0c232d914bdcbfd3e3bd5c182ad"}, + {file = "zope.interface-6.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14e02a6fc1772b458ebb6be1c276528b362041217b9ca37e52ecea2cbdce9fac"}, + {file = "zope.interface-6.2-cp311-cp311-win_amd64.whl", hash = "sha256:02adbab560683c4eca3789cc0ac487dcc5f5a81cc48695ec247f00803cafe2fe"}, + {file = "zope.interface-6.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:8f5d2c39f3283e461de3655e03faf10e4742bb87387113f787a7724f32db1e48"}, + {file = "zope.interface-6.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:75d2ec3d9b401df759b87bc9e19d1b24db73083147089b43ae748aefa63067ef"}, + {file = "zope.interface-6.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fa994e8937e8ccc7e87395b7b35092818905cf27c651e3ff3e7f29729f5ce3ce"}, + {file = "zope.interface-6.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ede888382882f07b9e4cd942255921ffd9f2901684198b88e247c7eabd27a000"}, + {file = "zope.interface-6.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2606955a06c6852a6cff4abeca38346ed01e83f11e960caa9a821b3626a4467b"}, + {file = "zope.interface-6.2-cp312-cp312-win_amd64.whl", hash = "sha256:ac7c2046d907e3b4e2605a130d162b1b783c170292a11216479bb1deb7cadebe"}, + {file = "zope.interface-6.2-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:febceb04ee7dd2aef08c2ff3d6f8a07de3052fc90137c507b0ede3ea80c21440"}, + {file = "zope.interface-6.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fc711acc4a1c702ca931fdbf7bf7c86f2a27d564c85c4964772dadf0e3c52f5"}, + {file = "zope.interface-6.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:396f5c94654301819a7f3a702c5830f0ea7468d7b154d124ceac823e2419d000"}, + {file = "zope.interface-6.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4dd374927c00764fcd6fe1046bea243ebdf403fba97a937493ae4be2c8912c2b"}, + {file = "zope.interface-6.2-cp37-cp37m-win_amd64.whl", hash = "sha256:a3046e8ab29b590d723821d0785598e0b2e32b636a0272a38409be43e3ae0550"}, + {file = "zope.interface-6.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:de125151a53ecdb39df3cb3deb9951ed834dd6a110a9e795d985b10bb6db4532"}, + {file = "zope.interface-6.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f444de0565db46d26c9fa931ca14f497900a295bd5eba480fc3fad25af8c763e"}, + {file = "zope.interface-6.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2fefad268ff5c5b314794e27e359e48aeb9c8bb2cbb5748a071757a56f6bb8f"}, + {file = "zope.interface-6.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:97785604824981ec8c81850dd25c8071d5ce04717a34296eeac771231fbdd5cd"}, + {file = "zope.interface-6.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e7b2bed4eea047a949296e618552d3fed00632dc1b795ee430289bdd0e3717f3"}, + {file = "zope.interface-6.2-cp38-cp38-win_amd64.whl", hash = "sha256:d54f66c511ea01b9ef1d1a57420a93fbb9d48a08ec239f7d9c581092033156d0"}, + {file = "zope.interface-6.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5ee9789a20b0081dc469f65ff6c5007e67a940d5541419ca03ef20c6213dd099"}, + {file = "zope.interface-6.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:af27b3fe5b6bf9cd01b8e1c5ddea0a0d0a1b8c37dc1c7452f1e90bf817539c6d"}, + {file = "zope.interface-6.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4bce517b85f5debe07b186fc7102b332676760f2e0c92b7185dd49c138734b70"}, + {file = "zope.interface-6.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4ae9793f114cee5c464cc0b821ae4d36e1eba961542c6086f391a61aee167b6f"}, + {file = "zope.interface-6.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e87698e2fea5ca2f0a99dff0a64ce8110ea857b640de536c76d92aaa2a91ff3a"}, + {file = "zope.interface-6.2-cp39-cp39-win_amd64.whl", hash = "sha256:b66335bbdbb4c004c25ae01cc4a54fd199afbc1fd164233813c6d3c2293bb7e1"}, + {file = "zope.interface-6.2.tar.gz", hash = "sha256:3b6c62813c63c543a06394a636978b22dffa8c5410affc9331ce6cdb5bfa8565"}, ] [package.dependencies] setuptools = "*" [package.extras] -docs = ["Sphinx", "repoze.sphinx.autointerface", "sphinx-rtd-theme"] +docs = ["Sphinx", "repoze.sphinx.autointerface", "sphinx_rtd_theme"] test = ["coverage (>=5.0.3)", "zope.event", "zope.testing"] testing = ["coverage (>=5.0.3)", "zope.event", "zope.testing"] @@ -2587,11 +2656,11 @@ brickify = ["Jinja2", "PyYAML", "click-spinner", "tabulate", "typer", "xlrd"] merge = ["colorama", "dedupe"] networkx = ["networkx"] orm = ["sqlalchemy"] -persistence = ["alembic", "six", "sqlalchemy"] +persistence = ["alembic", "brickschema-rdflib-sqlalchemy", "six", "sqlalchemy"] reasonable = ["reasonable"] web = ["Flask"] [metadata] lock-version = "2.0" python-versions = "^3.9" -content-hash = "30dceb8f81ed172bce4386134623bd831e50b2a5d5b42e6986260074aa7c7525" +content-hash = "ed473c7f5344941e31fe4ec4c741ba83856832b6679a84a878f69629157e02d3" diff --git a/pyproject.toml b/pyproject.toml index d1dc4db..f524f23 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,15 +31,15 @@ BAC0 = {optional = true, version = "^22.9"} networkx = {optional = true, version="^3.2"} alembic = {optional = true, version=">=0.8.8"} six = {optional = true, version=">=1.10.0"} -brickschema-rdflib-sqlalchemy = {optional = true, version="^0.6.0-a1"} +brickschema-rdflib-sqlalchemy = {optional = true, version="0.6.0a0"} [tool.poetry.group.dev.dependencies] -flake8 = "^3.7" +flake8 = "^5.0" pre-commit = "^2.1" tqdm = "^4.56.0" [tool.poetry.group.test.dependencies] -pytest = "^7.2" +pytest = "^8.0" pytest-xdist = {extras = ["psutil"], version = "^2.3.0"} [tool.poetry.group.docs.dependencies] From 42829cf085f832b940f8efabea7b5d6419c5c7d9 Mon Sep 17 00:00:00 2001 From: Gabe Fierro Date: Fri, 16 Feb 2024 16:27:07 -0700 Subject: [PATCH 06/16] fixing import --- brickschema/__init__.py | 4 ++-- brickschema/persistent.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/brickschema/__init__.py b/brickschema/__init__.py index 9d4d82c..86c98c4 100644 --- a/brickschema/__init__.py +++ b/brickschema/__init__.py @@ -15,12 +15,12 @@ has_sqlalchemy = False try: - from . import rdflib_sqlalchemy + import rdflib_sqlalchemy has_sqlalchemy = True except ImportError as e: print(e) logging.warning( - "sqlalchemy not installed. SQL-backed graph support will not be available." + "sqlalchemy not installed. SQL-backed graph support will not be available. Try 'pip install brickschema[persistence]' to install it." ) __version__ = "0.2.0" diff --git a/brickschema/persistent.py b/brickschema/persistent.py index fff71b4..ad690b0 100644 --- a/brickschema/persistent.py +++ b/brickschema/persistent.py @@ -8,7 +8,7 @@ from rdflib.graph import BatchAddGraph from rdflib import plugin from rdflib.store import Store -from brickschema.rdflib_sqlalchemy import registerplugins +from rdflib_sqlalchemy import registerplugins from sqlalchemy import text, Row import pickle from .graph import Graph, BrickBase From 40b7b89da7a0f03a43ef5eba4317abb85092ccfc Mon Sep 17 00:00:00 2001 From: Gabe Fierro Date: Fri, 16 Feb 2024 16:38:44 -0700 Subject: [PATCH 07/16] fix import --- brickschema/__init__.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/brickschema/__init__.py b/brickschema/__init__.py index 86c98c4..e2a3215 100644 --- a/brickschema/__init__.py +++ b/brickschema/__init__.py @@ -15,7 +15,7 @@ has_sqlalchemy = False try: - import rdflib_sqlalchemy + import brickschema_rdflib_sqlalchemy has_sqlalchemy = True except ImportError as e: print(e) @@ -25,5 +25,3 @@ __version__ = "0.2.0" __all__ = ["graph", "inference", "namespaces"] -if has_sqlalchemy: - __all__.append("rdflib_sqlalchemy") From 843efbd74782a609b595207cf7d4cc49331813e6 Mon Sep 17 00:00:00 2001 From: Gabe Fierro Date: Fri, 16 Feb 2024 16:44:47 -0700 Subject: [PATCH 08/16] fix import --- brickschema/persistent.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/brickschema/persistent.py b/brickschema/persistent.py index ad690b0..7024785 100644 --- a/brickschema/persistent.py +++ b/brickschema/persistent.py @@ -8,7 +8,7 @@ from rdflib.graph import BatchAddGraph from rdflib import plugin from rdflib.store import Store -from rdflib_sqlalchemy import registerplugins +from brickschema_rdflib_sqlalchemy import registerplugins from sqlalchemy import text, Row import pickle from .graph import Graph, BrickBase From a9286d785fda907335170974cce74720daa4f29f Mon Sep 17 00:00:00 2001 From: Gabe Fierro Date: Fri, 16 Feb 2024 17:21:45 -0700 Subject: [PATCH 09/16] trying new version --- poetry.lock | 8 ++++---- pyproject.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/poetry.lock b/poetry.lock index acf1082..d50cbad 100644 --- a/poetry.lock +++ b/poetry.lock @@ -153,13 +153,13 @@ files = [ [[package]] name = "brickschema-rdflib-sqlalchemy" -version = "0.6.0a0" +version = "0.6.0a1" description = "rdflib extension adding SQLAlchemy as an AbstractSQLStore back-end store" optional = true python-versions = ">=3.8" files = [ - {file = "brickschema_rdflib_sqlalchemy-0.6.0a0-py3-none-any.whl", hash = "sha256:61085171a5b50100485037494b6401613f48c1217532f6fd576a27a2fd2b105d"}, - {file = "brickschema_rdflib_sqlalchemy-0.6.0a0.tar.gz", hash = "sha256:9a7188d18962ebd2ad4484b990a3cd7128e9abd7b7a42dfd4c1bc4d969611f86"}, + {file = "brickschema_rdflib_sqlalchemy-0.6.0a1-py3-none-any.whl", hash = "sha256:4e403bf94ce09fb4476ae2d92577efcdfedce70509b4d174dbc9a253edddbe09"}, + {file = "brickschema_rdflib_sqlalchemy-0.6.0a1.tar.gz", hash = "sha256:8fd00030737628e21e2ad507f03f0d09a63eb5ed8a89df60c7449adbe8115028"}, ] [package.dependencies] @@ -2663,4 +2663,4 @@ web = ["Flask"] [metadata] lock-version = "2.0" python-versions = "^3.9" -content-hash = "ed473c7f5344941e31fe4ec4c741ba83856832b6679a84a878f69629157e02d3" +content-hash = "d1a11784647a598e6283d6d4453b62e320e97936448f632d13931ddb06997ef8" diff --git a/pyproject.toml b/pyproject.toml index f524f23..457d23a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,7 +31,7 @@ BAC0 = {optional = true, version = "^22.9"} networkx = {optional = true, version="^3.2"} alembic = {optional = true, version=">=0.8.8"} six = {optional = true, version=">=1.10.0"} -brickschema-rdflib-sqlalchemy = {optional = true, version="0.6.0a0"} +brickschema-rdflib-sqlalchemy = {optional = true, version="0.6.0a2"} [tool.poetry.group.dev.dependencies] flake8 = "^5.0" From dabf753675c854952a264dd6607ae0c567975a12 Mon Sep 17 00:00:00 2001 From: Gabe Fierro Date: Sat, 17 Feb 2024 09:13:56 -0700 Subject: [PATCH 10/16] try new package version --- poetry.lock | 15 ++++++++------- pyproject.toml | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/poetry.lock b/poetry.lock index d50cbad..a4aae21 100644 --- a/poetry.lock +++ b/poetry.lock @@ -153,13 +153,13 @@ files = [ [[package]] name = "brickschema-rdflib-sqlalchemy" -version = "0.6.0a1" +version = "0.6.0a4" description = "rdflib extension adding SQLAlchemy as an AbstractSQLStore back-end store" optional = true python-versions = ">=3.8" files = [ - {file = "brickschema_rdflib_sqlalchemy-0.6.0a1-py3-none-any.whl", hash = "sha256:4e403bf94ce09fb4476ae2d92577efcdfedce70509b4d174dbc9a253edddbe09"}, - {file = "brickschema_rdflib_sqlalchemy-0.6.0a1.tar.gz", hash = "sha256:8fd00030737628e21e2ad507f03f0d09a63eb5ed8a89df60c7449adbe8115028"}, + {file = "brickschema_rdflib_sqlalchemy-0.6.0a4-py3-none-any.whl", hash = "sha256:b8a36e2e19165cdff67adddc59cbee9d520a51bb72c841fc69b2c81d1ee49128"}, + {file = "brickschema_rdflib_sqlalchemy-0.6.0a4.tar.gz", hash = "sha256:e229ecbe716aab5c5b15e7ad803002976f022e25413bba0806b92597cd7c91fe"}, ] [package.dependencies] @@ -1840,6 +1840,7 @@ files = [ {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, + {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"}, {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, @@ -2361,13 +2362,13 @@ files = [ [[package]] name = "tox" -version = "4.12.1" +version = "4.13.0" description = "tox is a generic virtualenv management and test command line tool" optional = true python-versions = ">=3.8" files = [ - {file = "tox-4.12.1-py3-none-any.whl", hash = "sha256:c07ea797880a44f3c4f200ad88ad92b446b83079d4ccef89585df64cc574375c"}, - {file = "tox-4.12.1.tar.gz", hash = "sha256:61aafbeff1bd8a5af84e54ef6e8402f53c6a6066d0782336171ddfbf5362122e"}, + {file = "tox-4.13.0-py3-none-any.whl", hash = "sha256:1143c7e2489c68026a55d3d4ae84c02c449f073b28e62f80e3e440a3b72a4afa"}, + {file = "tox-4.13.0.tar.gz", hash = "sha256:dd789a554c16c4b532924ba393c92fc8991323c4b3d466712bfecc8c9b9f24f7"}, ] [package.dependencies] @@ -2663,4 +2664,4 @@ web = ["Flask"] [metadata] lock-version = "2.0" python-versions = "^3.9" -content-hash = "d1a11784647a598e6283d6d4453b62e320e97936448f632d13931ddb06997ef8" +content-hash = "1635f58f3ac3d0beb43b5703aa2a86a954eaec6d70ec2fb7a58ea00d9fce485b" diff --git a/pyproject.toml b/pyproject.toml index 457d23a..62bd4cd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,7 +31,7 @@ BAC0 = {optional = true, version = "^22.9"} networkx = {optional = true, version="^3.2"} alembic = {optional = true, version=">=0.8.8"} six = {optional = true, version=">=1.10.0"} -brickschema-rdflib-sqlalchemy = {optional = true, version="0.6.0a2"} +brickschema-rdflib-sqlalchemy = {optional = true, version="0.6.0a4"} [tool.poetry.group.dev.dependencies] flake8 = "^5.0" From 921879e56d08b8583a9f5760480054bc79157067 Mon Sep 17 00:00:00 2001 From: Gabe Fierro Date: Sat, 17 Feb 2024 18:27:10 -0700 Subject: [PATCH 11/16] rdflibsqlalchemy fork shoul work now --- .github/workflows/builds.yml | 4 ++-- brickschema/__init__.py | 2 +- brickschema/persistent.py | 2 +- poetry.lock | 10 +++++----- pyproject.toml | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/builds.yml b/.github/workflows/builds.yml index e1e4c27..b5cafff 100644 --- a/.github/workflows/builds.yml +++ b/.github/workflows/builds.yml @@ -17,7 +17,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install Poetry @@ -33,7 +33,7 @@ jobs: java-version: '17' - name: Load cached venv id: cached-poetry-dependencies - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: .venv key: venv-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }} diff --git a/brickschema/__init__.py b/brickschema/__init__.py index e2a3215..ae626a1 100644 --- a/brickschema/__init__.py +++ b/brickschema/__init__.py @@ -15,7 +15,7 @@ has_sqlalchemy = False try: - import brickschema_rdflib_sqlalchemy + import rdflib_sqlalchemy has_sqlalchemy = True except ImportError as e: print(e) diff --git a/brickschema/persistent.py b/brickschema/persistent.py index 7024785..ad690b0 100644 --- a/brickschema/persistent.py +++ b/brickschema/persistent.py @@ -8,7 +8,7 @@ from rdflib.graph import BatchAddGraph from rdflib import plugin from rdflib.store import Store -from brickschema_rdflib_sqlalchemy import registerplugins +from rdflib_sqlalchemy import registerplugins from sqlalchemy import text, Row import pickle from .graph import Graph, BrickBase diff --git a/poetry.lock b/poetry.lock index a4aae21..6ba88fb 100644 --- a/poetry.lock +++ b/poetry.lock @@ -153,13 +153,13 @@ files = [ [[package]] name = "brickschema-rdflib-sqlalchemy" -version = "0.6.0a4" +version = "0.6.0a8" description = "rdflib extension adding SQLAlchemy as an AbstractSQLStore back-end store" optional = true python-versions = ">=3.8" files = [ - {file = "brickschema_rdflib_sqlalchemy-0.6.0a4-py3-none-any.whl", hash = "sha256:b8a36e2e19165cdff67adddc59cbee9d520a51bb72c841fc69b2c81d1ee49128"}, - {file = "brickschema_rdflib_sqlalchemy-0.6.0a4.tar.gz", hash = "sha256:e229ecbe716aab5c5b15e7ad803002976f022e25413bba0806b92597cd7c91fe"}, + {file = "brickschema-rdflib-sqlalchemy-0.6.0a8.tar.gz", hash = "sha256:9361a4a5fdf87ce801cc94490d4837903d5aa2bc5cc7763a75374e8d5253491c"}, + {file = "brickschema_rdflib_sqlalchemy-0.6.0a8-py3-none-any.whl", hash = "sha256:041972d6c9b6eee94ff7c2c6eba85641137c456431516d56e4d2b5095f1e03cd"}, ] [package.dependencies] @@ -169,7 +169,7 @@ pytest = ">=8.0.0" rdflib = ">=6,<8" setuptools = ">=69.0.3" six = ">=1.10.0" -sqlalchemy = ">=2.0" +SQLAlchemy = ">=2.0" tox = ">=4.12.1" [[package]] @@ -2664,4 +2664,4 @@ web = ["Flask"] [metadata] lock-version = "2.0" python-versions = "^3.9" -content-hash = "1635f58f3ac3d0beb43b5703aa2a86a954eaec6d70ec2fb7a58ea00d9fce485b" +content-hash = "1f6b4b55b62a6cc8b8d70204435f6947bb4cee4d96891aad3f5c6d3bb2355a2d" diff --git a/pyproject.toml b/pyproject.toml index 62bd4cd..597052d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,7 +31,7 @@ BAC0 = {optional = true, version = "^22.9"} networkx = {optional = true, version="^3.2"} alembic = {optional = true, version=">=0.8.8"} six = {optional = true, version=">=1.10.0"} -brickschema-rdflib-sqlalchemy = {optional = true, version="0.6.0a4"} +brickschema-rdflib-sqlalchemy = {optional = true, version="0.6.0a8"} [tool.poetry.group.dev.dependencies] flake8 = "^5.0" From 9aa37dcb259b7ffa7c4e7c89a6cd69702fd8f55e Mon Sep 17 00:00:00 2001 From: Gabe Fierro Date: Tue, 20 Feb 2024 12:42:48 -0700 Subject: [PATCH 12/16] bump deps --- poetry.lock | 104 ++++++++----------------------------------------- pyproject.toml | 2 +- 2 files changed, 17 insertions(+), 89 deletions(-) diff --git a/poetry.lock b/poetry.lock index 6ba88fb..c23b932 100644 --- a/poetry.lock +++ b/poetry.lock @@ -153,24 +153,20 @@ files = [ [[package]] name = "brickschema-rdflib-sqlalchemy" -version = "0.6.0a8" +version = "0.6.0a9" description = "rdflib extension adding SQLAlchemy as an AbstractSQLStore back-end store" optional = true -python-versions = ">=3.8" +python-versions = "*" files = [ - {file = "brickschema-rdflib-sqlalchemy-0.6.0a8.tar.gz", hash = "sha256:9361a4a5fdf87ce801cc94490d4837903d5aa2bc5cc7763a75374e8d5253491c"}, - {file = "brickschema_rdflib_sqlalchemy-0.6.0a8-py3-none-any.whl", hash = "sha256:041972d6c9b6eee94ff7c2c6eba85641137c456431516d56e4d2b5095f1e03cd"}, + {file = "brickschema-rdflib-sqlalchemy-0.6.0a9.tar.gz", hash = "sha256:92ff1705388ca017ce6ea7c30da0b6ff9e8883de3d1b669091e9a985c7d339cd"}, + {file = "brickschema_rdflib_sqlalchemy-0.6.0a9-py3-none-any.whl", hash = "sha256:ce862df45a422ec10a79a875190447a642d8a0aef8fdfc175d808a720fde268f"}, ] [package.dependencies] alembic = ">=0.8.8" -flake8 = ">=5.0.4" -pytest = ">=8.0.0" rdflib = ">=6,<8" -setuptools = ">=69.0.3" six = ">=1.10.0" -SQLAlchemy = ">=2.0" -tox = ">=4.12.1" +SQLAlchemy = ">=2.0.23" [[package]] name = "btrees" @@ -226,17 +222,6 @@ docs = ["Sphinx", "repoze.sphinx.autointerface", "sphinx_rtd_theme"] test = ["persistent (>=4.4.3)", "transaction", "zope.testrunner"] zodb = ["ZODB"] -[[package]] -name = "cachetools" -version = "5.3.2" -description = "Extensible memoizing collections and decorators" -optional = true -python-versions = ">=3.7" -files = [ - {file = "cachetools-5.3.2-py3-none-any.whl", hash = "sha256:861f35a13a451f94e301ce2bec7cac63e881232ccce7ed67fab9b5df4d3beaa1"}, - {file = "cachetools-5.3.2.tar.gz", hash = "sha256:086ee420196f7b2ab9ca2db2520aca326318b68fe5ba8bc4d49cca91add450f2"}, -] - [[package]] name = "categorical-distance" version = "1.9" @@ -338,17 +323,6 @@ files = [ {file = "cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560"}, ] -[[package]] -name = "chardet" -version = "5.2.0" -description = "Universal encoding detector for Python 3" -optional = true -python-versions = ">=3.7" -files = [ - {file = "chardet-5.2.0-py3-none-any.whl", hash = "sha256:e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970"}, - {file = "chardet-5.2.0.tar.gz", hash = "sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7"}, -] - [[package]] name = "charset-normalizer" version = "3.3.2" @@ -992,13 +966,13 @@ lxml = ["lxml"] [[package]] name = "identify" -version = "2.5.34" +version = "2.5.35" description = "File identification library for Python" optional = false python-versions = ">=3.8" files = [ - {file = "identify-2.5.34-py2.py3-none-any.whl", hash = "sha256:a4316013779e433d08b96e5eabb7f641e6c7942e4ab5d4c509ebd2e7a8994aed"}, - {file = "identify-2.5.34.tar.gz", hash = "sha256:ee17bc9d499899bc9eaec1ac7bf2dc9eedd480db9d88b96d123d3b64a9d34f5d"}, + {file = "identify-2.5.35-py2.py3-none-any.whl", hash = "sha256:c4de0081837b211594f8e877a6b4fad7ca32bbfc1a9307fdd61c28bfe923f13e"}, + {file = "identify-2.5.35.tar.gz", hash = "sha256:10a7ca245cfcd756a554a7288159f72ff105ad233c7c4b9c6f0f4d108f5f6791"}, ] [package.extras] @@ -1427,20 +1401,20 @@ virtualenv = ">=20.10.0" [[package]] name = "prettytable" -version = "3.9.0" +version = "3.10.0" description = "A simple Python library for easily displaying tabular data in a visually appealing ASCII table format" optional = false python-versions = ">=3.8" files = [ - {file = "prettytable-3.9.0-py3-none-any.whl", hash = "sha256:a71292ab7769a5de274b146b276ce938786f56c31cf7cea88b6f3775d82fe8c8"}, - {file = "prettytable-3.9.0.tar.gz", hash = "sha256:f4ed94803c23073a90620b201965e5dc0bccf1760b7a7eaf3158cab8aaffdf34"}, + {file = "prettytable-3.10.0-py3-none-any.whl", hash = "sha256:6536efaf0757fdaa7d22e78b3aac3b69ea1b7200538c2c6995d649365bddab92"}, + {file = "prettytable-3.10.0.tar.gz", hash = "sha256:9665594d137fb08a1117518c25551e0ede1687197cf353a4fdc78d27e1073568"}, ] [package.dependencies] wcwidth = "*" [package.extras] -tests = ["pytest", "pytest-cov", "pytest-lazy-fixture"] +tests = ["pytest", "pytest-cov", "pytest-lazy-fixtures"] [[package]] name = "psutil" @@ -1694,25 +1668,6 @@ files = [ [package.extras] diagrams = ["jinja2", "railroad-diagrams"] -[[package]] -name = "pyproject-api" -version = "1.6.1" -description = "API to interact with the python pyproject.toml based projects" -optional = true -python-versions = ">=3.8" -files = [ - {file = "pyproject_api-1.6.1-py3-none-any.whl", hash = "sha256:4c0116d60476b0786c88692cf4e325a9814965e2469c5998b830bba16b183675"}, - {file = "pyproject_api-1.6.1.tar.gz", hash = "sha256:1817dc018adc0d1ff9ca1ed8c60e1623d5aaca40814b953af14a9cf9a5cae538"}, -] - -[package.dependencies] -packaging = ">=23.1" -tomli = {version = ">=2.0.1", markers = "python_version < \"3.11\""} - -[package.extras] -docs = ["furo (>=2023.8.19)", "sphinx (<7.2)", "sphinx-autodoc-typehints (>=1.24)"] -testing = ["covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)", "setuptools (>=68.1.2)", "wheel (>=0.41.2)"] - [[package]] name = "pyshacl" version = "0.25.0" @@ -2360,33 +2315,6 @@ files = [ {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, ] -[[package]] -name = "tox" -version = "4.13.0" -description = "tox is a generic virtualenv management and test command line tool" -optional = true -python-versions = ">=3.8" -files = [ - {file = "tox-4.13.0-py3-none-any.whl", hash = "sha256:1143c7e2489c68026a55d3d4ae84c02c449f073b28e62f80e3e440a3b72a4afa"}, - {file = "tox-4.13.0.tar.gz", hash = "sha256:dd789a554c16c4b532924ba393c92fc8991323c4b3d466712bfecc8c9b9f24f7"}, -] - -[package.dependencies] -cachetools = ">=5.3.2" -chardet = ">=5.2" -colorama = ">=0.4.6" -filelock = ">=3.13.1" -packaging = ">=23.2" -platformdirs = ">=4.1" -pluggy = ">=1.3" -pyproject-api = ">=1.6.1" -tomli = {version = ">=2.0.1", markers = "python_version < \"3.11\""} -virtualenv = ">=20.25" - -[package.extras] -docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-argparse-cli (>=1.11.1)", "sphinx-autodoc-typehints (>=1.25.2)", "sphinx-copybutton (>=0.5.2)", "sphinx-inline-tabs (>=2023.4.21)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.11)"] -testing = ["build[virtualenv] (>=1.0.3)", "covdefaults (>=2.3)", "detect-test-pollution (>=1.2)", "devpi-process (>=1)", "diff-cover (>=8.0.2)", "distlib (>=0.3.8)", "flaky (>=3.7)", "hatch-vcs (>=0.4)", "hatchling (>=1.21)", "psutil (>=5.9.7)", "pytest (>=7.4.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-xdist (>=3.5)", "re-assert (>=1.1)", "time-machine (>=2.13)", "wheel (>=0.42)"] - [[package]] name = "tqdm" version = "4.66.2" @@ -2440,13 +2368,13 @@ files = [ [[package]] name = "urllib3" -version = "2.2.0" +version = "2.2.1" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=3.8" files = [ - {file = "urllib3-2.2.0-py3-none-any.whl", hash = "sha256:ce3711610ddce217e6d113a2732fafad960a03fd0318c91faa79481e35c11224"}, - {file = "urllib3-2.2.0.tar.gz", hash = "sha256:051d961ad0c62a94e50ecf1af379c3aba230c66c710493493560c0c223c49f20"}, + {file = "urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d"}, + {file = "urllib3-2.2.1.tar.gz", hash = "sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19"}, ] [package.extras] @@ -2664,4 +2592,4 @@ web = ["Flask"] [metadata] lock-version = "2.0" python-versions = "^3.9" -content-hash = "1f6b4b55b62a6cc8b8d70204435f6947bb4cee4d96891aad3f5c6d3bb2355a2d" +content-hash = "abe61d7c3dbb88ce87624342e1c5aa035d4216c57887734a462131570137fc4a" diff --git a/pyproject.toml b/pyproject.toml index 597052d..256181a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,7 +31,7 @@ BAC0 = {optional = true, version = "^22.9"} networkx = {optional = true, version="^3.2"} alembic = {optional = true, version=">=0.8.8"} six = {optional = true, version=">=1.10.0"} -brickschema-rdflib-sqlalchemy = {optional = true, version="0.6.0a8"} +brickschema-rdflib-sqlalchemy = {optional = true, version="0.6.0a9"} [tool.poetry.group.dev.dependencies] flake8 = "^5.0" From 159ea72d2ce2f02ee1fb2a1e381ecdb4ee3e0f71 Mon Sep 17 00:00:00 2001 From: Gabe Fierro Date: Tue, 20 Feb 2024 18:52:06 -0700 Subject: [PATCH 13/16] Refactored graph name handling to use URIRef. --- brickschema/persistent.py | 59 +++++++++++++++++++++++++++++---------- 1 file changed, 45 insertions(+), 14 deletions(-) diff --git a/brickschema/persistent.py b/brickschema/persistent.py index ad690b0..38d2f16 100644 --- a/brickschema/persistent.py +++ b/brickschema/persistent.py @@ -6,7 +6,7 @@ from contextlib import contextmanager from rdflib import ConjunctiveGraph from rdflib.graph import BatchAddGraph -from rdflib import plugin +from rdflib import plugin, URIRef from rdflib.store import Store from rdflib_sqlalchemy import registerplugins from sqlalchemy import text, Row @@ -55,7 +55,7 @@ def __init__(self, uri: str, *args, **kwargs): class Changeset(Graph): def __init__(self, graph_name): super().__init__() - self.name = graph_name + self.name = URIRef(graph_name) self.uid = uuid.uuid4() self.additions = [] self.deletions = [] @@ -87,7 +87,7 @@ def __init__(self, uri: str, *args, **kwargs): """ To create an in-memory store, use uri="sqlite://" """ - store = plugin.get("SQLAlchemy", Store)(identifier="my_store") + store = plugin.get("SQLAlchemy", Store)(identifier=URIRef("my_store")) super().__init__(store, *args, **kwargs) self.open(uri, create=True) self._precommit_hooks = OrderedDict() @@ -127,7 +127,10 @@ def __len__(self): # need to override __len__ because the rdflib-sqlalchemy # backend doesn't support .count() for recent versions of # SQLAlchemy - return len(list(self.triples((None, None, None)))) + total = 0 + for c in self.contexts(): + total += len(c) + return total def undo(self): """ @@ -204,7 +207,11 @@ def conn(self): @contextmanager def new_changeset(self, graph_name, ts=None): + if not isinstance(graph_name, URIRef): + graph_name = URIRef(graph_name) namespaces = [] + buffered_adds = [] + buffered_removes = [] with self.conn() as conn: transaction_start = time.time() cs = Changeset(graph_name) @@ -220,30 +227,34 @@ def new_changeset(self, graph_name, ts=None): text("INSERT INTO changesets VALUES (:uid, :ts, :graph, :deletion, :triple)").bindparams( uid=str(cs.uid), ts=ts, - graph=graph_name, + graph=str(graph_name), deletion=True, triple=pickle.dumps(triple), ) ) - graph = self.get_context(graph_name) for triple in cs.deletions: - graph.remove(triple) + buffered_removes.append(triple) + #graph = self.get_context(graph_name) + #for triple in cs.deletions: + # graph.remove(triple) if cs.additions: for triple in cs.additions: conn.execute( text("INSERT INTO changesets VALUES (:uid, :ts, :graph, :deletion, :triple)").bindparams( uid=str(cs.uid), ts=ts, - graph=graph_name, + graph=str(graph_name), deletion=False, triple=pickle.dumps(triple), ) ) - with BatchAddGraph( - self.get_context(graph_name), batch_size=10000 - ) as graph: - for triple in cs.additions: - graph.add(triple) + for triple in cs.additions: + buffered_adds.append(triple) + # with BatchAddGraph( + # self.get_context(graph_name), batch_size=10000 + # ) as graph: + # for triple in cs.additions: + # graph.add(triple) # take care of precommit hooks transaction_end = time.time() @@ -259,12 +270,26 @@ def new_changeset(self, graph_name, ts=None): logging.info( f"Committing after {transaction_end - transaction_start} seconds" ) + # add the buffered changes to the graph + print([(type(c.identifier), c.identifier) for c in self.contexts()]) + graph = self.get_context(graph_name) + for triple in buffered_removes: + print(f"Removing {triple}") + graph.remove(triple) + with BatchAddGraph(graph, batch_size=10000) as graph: + for triple in buffered_adds: + print(f"Adding {triple}") + graph.add(triple) + print(f"Self graph has {len(self)} triples") + # loop through all of the contexts and print length # update namespaces for pfx, ns in namespaces: self.bind(pfx, ns) for hook in self._postcommit_hooks.values(): hook(self) self._latest_version = ts + for c in self.contexts(): + print(f"{c.identifier} has {len(c)} triples") def latest(self, graph): return self.get_context(graph) @@ -280,6 +305,7 @@ def graph_at(self, timestamp=None, graph=None): for t in self.get_context(graph).triples((None, None, None)): g.add(t) else: + # TODO: this doesn't work for some reason for t in self.triples((None, None, None)): g.add(t) with self.conn() as conn: @@ -295,7 +321,9 @@ def _graph_at(self, alter_graph, conn, timestamp=None, graph=None): if isinstance(timestamp, (dict, Row)): timestamp = timestamp["timestamp"] - print(f"Getting graph at {timestamp}", type(timestamp)) + print(f"Getting graph {graph} ({type(graph)}) at {timestamp}", type(timestamp)) + # print # of rows in changesets + print(f"Changesets has {len(list(conn.execute(text('SELECT * FROM changesets'))))} rows") if graph is not None: rows = conn.execute( text("SELECT * FROM changesets WHERE graph = :g AND timestamp > :ts ORDER BY timestamp DESC").bindparams( @@ -309,9 +337,12 @@ def _graph_at(self, alter_graph, conn, timestamp=None, graph=None): ) ) for row in rows.mappings(): + print(f"Row: {row}") triple = pickle.loads(row["triple"]) if row["is_insertion"]: + print(f"Adding {triple}") alter_graph.add((triple[0], triple[1], triple[2])) else: + print(f"Removing {triple}") alter_graph.remove((triple[0], triple[1], triple[2])) return alter_graph From b616915f07253d4b92f19d82aeb6834867ea65e2 Mon Sep 17 00:00:00 2001 From: Gabe Fierro Date: Tue, 20 Feb 2024 18:52:07 -0700 Subject: [PATCH 14/16] aider: Override the `triples` method in `PersistentGraph` to query across all contexts if no specific context is provided. # Aider chat conversation: USER: add `brickschema/persistent.py` ASSISTANT: It looks like you've added `brickschema/persistent.py` to our workspace for potential modifications. How can I assist you with this file? USER: Please help me debug my code. I can insert triples into the `PersistentGraph`, but when I try to loop through the triples like `self.triples((None, NOne, None))`, nothing is returned. ASSISTANT: It seems like the issue might be related to how the triples are being inserted and then queried. Given the description of the problem, it's possible that the triples are being inserted into a specific graph context within the `PersistentGraph`, but when querying with `self.triples((None, None, None))`, it's attempting to query the default graph context which might not contain any triples. To address this, we need to ensure that when querying for triples, we're querying across all graph contexts if that's the intended behavior. This can be achieved by modifying the `__len__` and `triples` methods to correctly handle querying across all contexts in the `PersistentGraph` class. Here's a proposed change to ensure that the `triples` method queries across all contexts: ```diff --- brickschema/persistent.py +++ brickschema/persistent.py @@ ... @@ class PersistentGraph(Graph): + def triples(self, triple_pattern, context=None): + """ + Override the triples method to query across all contexts if no specific context is provided. + """ + if context is None: + # Query across all contexts + return super().triples(triple_pattern, context=self) + else: + # Query within the specified context + return super().triples(triple_pattern, context=context) ``` This change adds an override for the `triples` method in the `PersistentGraph` class. When no specific context is provided, it queries across all contexts by passing `self` as the context to the parent method. This ensures that when you call `self.triples((None, None, None))`, it will return triples from all contexts within the `PersistentGraph`. Please note, this is a general approach and might need adjustments based on the specific structure and requirements of your application. If your application relies on querying specific contexts, ensure that the context is correctly specified when calling the `triples` method. --- brickschema/persistent.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/brickschema/persistent.py b/brickschema/persistent.py index 38d2f16..b339bcc 100644 --- a/brickschema/persistent.py +++ b/brickschema/persistent.py @@ -37,6 +37,16 @@ class PersistentGraph(Graph): + def triples(self, triple_pattern, context=None): + """ + Override the triples method to query across all contexts if no specific context is provided. + """ + if context is None: + # Query across all contexts + return super().triples(triple_pattern, context=self) + else: + # Query within the specified context + return super().triples(triple_pattern, context=context) def __init__(self, uri: str, *args, **kwargs): store = plugin.get("SQLAlchemy", Store)( identifier="brickschema_persistent_graph" From 65c21ee01ad28180c2a1b6711be6040187ee7903 Mon Sep 17 00:00:00 2001 From: Gabe Fierro Date: Wed, 21 Feb 2024 00:31:05 -0700 Subject: [PATCH 15/16] try new version of dependency --- brickschema/persistent.py | 15 +-------------- poetry.lock | 8 ++++---- pyproject.toml | 2 +- 3 files changed, 6 insertions(+), 19 deletions(-) diff --git a/brickschema/persistent.py b/brickschema/persistent.py index b339bcc..bb0f160 100644 --- a/brickschema/persistent.py +++ b/brickschema/persistent.py @@ -37,16 +37,6 @@ class PersistentGraph(Graph): - def triples(self, triple_pattern, context=None): - """ - Override the triples method to query across all contexts if no specific context is provided. - """ - if context is None: - # Query across all contexts - return super().triples(triple_pattern, context=self) - else: - # Query within the specified context - return super().triples(triple_pattern, context=context) def __init__(self, uri: str, *args, **kwargs): store = plugin.get("SQLAlchemy", Store)( identifier="brickschema_persistent_graph" @@ -137,10 +127,7 @@ def __len__(self): # need to override __len__ because the rdflib-sqlalchemy # backend doesn't support .count() for recent versions of # SQLAlchemy - total = 0 - for c in self.contexts(): - total += len(c) - return total + return len(list(self.triples((None, None, None)))) def undo(self): """ diff --git a/poetry.lock b/poetry.lock index c23b932..eaa8eba 100644 --- a/poetry.lock +++ b/poetry.lock @@ -153,13 +153,13 @@ files = [ [[package]] name = "brickschema-rdflib-sqlalchemy" -version = "0.6.0a9" +version = "0.6.0a14" description = "rdflib extension adding SQLAlchemy as an AbstractSQLStore back-end store" optional = true python-versions = "*" files = [ - {file = "brickschema-rdflib-sqlalchemy-0.6.0a9.tar.gz", hash = "sha256:92ff1705388ca017ce6ea7c30da0b6ff9e8883de3d1b669091e9a985c7d339cd"}, - {file = "brickschema_rdflib_sqlalchemy-0.6.0a9-py3-none-any.whl", hash = "sha256:ce862df45a422ec10a79a875190447a642d8a0aef8fdfc175d808a720fde268f"}, + {file = "brickschema-rdflib-sqlalchemy-0.6.0a14.tar.gz", hash = "sha256:1602a784bf8e5401ea4daf981af2414a43c797d0c4857e6bace1f706182b97c8"}, + {file = "brickschema_rdflib_sqlalchemy-0.6.0a14-py3-none-any.whl", hash = "sha256:134bdf239fd0f959376ca29af307c8aad51ce2aba968e8f89d86ef984bb2d5ea"}, ] [package.dependencies] @@ -2592,4 +2592,4 @@ web = ["Flask"] [metadata] lock-version = "2.0" python-versions = "^3.9" -content-hash = "abe61d7c3dbb88ce87624342e1c5aa035d4216c57887734a462131570137fc4a" +content-hash = "ee4068785959362671b9b67f79f51fb0846d7c0eb2f5067198d6f800c7ecb2dc" diff --git a/pyproject.toml b/pyproject.toml index 256181a..c3a6e85 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,7 +31,7 @@ BAC0 = {optional = true, version = "^22.9"} networkx = {optional = true, version="^3.2"} alembic = {optional = true, version=">=0.8.8"} six = {optional = true, version=">=1.10.0"} -brickschema-rdflib-sqlalchemy = {optional = true, version="0.6.0a9"} +brickschema-rdflib-sqlalchemy = {optional = true, version="0.6.0a14"} [tool.poetry.group.dev.dependencies] flake8 = "^5.0" From 7b5cf906f3790c2318d4a0f249b7f86d48e8cd4a Mon Sep 17 00:00:00 2001 From: Gabe Fierro Date: Wed, 21 Feb 2024 08:49:40 -0700 Subject: [PATCH 16/16] bump rdflib dep, version --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index c3a6e85..99e0681 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "brickschema" -version = "0.7.4a12" +version = "0.7.4" description = "A library for working with the Brick ontology for buildings (brickschema.org)" authors = ["Gabe Fierro "] include = ["brickschema/ontologies", "tests/data", "brickschema/web", "brickschema/topquadrant_shacl"] @@ -31,7 +31,7 @@ BAC0 = {optional = true, version = "^22.9"} networkx = {optional = true, version="^3.2"} alembic = {optional = true, version=">=0.8.8"} six = {optional = true, version=">=1.10.0"} -brickschema-rdflib-sqlalchemy = {optional = true, version="0.6.0a14"} +brickschema-rdflib-sqlalchemy = {optional = true, version="0.6.0"} [tool.poetry.group.dev.dependencies] flake8 = "^5.0"