This is an automated email from the ASF dual-hosted git repository.
fokko pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-python.git
The following commit(s) were added to refs/heads/main by this push:
new 46d668b Add install extra for sqlite (#297)
46d668b is described below
commit 46d668b403ce94e38e63a44bd56d6f2419cf3d6d
Author: Kevin Liu <[email protected]>
AuthorDate: Tue Jan 23 13:43:44 2024 -0800
Add install extra for sqlite (#297)
* add sql-sqlite
* make lint
* poetry lock --no-update
---
Makefile | 2 +-
poetry.lock | 172 ++++++++++++++++++++++++++++++++++++++++--
pyiceberg/catalog/__init__.py | 4 +-
pyproject.toml | 1 +
tests/catalog/test_sql.py | 2 +-
5 files changed, 171 insertions(+), 10 deletions(-)
diff --git a/Makefile b/Makefile
index 04c57b3..4226614 100644
--- a/Makefile
+++ b/Makefile
@@ -19,7 +19,7 @@ install-poetry:
pip install poetry==1.7.1
install-dependencies:
- poetry install -E pyarrow -E hive -E s3fs -E glue -E adlfs -E duckdb -E
ray -E sql-postgres -E gcsfs
+ poetry install -E pyarrow -E hive -E s3fs -E glue -E adlfs -E duckdb -E
ray -E sql-postgres -E gcsfs -E sql-sqlite
install: | install-poetry install-dependencies
diff --git a/poetry.lock b/poetry.lock
index d905245..7d166db 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -1,9 +1,10 @@
-# This file is automatically @generated by Poetry 1.7.1 and should not be
changed by hand.
+# This file is automatically @generated by Poetry 1.4.2 and should not be
changed by hand.
[[package]]
name = "adlfs"
version = "2023.10.0"
description = "Access Azure Datalake Gen1 with fsspec and dask"
+category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -26,6 +27,7 @@ docs = ["furo", "myst-parser", "numpydoc", "sphinx"]
name = "aiobotocore"
version = "2.5.4"
description = "Async client for aws services using botocore and aiohttp"
+category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -47,6 +49,7 @@ boto3 = ["boto3 (>=1.28.17,<1.28.18)"]
name = "aiohttp"
version = "3.9.0"
description = "Async http client/server framework (asyncio)"
+category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -143,6 +146,7 @@ speedups = ["Brotli", "aiodns", "brotlicffi"]
name = "aioitertools"
version = "0.11.0"
description = "itertools and builtins for AsyncIO and mixed iterables"
+category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -157,6 +161,7 @@ typing_extensions = {version = ">=4.0", markers =
"python_version < \"3.10\""}
name = "aiosignal"
version = "1.3.1"
description = "aiosignal: a list of registered asynchronous callbacks"
+category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -171,6 +176,7 @@ frozenlist = ">=1.1.0"
name = "annotated-types"
version = "0.5.0"
description = "Reusable constraint types to use with typing.Annotated"
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -185,6 +191,7 @@ typing-extensions = {version = ">=4.0.0", markers =
"python_version < \"3.9\""}
name = "async-timeout"
version = "4.0.3"
description = "Timeout context manager for asyncio programs"
+category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -196,6 +203,7 @@ files = [
name = "attrs"
version = "23.1.0"
description = "Classes Without Boilerplate"
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -214,6 +222,7 @@ tests-no-zope = ["cloudpickle", "hypothesis", "mypy
(>=1.1.1)", "pympler", "pyte
name = "aws-sam-translator"
version = "1.82.0"
description = "AWS SAM Translator is a library that transform SAM templates
into AWS CloudFormation templates"
+category = "dev"
optional = false
python-versions = ">=3.7, <=4.0, !=4.0"
files = [
@@ -222,18 +231,19 @@ files = [
]
[package.dependencies]
-boto3 = ">=1.19.5,<2.dev0"
+boto3 = ">=1.19.5,<2.0.0"
jsonschema = ">=3.2,<5"
pydantic = ">=1.8,<3"
typing-extensions = ">=4.4,<5"
[package.extras]
-dev = ["black (==23.3.0)", "boto3 (>=1.23,<2)",
"boto3-stubs[appconfig,serverlessrepo] (>=1.19.5,<2.dev0)", "coverage
(>=5.3,<8)", "dateparser (>=1.1,<2.0)", "importlib-metadata", "mypy
(>=1.3.0,<1.4.0)", "parameterized (>=0.7,<1.0)", "pytest (>=6.2,<8)",
"pytest-cov (>=2.10,<5)", "pytest-env (>=0.6,<1)", "pytest-rerunfailures
(>=9.1,<12)", "pytest-xdist (>=2.5,<4)", "pyyaml (>=6.0,<7.0)", "requests
(>=2.28,<3.0)", "ruamel.yaml (==0.17.21)", "ruff (==0.0.284)", "tenacity
(>=8.0,<9.0)", " [...]
+dev = ["black (==23.3.0)", "boto3 (>=1.23,<2)",
"boto3-stubs[appconfig,serverlessrepo] (>=1.19.5,<2.0.0)", "coverage
(>=5.3,<8)", "dateparser (>=1.1,<2.0)", "importlib-metadata", "mypy
(>=1.3.0,<1.4.0)", "parameterized (>=0.7,<1.0)", "pytest (>=6.2,<8)",
"pytest-cov (>=2.10,<5)", "pytest-env (>=0.6,<1)", "pytest-rerunfailures
(>=9.1,<12)", "pytest-xdist (>=2.5,<4)", "pyyaml (>=6.0,<7.0)", "requests
(>=2.28,<3.0)", "ruamel.yaml (==0.17.21)", "ruff (==0.0.284)", "tenacity
(>=8.0,<9.0)", "t [...]
[[package]]
name = "aws-xray-sdk"
version = "2.12.1"
description = "The AWS X-Ray SDK for Python (the SDK) enables Python
developers to record and emit information from within their applications to the
AWS X-Ray service."
+category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -249,6 +259,7 @@ wrapt = "*"
name = "azure-core"
version = "1.29.4"
description = "Microsoft Azure Core Library for Python"
+category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -268,6 +279,7 @@ aio = ["aiohttp (>=3.0)"]
name = "azure-datalake-store"
version = "0.0.53"
description = "Azure Data Lake Store Filesystem Client Library for Python"
+category = "main"
optional = true
python-versions = "*"
files = [
@@ -284,6 +296,7 @@ requests = ">=2.20.0"
name = "azure-identity"
version = "1.14.0"
description = "Microsoft Azure Identity Library for Python"
+category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -301,6 +314,7 @@ msal-extensions = ">=0.3.0,<2.0.0"
name = "azure-storage-blob"
version = "12.18.1"
description = "Microsoft Azure Blob Storage Client Library for Python"
+category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -321,6 +335,7 @@ aio = ["azure-core[aio] (>=1.28.0,<2.0.0)"]
name = "blinker"
version = "1.7.0"
description = "Fast, simple object-to-object and broadcast signaling"
+category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -332,6 +347,7 @@ files = [
name = "boto3"
version = "1.28.17"
description = "The AWS SDK for Python"
+category = "main"
optional = false
python-versions = ">= 3.7"
files = [
@@ -351,6 +367,7 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"]
name = "botocore"
version = "1.31.17"
description = "Low-level, data-driven core of boto 3."
+category = "main"
optional = false
python-versions = ">= 3.7"
files = [
@@ -370,6 +387,7 @@ crt = ["awscrt (==0.16.26)"]
name = "build"
version = "1.0.3"
description = "A simple, correct Python build frontend"
+category = "dev"
optional = false
python-versions = ">= 3.7"
files = [
@@ -394,6 +412,7 @@ virtualenv = ["virtualenv (>=20.0.35)"]
name = "cachetools"
version = "5.3.1"
description = "Extensible memoizing collections and decorators"
+category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -405,6 +424,7 @@ files = [
name = "certifi"
version = "2023.7.22"
description = "Python package for providing Mozilla's CA Bundle."
+category = "main"
optional = false
python-versions = ">=3.6"
files = [
@@ -416,6 +436,7 @@ files = [
name = "cffi"
version = "1.15.1"
description = "Foreign Function Interface for Python calling C code."
+category = "main"
optional = false
python-versions = "*"
files = [
@@ -492,6 +513,7 @@ pycparser = "*"
name = "cfgv"
version = "3.4.0"
description = "Validate configuration and produce human readable error
messages."
+category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -503,6 +525,7 @@ files = [
name = "cfn-lint"
version = "0.83.6"
description = "Checks CloudFormation templates for practices and behaviour
that could potentially be improved"
+category = "dev"
optional = false
python-versions = ">=3.7, <=4.0, !=4.0"
files = [
@@ -526,6 +549,7 @@ sympy = ">=1.0.0"
name = "charset-normalizer"
version = "3.2.0"
description = "The Real First Universal Charset Detector. Open, modern and
actively maintained alternative to Chardet."
+category = "main"
optional = false
python-versions = ">=3.7.0"
files = [
@@ -610,6 +634,7 @@ files = [
name = "click"
version = "8.1.7"
description = "Composable command line interface toolkit"
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -624,6 +649,7 @@ colorama = {version = "*", markers = "platform_system ==
\"Windows\""}
name = "colorama"
version = "0.4.6"
description = "Cross-platform colored terminal text."
+category = "main"
optional = false
python-versions =
"!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
files = [
@@ -635,6 +661,7 @@ files = [
name = "coverage"
version = "7.4.0"
description = "Code coverage measurement for Python"
+category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -702,6 +729,7 @@ toml = ["tomli"]
name = "cryptography"
version = "41.0.6"
description = "cryptography is a package which provides cryptographic recipes
and primitives to Python developers."
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -747,6 +775,7 @@ test-randomorder = ["pytest-randomly"]
name = "cython"
version = "3.0.8"
description = "The Cython compiler for writing C extensions in the Python
language."
+category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
@@ -814,6 +843,7 @@ files = [
name = "decorator"
version = "5.1.1"
description = "Decorators for Humans"
+category = "main"
optional = true
python-versions = ">=3.5"
files = [
@@ -825,6 +855,7 @@ files = [
name = "distlib"
version = "0.3.7"
description = "Distribution utilities"
+category = "dev"
optional = false
python-versions = "*"
files = [
@@ -836,6 +867,7 @@ files = [
name = "docker"
version = "7.0.0"
description = "A Python library for the Docker Engine API."
+category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -857,6 +889,7 @@ websockets = ["websocket-client (>=1.3.0)"]
name = "docutils"
version = "0.20.1"
description = "Docutils -- Python Documentation Utilities"
+category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -868,6 +901,7 @@ files = [
name = "duckdb"
version = "0.9.2"
description = "DuckDB embedded database"
+category = "main"
optional = true
python-versions = ">=3.7.0"
files = [
@@ -916,6 +950,7 @@ files = [
name = "ecdsa"
version = "0.18.0"
description = "ECDSA cryptographic signature library (pure python)"
+category = "dev"
optional = false
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
files = [
@@ -934,6 +969,7 @@ gmpy2 = ["gmpy2"]
name = "exceptiongroup"
version = "1.1.3"
description = "Backport of PEP 654 (exception groups)"
+category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -948,6 +984,7 @@ test = ["pytest (>=6)"]
name = "fastavro"
version = "1.9.3"
description = "Fast read/write of AVRO files"
+category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -994,6 +1031,7 @@ zstandard = ["zstandard"]
name = "filelock"
version = "3.12.4"
description = "A platform independent file lock."
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -1010,6 +1048,7 @@ typing = ["typing-extensions (>=4.7.1)"]
name = "flask"
version = "3.0.0"
description = "A simple framework for building complex web applications."
+category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -1033,6 +1072,7 @@ dotenv = ["python-dotenv"]
name = "flask-cors"
version = "4.0.0"
description = "A Flask extension adding a decorator for CORS support"
+category = "dev"
optional = false
python-versions = "*"
files = [
@@ -1047,6 +1087,7 @@ Flask = ">=0.9"
name = "frozenlist"
version = "1.4.0"
description = "A list-like structure which implements
collections.abc.MutableSequence"
+category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -1117,6 +1158,7 @@ files = [
name = "fsspec"
version = "2023.9.1"
description = "File-system specification"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -1152,6 +1194,7 @@ tqdm = ["tqdm"]
name = "gcsfs"
version = "2023.9.1"
description = "Convenient Filesystem interface over GCS"
+category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -1176,6 +1219,7 @@ gcsfuse = ["fusepy"]
name = "google-api-core"
version = "2.11.1"
description = "Google API client core library"
+category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -1198,6 +1242,7 @@ grpcio-gcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"]
name = "google-auth"
version = "2.23.0"
description = "Google Authentication Library"
+category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -1222,6 +1267,7 @@ requests = ["requests (>=2.20.0,<3.0.0.dev0)"]
name = "google-auth-oauthlib"
version = "1.1.0"
description = "Google Authentication Library"
+category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -1240,6 +1286,7 @@ tool = ["click (>=6.0.0)"]
name = "google-cloud-core"
version = "2.3.3"
description = "Google Cloud API client core library"
+category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -1248,7 +1295,7 @@ files = [
]
[package.dependencies]
-google-api-core = ">=1.31.6,<2.0.dev0 || >2.3.0,<3.0.0dev"
+google-api-core = ">=1.31.6,<2.0.0 || >2.3.0,<3.0.0dev"
google-auth = ">=1.25.0,<3.0dev"
[package.extras]
@@ -1258,6 +1305,7 @@ grpc = ["grpcio (>=1.38.0,<2.0dev)"]
name = "google-cloud-storage"
version = "2.11.0"
description = "Google Cloud Storage API client library"
+category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -1266,7 +1314,7 @@ files = [
]
[package.dependencies]
-google-api-core = ">=1.31.5,<2.0.dev0 || >2.3.0,<3.0.0dev"
+google-api-core = ">=1.31.5,<2.0.0 || >2.3.0,<3.0.0dev"
google-auth = ">=1.25.0,<3.0dev"
google-cloud-core = ">=2.3.0,<3.0dev"
google-resumable-media = ">=2.6.0"
@@ -1279,6 +1327,7 @@ protobuf = ["protobuf (<5.0.0dev)"]
name = "google-crc32c"
version = "1.5.0"
description = "A python wrapper of the C library 'Google CRC32C'"
+category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -1359,6 +1408,7 @@ testing = ["pytest"]
name = "google-resumable-media"
version = "2.6.0"
description = "Utilities for Google Media Downloads and Resumable Uploads"
+category = "main"
optional = true
python-versions = ">= 3.7"
files = [
@@ -1377,6 +1427,7 @@ requests = ["requests (>=2.18.0,<3.0.0dev)"]
name = "googleapis-common-protos"
version = "1.60.0"
description = "Common protobufs used in Google APIs"
+category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -1394,6 +1445,7 @@ grpc = ["grpcio (>=1.44.0,<2.0.0.dev0)"]
name = "graphql-core"
version = "3.2.3"
description = "GraphQL implementation for Python, a port of GraphQL.js, the
JavaScript reference implementation for GraphQL."
+category = "dev"
optional = false
python-versions = ">=3.6,<4"
files = [
@@ -1405,6 +1457,7 @@ files = [
name = "greenlet"
version = "2.0.2"
description = "Lightweight in-process concurrent programming"
+category = "main"
optional = true
python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*"
files = [
@@ -1482,6 +1535,7 @@ test = ["objgraph", "psutil"]
name = "identify"
version = "2.5.29"
description = "File identification library for Python"
+category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -1496,6 +1550,7 @@ license = ["ukkonen"]
name = "idna"
version = "3.4"
description = "Internationalized Domain Names in Applications (IDNA)"
+category = "main"
optional = false
python-versions = ">=3.5"
files = [
@@ -1507,6 +1562,7 @@ files = [
name = "importlib-metadata"
version = "6.8.0"
description = "Read metadata from Python packages"
+category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -1526,6 +1582,7 @@ testing = ["flufl.flake8", "importlib-resources (>=1.3)",
"packaging", "pyfakefs
name = "importlib-resources"
version = "6.1.0"
description = "Read resources from Python packages"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -1544,6 +1601,7 @@ testing = ["pytest (>=6)", "pytest-black (>=0.3.7)",
"pytest-checkdocs (>=2.4)",
name = "iniconfig"
version = "2.0.0"
description = "brain-dead simple config-ini parsing"
+category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -1555,6 +1613,7 @@ files = [
name = "isodate"
version = "0.6.1"
description = "An ISO 8601 date/time/duration parser and formatter"
+category = "main"
optional = true
python-versions = "*"
files = [
@@ -1569,6 +1628,7 @@ six = "*"
name = "itsdangerous"
version = "2.1.2"
description = "Safely pass data to untrusted environments and back."
+category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -1580,6 +1640,7 @@ files = [
name = "jinja2"
version = "3.1.2"
description = "A very fast and expressive template engine."
+category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -1597,6 +1658,7 @@ i18n = ["Babel (>=2.7)"]
name = "jmespath"
version = "1.0.1"
description = "JSON Matching Expressions"
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -1608,6 +1670,7 @@ files = [
name = "jschema-to-python"
version = "1.2.3"
description = "Generate source code for Python classes from a JSON schema."
+category = "dev"
optional = false
python-versions = ">= 2.7"
files = [
@@ -1624,6 +1687,7 @@ pbr = "*"
name = "jsondiff"
version = "2.0.0"
description = "Diff JSON and JSON-like structures in Python"
+category = "dev"
optional = false
python-versions = "*"
files = [
@@ -1635,6 +1699,7 @@ files = [
name = "jsonpatch"
version = "1.33"
description = "Apply JSON-Patches (RFC 6902)"
+category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*,
!=3.5.*, !=3.6.*"
files = [
@@ -1649,6 +1714,7 @@ jsonpointer = ">=1.9"
name = "jsonpickle"
version = "3.0.2"
description = "Python library for serializing any arbitrary object graph into
JSON"
+category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -1665,6 +1731,7 @@ testing-libs = ["simplejson", "ujson"]
name = "jsonpointer"
version = "2.4"
description = "Identify specific nodes in a JSON document (RFC 6901)"
+category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*,
!=3.5.*, !=3.6.*"
files = [
@@ -1676,6 +1743,7 @@ files = [
name = "jsonschema"
version = "4.19.1"
description = "An implementation of JSON Schema validation for Python"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -1699,6 +1767,7 @@ format-nongpl = ["fqdn", "idna", "isoduration",
"jsonpointer (>1.13)", "rfc3339-
name = "jsonschema-path"
version = "0.3.2"
description = "JSONSchema Spec with object-oriented paths"
+category = "dev"
optional = false
python-versions = ">=3.8.0,<4.0.0"
files = [
@@ -1716,6 +1785,7 @@ requests = ">=2.31.0,<3.0.0"
name = "jsonschema-specifications"
version = "2023.7.1"
description = "The JSON Schema meta-schemas and vocabularies, exposed as a
Registry"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -1731,6 +1801,7 @@ referencing = ">=0.28.0"
name = "junit-xml"
version = "1.9"
description = "Creates JUnit XML test result documents that can be read by
tools such as Jenkins"
+category = "dev"
optional = false
python-versions = "*"
files = [
@@ -1745,6 +1816,7 @@ six = "*"
name = "lazy-object-proxy"
version = "1.10.0"
description = "A fast and thorough lazy object proxy."
+category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -1791,6 +1863,7 @@ files = [
name = "markdown-it-py"
version = "3.0.0"
description = "Python port of markdown-it. Markdown parsing, done right!"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -1815,6 +1888,7 @@ testing = ["coverage", "pytest", "pytest-cov",
"pytest-regressions"]
name = "markupsafe"
version = "2.1.3"
description = "Safely add untrusted strings to HTML/XML markup."
+category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -1884,6 +1958,7 @@ files = [
name = "mdurl"
version = "0.1.2"
description = "Markdown URL utilities"
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -1895,6 +1970,7 @@ files = [
name = "mmhash3"
version = "3.0.1"
description = "Python wrapper for MurmurHash (MurmurHash3), a set of fast and
robust hash functions."
+category = "main"
optional = false
python-versions = "*"
files = [
@@ -1938,6 +2014,7 @@ files = [
name = "moto"
version = "4.2.13"
description = ""
+category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -2002,6 +2079,7 @@ xray = ["aws-xray-sdk (>=0.93,!=0.96)", "setuptools"]
name = "mpmath"
version = "1.3.0"
description = "Python library for arbitrary-precision floating-point
arithmetic"
+category = "dev"
optional = false
python-versions = "*"
files = [
@@ -2019,6 +2097,7 @@ tests = ["pytest (>=4.6)"]
name = "msal"
version = "1.24.0"
description = "The Microsoft Authentication Library (MSAL) for Python library"
+category = "main"
optional = true
python-versions = ">=2.7"
files = [
@@ -2038,6 +2117,7 @@ broker = ["pymsalruntime (>=0.13.2,<0.14)"]
name = "msal-extensions"
version = "1.0.0"
description = "Microsoft Authentication Library extensions (MSAL EX) provides
a persistence API that can save your data on disk, encrypted on Windows, macOS
and Linux. Concurrent data access will be coordinated by a file lock mechanism."
+category = "main"
optional = true
python-versions = "*"
files = [
@@ -2056,6 +2136,7 @@ portalocker = [
name = "msgpack"
version = "1.0.6"
description = "MessagePack serializer"
+category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -2121,6 +2202,7 @@ files = [
name = "multidict"
version = "6.0.4"
description = "multidict implementation"
+category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -2204,6 +2286,7 @@ files = [
name = "mypy-boto3-glue"
version = "1.34.7"
description = "Type annotations for boto3.Glue 1.34.7 service generated with
mypy-boto3-builder 7.23.0"
+category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -2218,6 +2301,7 @@ typing-extensions = {version = ">=4.1.0", markers =
"python_version < \"3.12\""}
name = "networkx"
version = "3.1"
description = "Python package for creating and manipulating graphs and
networks"
+category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -2236,6 +2320,7 @@ test = ["codecov (>=2.1)", "pytest (>=7.2)", "pytest-cov
(>=4.0)"]
name = "nodeenv"
version = "1.8.0"
description = "Node.js virtual environment builder"
+category = "dev"
optional = false
python-versions =
">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*"
files = [
@@ -2250,6 +2335,7 @@ setuptools = "*"
name = "numpy"
version = "1.24.4"
description = "Fundamental package for array computing in Python"
+category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -2287,6 +2373,7 @@ files = [
name = "oauthlib"
version = "3.2.2"
description = "A generic, spec-compliant, thorough implementation of the OAuth
request-signing logic"
+category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -2303,6 +2390,7 @@ signedtoken = ["cryptography (>=3.0.0)", "pyjwt
(>=2.0.0,<3)"]
name = "openapi-schema-validator"
version = "0.6.2"
description = "OpenAPI schema validation for Python"
+category = "dev"
optional = false
python-versions = ">=3.8.0,<4.0.0"
files = [
@@ -2319,6 +2407,7 @@ rfc3339-validator = "*"
name = "openapi-spec-validator"
version = "0.7.1"
description = "OpenAPI 2.0 (aka Swagger) and OpenAPI 3 spec validator"
+category = "dev"
optional = false
python-versions = ">=3.8.0,<4.0.0"
files = [
@@ -2337,6 +2426,7 @@ openapi-schema-validator = ">=0.6.0,<0.7.0"
name = "packaging"
version = "23.1"
description = "Core utilities for Python packages"
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -2348,6 +2438,7 @@ files = [
name = "pandas"
version = "2.0.3"
description = "Powerful data structures for data analysis, time series, and
statistics"
+category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -2381,8 +2472,8 @@ files = [
[package.dependencies]
numpy = [
{version = ">=1.20.3", markers = "python_version < \"3.10\""},
+ {version = ">=1.21.0", markers = "python_version >= \"3.10\""},
{version = ">=1.23.2", markers = "python_version >= \"3.11\""},
- {version = ">=1.21.0", markers = "python_version >= \"3.10\" and
python_version < \"3.11\""},
]
python-dateutil = ">=2.8.2"
pytz = ">=2020.1"
@@ -2415,6 +2506,7 @@ xml = ["lxml (>=4.6.3)"]
name = "pathable"
version = "0.4.3"
description = "Object-oriented paths"
+category = "dev"
optional = false
python-versions = ">=3.7.0,<4.0.0"
files = [
@@ -2426,6 +2518,7 @@ files = [
name = "pbr"
version = "6.0.0"
description = "Python Build Reasonableness"
+category = "dev"
optional = false
python-versions = ">=2.6"
files = [
@@ -2437,6 +2530,7 @@ files = [
name = "pkgutil-resolve-name"
version = "1.3.10"
description = "Resolve a name to an object."
+category = "main"
optional = false
python-versions = ">=3.6"
files = [
@@ -2448,6 +2542,7 @@ files = [
name = "platformdirs"
version = "3.10.0"
description = "A small Python package for determining appropriate
platform-specific dirs, e.g. a \"user data dir\"."
+category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -2463,6 +2558,7 @@ test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)",
"pytest (>=7.4)", "pytest-co
name = "pluggy"
version = "1.3.0"
description = "plugin and hook calling mechanisms for python"
+category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -2478,6 +2574,7 @@ testing = ["pytest", "pytest-benchmark"]
name = "portalocker"
version = "2.8.2"
description = "Wraps the portalocker recipe for easy usage"
+category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -2497,6 +2594,7 @@ tests = ["pytest (>=5.4.1)", "pytest-cov (>=2.8.1)",
"pytest-mypy (>=0.8.0)", "p
name = "pre-commit"
version = "3.5.0"
description = "A framework for managing and maintaining multi-language
pre-commit hooks."
+category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -2515,6 +2613,7 @@ virtualenv = ">=20.10.0"
name = "protobuf"
version = "4.24.3"
description = ""
+category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -2537,6 +2636,7 @@ files = [
name = "psycopg2-binary"
version = "2.9.9"
description = "psycopg2 - Python-PostgreSQL Database Adapter"
+category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -2618,6 +2718,7 @@ files = [
name = "py-partiql-parser"
version = "0.5.0"
description = "Pure Python PartiQL Parser"
+category = "dev"
optional = false
python-versions = "*"
files = [
@@ -2632,6 +2733,7 @@ dev = ["black (==22.6.0)", "flake8", "mypy", "pytest"]
name = "py4j"
version = "0.10.9.7"
description = "Enables Python programs to dynamically access arbitrary Java
objects"
+category = "dev"
optional = false
python-versions = "*"
files = [
@@ -2643,6 +2745,7 @@ files = [
name = "pyarrow"
version = "15.0.0"
description = "Python library for Apache Arrow"
+category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -2691,6 +2794,7 @@ numpy = ">=1.16.6,<2"
name = "pyasn1"
version = "0.5.0"
description = "Pure-Python implementation of ASN.1 types and DER/BER/CER
codecs (X.208)"
+category = "main"
optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7"
files = [
@@ -2702,6 +2806,7 @@ files = [
name = "pyasn1-modules"
version = "0.3.0"
description = "A collection of ASN.1-based protocols modules"
+category = "main"
optional = true
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7"
files = [
@@ -2716,6 +2821,7 @@ pyasn1 = ">=0.4.6,<0.6.0"
name = "pycparser"
version = "2.21"
description = "C parser in Python"
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
@@ -2727,6 +2833,7 @@ files = [
name = "pydantic"
version = "2.5.3"
description = "Data validation using Python type hints"
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -2746,6 +2853,7 @@ email = ["email-validator (>=2.0.0)"]
name = "pydantic-core"
version = "2.14.6"
description = ""
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -2863,6 +2971,7 @@ typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0"
name = "pygments"
version = "2.16.1"
description = "Pygments is a syntax highlighting package written in Python."
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -2877,6 +2986,7 @@ plugins = ["importlib-metadata"]
name = "pyjwt"
version = "2.8.0"
description = "JSON Web Token implementation in Python"
+category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -2897,6 +3007,7 @@ tests = ["coverage[toml] (==5.0.4)", "pytest
(>=6.0.0,<7.0.0)"]
name = "pyparsing"
version = "3.1.1"
description = "pyparsing module - Classes and methods to define and execute
parsing grammars"
+category = "main"
optional = false
python-versions = ">=3.6.8"
files = [
@@ -2911,6 +3022,7 @@ diagrams = ["jinja2", "railroad-diagrams"]
name = "pyproject-hooks"
version = "1.0.0"
description = "Wrappers to call pyproject.toml-based build backend hooks."
+category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -2925,6 +3037,7 @@ tomli = {version = ">=1.1.0", markers = "python_version <
\"3.11\""}
name = "pyspark"
version = "3.4.2"
description = "Apache Spark Python API"
+category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -2945,6 +3058,7 @@ sql = ["numpy (>=1.15)", "pandas (>=1.0.5)", "pyarrow
(>=1.0.0)"]
name = "pytest"
version = "7.4.4"
description = "pytest: simple powerful testing with Python"
+category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -2967,6 +3081,7 @@ testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis
(>=3.56)", "mock", "no
name = "pytest-checkdocs"
version = "2.10.1"
description = "check the README when running tests"
+category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -2987,6 +3102,7 @@ testing = ["pytest (>=6)", "pytest-black (>=0.3.7)",
"pytest-checkdocs (>=2.4)",
name = "pytest-lazy-fixture"
version = "0.6.3"
description = "It helps to use fixtures in pytest.mark.parametrize"
+category = "dev"
optional = false
python-versions = "*"
files = [
@@ -3001,6 +3117,7 @@ pytest = ">=3.2.5"
name = "pytest-mock"
version = "3.12.0"
description = "Thin-wrapper around the mock package for easier use with pytest"
+category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -3018,6 +3135,7 @@ dev = ["pre-commit", "pytest-asyncio", "tox"]
name = "python-dateutil"
version = "2.8.2"
description = "Extensions to the standard Python datetime module"
+category = "main"
optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
files = [
@@ -3032,6 +3150,7 @@ six = ">=1.5"
name = "python-jose"
version = "3.3.0"
description = "JOSE implementation in Python"
+category = "dev"
optional = false
python-versions = "*"
files = [
@@ -3054,6 +3173,7 @@ pycryptodome = ["pyasn1", "pycryptodome (>=3.3.1,<4.0.0)"]
name = "python-snappy"
version = "0.6.1"
description = "Python library for the snappy compression library from Google"
+category = "main"
optional = true
python-versions = "*"
files = [
@@ -3111,6 +3231,7 @@ files = [
name = "pytz"
version = "2023.3.post1"
description = "World timezone definitions, modern and historical"
+category = "main"
optional = true
python-versions = "*"
files = [
@@ -3122,6 +3243,7 @@ files = [
name = "pywin32"
version = "306"
description = "Python for Window Extensions"
+category = "dev"
optional = false
python-versions = "*"
files = [
@@ -3145,6 +3267,7 @@ files = [
name = "pyyaml"
version = "6.0.1"
description = "YAML parser and emitter for Python"
+category = "main"
optional = false
python-versions = ">=3.6"
files = [
@@ -3205,6 +3328,7 @@ files = [
name = "ray"
version = "2.7.1"
description = "Ray provides a simple, universal API for building distributed
applications."
+category = "main"
optional = true
python-versions = "*"
files = [
@@ -3268,6 +3392,7 @@ tune = ["fsspec", "pandas", "pyarrow (>=6.0.1)",
"requests", "tensorboardX (>=1.
name = "referencing"
version = "0.30.2"
description = "JSON Referencing + Python"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -3283,6 +3408,7 @@ rpds-py = ">=0.7.0"
name = "regex"
version = "2023.10.3"
description = "Alternative regular expression module, to replace re."
+category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -3380,6 +3506,7 @@ files = [
name = "requests"
version = "2.31.0"
description = "Python HTTP for Humans."
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -3401,6 +3528,7 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
name = "requests-mock"
version = "1.11.0"
description = "Mock out responses from the requests package"
+category = "dev"
optional = false
python-versions = "*"
files = [
@@ -3420,6 +3548,7 @@ test = ["fixtures", "mock", "purl", "pytest",
"requests-futures", "sphinx", "tes
name = "requests-oauthlib"
version = "1.3.1"
description = "OAuthlib authentication support for Requests."
+category = "main"
optional = true
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
@@ -3438,6 +3567,7 @@ rsa = ["oauthlib[signedtoken] (>=3.0.0)"]
name = "responses"
version = "0.23.3"
description = "A utility library for mocking out the `requests` Python
library."
+category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -3458,6 +3588,7 @@ tests = ["coverage (>=6.0.0)", "flake8", "mypy", "pytest
(>=7.0.0)", "pytest-asy
name = "rfc3339-validator"
version = "0.1.4"
description = "A pure python RFC3339 validator"
+category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
files = [
@@ -3472,6 +3603,7 @@ six = "*"
name = "rich"
version = "13.7.0"
description = "Render rich text, tables, progress bars, syntax highlighting,
markdown and more to the terminal"
+category = "main"
optional = false
python-versions = ">=3.7.0"
files = [
@@ -3491,6 +3623,7 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"]
name = "rpds-py"
version = "0.10.3"
description = "Python bindings to Rust's persistent data structures (rpds)"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -3597,6 +3730,7 @@ files = [
name = "rsa"
version = "4.9"
description = "Pure-Python RSA implementation"
+category = "main"
optional = false
python-versions = ">=3.6,<4"
files = [
@@ -3611,6 +3745,7 @@ pyasn1 = ">=0.1.3"
name = "s3fs"
version = "2023.9.1"
description = "Convenient Filesystem interface over S3"
+category = "main"
optional = true
python-versions = ">= 3.8"
files = [
@@ -3631,6 +3766,7 @@ boto3 = ["aiobotocore[boto3] (>=2.5.4,<2.6.0)"]
name = "s3transfer"
version = "0.6.2"
description = "An Amazon S3 Transfer Manager"
+category = "main"
optional = false
python-versions = ">= 3.7"
files = [
@@ -3648,6 +3784,7 @@ crt = ["botocore[crt] (>=1.20.29,<2.0a.0)"]
name = "sarif-om"
version = "1.0.4"
description = "Classes implementing the SARIF 2.1.0 object model."
+category = "dev"
optional = false
python-versions = ">= 2.7"
files = [
@@ -3663,6 +3800,7 @@ pbr = "*"
name = "setuptools"
version = "68.2.2"
description = "Easily download, build, install, upgrade, and uninstall Python
packages"
+category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -3679,6 +3817,7 @@ testing-integration = ["build[virtualenv] (>=1.0.3)",
"filelock (>=3.4.0)", "jar
name = "six"
version = "1.16.0"
description = "Python 2 and 3 compatibility utilities"
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
files = [
@@ -3690,6 +3829,7 @@ files = [
name = "sortedcontainers"
version = "2.4.0"
description = "Sorted Containers -- Sorted List, Sorted Dict, Sorted Set"
+category = "main"
optional = false
python-versions = "*"
files = [
@@ -3701,6 +3841,7 @@ files = [
name = "sqlalchemy"
version = "2.0.25"
description = "Database Abstraction Library"
+category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -3788,6 +3929,7 @@ sqlcipher = ["sqlcipher3_binary"]
name = "sshpubkeys"
version = "3.3.1"
description = "SSH public key parser"
+category = "dev"
optional = false
python-versions = ">=3"
files = [
@@ -3806,6 +3948,7 @@ dev = ["twine", "wheel", "yapf"]
name = "strictyaml"
version = "1.7.3"
description = "Strict, typed YAML parser"
+category = "main"
optional = false
python-versions = ">=3.7.0"
files = [
@@ -3820,6 +3963,7 @@ python-dateutil = ">=2.6.0"
name = "sympy"
version = "1.12"
description = "Computer algebra system (CAS) in Python"
+category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -3834,6 +3978,7 @@ mpmath = ">=0.19"
name = "thrift"
version = "0.16.0"
description = "Python bindings for the Apache Thrift RPC system"
+category = "main"
optional = true
python-versions = "*"
files = [
@@ -3852,6 +3997,7 @@ twisted = ["twisted"]
name = "tomli"
version = "2.0.1"
description = "A lil' TOML parser"
+category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -3863,6 +4009,7 @@ files = [
name = "types-pyyaml"
version = "6.0.12.11"
description = "Typing stubs for PyYAML"
+category = "dev"
optional = false
python-versions = "*"
files = [
@@ -3874,6 +4021,7 @@ files = [
name = "typing-extensions"
version = "4.9.0"
description = "Backported and Experimental Type Hints for Python 3.8+"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -3885,6 +4033,7 @@ files = [
name = "tzdata"
version = "2023.3"
description = "Provider of IANA time zone data"
+category = "main"
optional = true
python-versions = ">=2"
files = [
@@ -3896,6 +4045,7 @@ files = [
name = "urllib3"
version = "1.26.18"
description = "HTTP library with thread-safe connection pooling, file post,
and more."
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
files = [
@@ -3912,6 +4062,7 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
name = "virtualenv"
version = "20.24.5"
description = "Virtual Python Environment builder"
+category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -3932,6 +4083,7 @@ test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)",
"coverage-enable-subprocess
name = "werkzeug"
version = "3.0.1"
description = "The comprehensive WSGI web application library."
+category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -3949,6 +4101,7 @@ watchdog = ["watchdog (>=2.3)"]
name = "wrapt"
version = "1.15.0"
description = "Module for decorators, wrappers and monkey patching."
+category = "main"
optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
files = [
@@ -4033,6 +4186,7 @@ files = [
name = "xmltodict"
version = "0.13.0"
description = "Makes working with XML feel like you are working with JSON"
+category = "dev"
optional = false
python-versions = ">=3.4"
files = [
@@ -4044,6 +4198,7 @@ files = [
name = "yarl"
version = "1.9.2"
description = "Yet another URL library"
+category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -4131,6 +4286,7 @@ multidict = ">=4.0"
name = "zipp"
version = "3.17.0"
description = "Backport of pathlib-compatible object wrapper for zip files"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -4146,6 +4302,7 @@ testing = ["big-O", "jaraco.functools",
"jaraco.itertools", "more-itertools", "p
name = "zstandard"
version = "0.22.0"
description = "Zstandard bindings for Python"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -4216,9 +4373,10 @@ ray = ["pandas", "pyarrow", "ray"]
s3fs = ["s3fs"]
snappy = ["python-snappy"]
sql-postgres = ["psycopg2-binary", "sqlalchemy"]
+sql-sqlite = ["sqlalchemy"]
zstandard = ["zstandard"]
[metadata]
lock-version = "2.0"
python-versions = "^3.8"
-content-hash =
"bdd73f282497b994c64112a042d7818d6ce1728f69e407970d98750e2cc243b7"
+content-hash =
"aca2a5ecf024067cf7ab8123908b7dedf1853f8a3b078429591ddb04ec558f9c"
diff --git a/pyiceberg/catalog/__init__.py b/pyiceberg/catalog/__init__.py
index 4cb6c2f..a39d0e9 100644
--- a/pyiceberg/catalog/__init__.py
+++ b/pyiceberg/catalog/__init__.py
@@ -134,7 +134,9 @@ def load_sql(name: str, conf: Properties) -> Catalog:
return SqlCatalog(name, **conf)
except ImportError as exc:
- raise NotInstalledError("SQLAlchemy support not installed: pip install
'pyiceberg[sql-postgres]'") from exc
+ raise NotInstalledError(
+ "SQLAlchemy support not installed: pip install
'pyiceberg[sql-postgres]' or pip install 'pyiceberg[sql-sqlite]'"
+ ) from exc
AVAILABLE_CATALOGS: dict[CatalogType, Callable[[str, Properties], Catalog]] = {
diff --git a/pyproject.toml b/pyproject.toml
index c652298..059fd8c 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -113,6 +113,7 @@ adlfs = ["adlfs"]
dynamodb = ["boto3"]
zstandard = ["zstandard"]
sql-postgres = ["sqlalchemy", "psycopg2-binary"]
+sql-sqlite = ["sqlalchemy"]
gcsfs = ["gcsfs"]
[tool.pytest.ini_options]
diff --git a/tests/catalog/test_sql.py b/tests/catalog/test_sql.py
index cb39dfa..217ea8f 100644
--- a/tests/catalog/test_sql.py
+++ b/tests/catalog/test_sql.py
@@ -68,7 +68,7 @@ def fixture_another_random_identifier(warehouse: Path,
database_name: str, table
@pytest.fixture(scope="module")
def catalog_memory(warehouse: Path) -> Generator[SqlCatalog, None, None]:
props = {
- "uri": "sqlite+pysqlite:///:memory:",
+ "uri": "sqlite:///:memory:",
"warehouse": f"file://{warehouse}",
}
catalog = SqlCatalog("test_sql_catalog", **props)