diff --git a/.gitignore b/.gitignore
index bc5ee8e..3a9b7d5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,8 @@
+*.egg-info/
node_modules/
+__pycache__/
+*.pyc
*.gcp.json
*.gcp.encoded
diff --git a/Dockerfile b/Dockerfile
index c86b9fe..701bfcf 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,35 +1,97 @@
-FROM python:3.10 as builder
+FROM ubuntu:mantic as builder
-RUN pip install setuptools wheel poetry==1.8.3
+# To use python3.10, switch to ubuntu:jammy
-ENV POETRY_NO_INTERACTION=1 \
- POETRY_VIRTUALENVS_IN_PROJECT=1 \
- POETRY_VIRTUALENVS_CREATE=1 \
- POETRY_CACHE_DIR=/tmp/poetry_cache
+RUN <.
+STOPSIGNAL SIGINT
-COPY --chown=tesseract . /app
+# Update OS packages, then clear APT cache and lists
+RUN <\n"
- with pathlib.Path("/tmp/oec.log").open() as fp:
- for line in fp:
- escaped = html.escape(line.strip())
- if "oec.auth" in line or "tesseract_olap.server" in line:
- yield f" \n{escaped}
"
- else:
- yield f"{escaped}
"
- yield " "
-
- @ll.route("GET", "/logs")
- def route_logs(self):
- return StreamingResponse(self.log_generator())
diff --git a/build-explorer/vite.config.js b/build-explorer/vite.config.js
index ace7e04..f1eac35 100644
--- a/build-explorer/vite.config.js
+++ b/build-explorer/vite.config.js
@@ -6,7 +6,7 @@ const serverUrl = `/tesseract/`;
const config = {
base: "",
build: {
- outDir: "../explorer/",
+ outDir: "../static/",
minify: "terser",
rollupOptions: {
output: {
diff --git a/debug.log b/debug.log
new file mode 100644
index 0000000..4c6b46c
--- /dev/null
+++ b/debug.log
@@ -0,0 +1,983 @@
+2024-09-13 15:48:35,634 tesseract_olap.server - DEBUG:Looking for schemas in local directory: /Users/francisco/datawheel/template-tesseract-api/schema
+2024-09-13 15:48:35,634 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/national_exports.xml
+2024-09-13 15:48:35,635 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,635 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,635 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,635 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,635 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,635 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,635 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,635 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,635 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,635 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,635 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,635 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,635 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,635 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,635 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,635 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,636 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,636 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,636 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,636 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,636 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,636 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,636 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/acs_ygl_language_spoken_at_home_by_english_ability_2016_1.xml
+2024-09-13 15:48:35,636 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,636 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,636 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,637 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,637 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,637 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,637 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,637 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,637 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,637 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,637 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,637 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,637 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,637 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,637 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,637 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,637 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,638 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,638 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,638 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,638 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,638 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,638 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,638 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,638 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,638 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,638 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,638 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,638 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,638 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,638 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,638 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,638 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,639 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,639 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,639 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,639 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,639 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,639 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,639 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,639 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,640 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,640 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/trade_i_baci_a_96.xml
+2024-09-13 15:48:35,640 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,640 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,640 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,640 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,640 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,640 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,640 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,640 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,640 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,640 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,641 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,641 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,641 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,641 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,641 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,642 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,642 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,642 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,642 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,642 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,642 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/dim_shared_geography.xml
+2024-09-13 15:48:35,642 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,642 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,642 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,642 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,642 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,642 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,642 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,642 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,643 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/dim_shared_subnational_hs6.xml
+2024-09-13 15:48:35,643 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,643 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,643 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,643 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,643 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,643 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,643 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,643 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,643 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,643 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,643 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,643 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,643 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,643 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,643 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,644 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,644 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/dim_shared_units.xml
+2024-09-13 15:48:35,644 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,644 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,644 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,644 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,644 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,644 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,644 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/dim_shared_trade_flow.xml
+2024-09-13 15:48:35,644 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,644 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,644 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,644 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,644 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,644 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/dim_shared_hs6.xml
+2024-09-13 15:48:35,645 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,645 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,645 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,645 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,645 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,645 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,645 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,645 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,645 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,645 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,645 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,645 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,645 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/trade_s_chl_m_hs.xml
+2024-09-13 15:48:35,645 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,645 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,645 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,645 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,645 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,646 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,646 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,646 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,646 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,646 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,646 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,646 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,646 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,646 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,646 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,646 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,646 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,646 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,646 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,646 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,646 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,646 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,646 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,646 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,646 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,646 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,646 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,646 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,646 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,647 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,647 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,647 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,647 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,647 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,647 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,647 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,647 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,647 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,647 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,647 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,647 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/dim_shared_subnat_time.xml
+2024-09-13 15:48:35,647 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,647 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,648 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,648 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,648 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,648 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,648 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,648 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,648 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/emissions.xml
+2024-09-13 15:48:35,648 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,648 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,648 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,649 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,649 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,649 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,649 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,649 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,649 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,649 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/dim_shared_unit.xml
+2024-09-13 15:48:35,649 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,649 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,650 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,650 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,650 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,650 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,650 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/gini.xml
+2024-09-13 15:48:35,650 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,650 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,650 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,650 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,650 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,650 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,651 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,651 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,651 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:48:35,652 logiclayer - DEBUG:Module added on path /tesseract: TesseractModule
+2024-09-13 15:48:35,652 logiclayer - DEBUG:Check added: healthcheck
+2024-09-13 15:48:35,726 logiclayer - DEBUG:Module added on path /complexity: EconomicComplexityModule
+2024-09-13 15:48:35,941 logiclayer - DEBUG:Static folder added on path %s
+2024-09-13 15:48:35,941 logiclayer - DEBUG:Route added on path /: route_index
+2024-09-13 15:48:41,674 clickhouse_driver.connection - DEBUG:Connecting. Database: api. User: default
+2024-09-13 15:48:41,674 clickhouse_driver.connection - DEBUG:Connecting to amtv757tq1.us-east-1.aws.clickhouse.cloud:9440
+2024-09-13 15:49:06,198 clickhouse_driver.connection - DEBUG:Connected to ClickHouse server version 24.6.1, revision: 54468
+2024-09-13 15:49:06,199 clickhouse_driver.connection - DEBUG:Query: SELECT 1
+2024-09-13 15:49:06,200 clickhouse_driver.connection - DEBUG:Block "" send time: 0.000092
+2024-09-13 15:49:06,349 clickhouse_driver.streams.native - DEBUG:Reading column 1
+2024-09-13 15:49:06,349 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:49:06,350 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:49:06,351 tzlocal - DEBUG:/etc/localtime found
+2024-09-13 15:49:06,365 tzlocal - DEBUG:1 found:
+ {'/etc/localtime is a symlink to': 'America/Santiago'}
+2024-09-13 15:49:06,366 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:49:06,366 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:49:06,366 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:49:06,366 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:49:32,576 clickhouse_driver.connection - DEBUG:Connecting. Database: api. User: default
+2024-09-13 15:49:32,577 clickhouse_driver.connection - DEBUG:Connecting to amtv757tq1.us-east-1.aws.clickhouse.cloud:9440
+2024-09-13 15:49:33,121 clickhouse_driver.connection - DEBUG:Connected to ClickHouse server version 24.6.1, revision: 54468
+2024-09-13 15:49:33,122 clickhouse_driver.connection - DEBUG:Query: SELECT DISTINCT "tfact"."year" AS "key" FROM "trade_i_baci_a_96" AS "tfact" ORDER BY "key" ASC
+2024-09-13 15:49:33,122 clickhouse_driver.connection - DEBUG:Block "" send time: 0.000083
+2024-09-13 15:49:33,325 clickhouse_driver.connection - DEBUG:Connecting. Database: api. User: default
+2024-09-13 15:49:33,326 clickhouse_driver.connection - DEBUG:Connecting to amtv757tq1.us-east-1.aws.clickhouse.cloud:9440
+2024-09-13 15:49:33,327 clickhouse_driver.connection - DEBUG:Connecting. Database: api. User: default
+2024-09-13 15:49:33,327 clickhouse_driver.connection - DEBUG:Connecting to amtv757tq1.us-east-1.aws.clickhouse.cloud:9440
+2024-09-13 15:49:33,519 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:49:33,519 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:49:33,520 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:49:33,520 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:49:33,520 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:49:33,520 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:49:33,521 clickhouse_driver.streams.native - DEBUG:Reading column key
+2024-09-13 15:49:33,521 clickhouse_driver.streams.native - DEBUG:Reading column key
+2024-09-13 15:49:33,619 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:49:33,619 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:49:33,620 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:49:33,620 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:49:33,620 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:49:33,620 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:49:33,810 clickhouse_driver.connection - DEBUG:Connected to ClickHouse server version 24.6.1, revision: 54468
+2024-09-13 15:49:33,810 clickhouse_driver.connection - DEBUG:Query: SELECT SUM("tcore"."ms_2063c160") AS "Trade Value","tcore"."lv_24641d6d" AS "Year" FROM (SELECT "tfact"."value" AS "ms_2063c160","tfact"."year" AS "lv_24641d6d" FROM "trade_i_baci_a_96" AS "tfact") AS "tcore" GROUP BY "tcore"."lv_24641d6d" ORDER BY "tcore"."lv_24641d6d" ASC
+2024-09-13 15:49:33,810 clickhouse_driver.connection - DEBUG:Block "" send time: 0.000106
+2024-09-13 15:49:33,811 clickhouse_driver.connection - DEBUG:Connected to ClickHouse server version 24.6.1, revision: 54468
+2024-09-13 15:49:33,811 clickhouse_driver.connection - DEBUG:Query: SELECT DISTINCT "tfact"."year" AS "key" FROM "trade_i_baci_a_96" AS "tfact" ORDER BY "key" ASC
+2024-09-13 15:49:33,811 clickhouse_driver.connection - DEBUG:Block "" send time: 0.000091
+2024-09-13 15:49:34,094 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:49:34,095 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:49:34,095 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:49:34,096 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:49:34,096 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:49:34,096 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:49:34,199 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:49:34,199 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:49:34,200 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:49:34,200 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:49:34,201 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:49:34,201 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:49:34,232 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:49:34,233 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:49:34,234 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:49:34,234 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:49:34,234 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:49:34,234 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:49:34,235 clickhouse_driver.streams.native - DEBUG:Reading column key
+2024-09-13 15:49:34,235 clickhouse_driver.streams.native - DEBUG:Reading column key
+2024-09-13 15:49:34,235 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:49:34,236 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:49:34,236 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:49:34,236 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:49:34,236 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:49:34,237 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:49:34,257 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:49:34,257 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:49:34,257 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:49:34,257 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:49:34,258 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:49:34,258 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:49:34,357 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:49:34,358 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:49:34,358 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:49:34,358 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:49:34,359 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:49:34,359 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:49:34,457 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:49:34,458 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:49:34,459 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:49:34,459 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:49:34,459 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:49:34,459 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:49:34,502 clickhouse_driver.streams.native - DEBUG:Reading column Trade Value
+2024-09-13 15:49:34,502 clickhouse_driver.streams.native - DEBUG:Reading column Year
+2024-09-13 15:49:34,502 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:49:34,502 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:49:34,503 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:49:34,503 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:49:34,503 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:49:34,503 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:49:34,507 tesseract_olap.backend.clickhouse - DEBUG:Cache: DummyProvider MISS 64102797bdb3aef920905f8e696a3f96
+2024-09-13 15:49:41,364 clickhouse_driver.connection - DEBUG:Connecting. Database: api. User: default
+2024-09-13 15:49:41,364 clickhouse_driver.connection - DEBUG:Connecting to amtv757tq1.us-east-1.aws.clickhouse.cloud:9440
+2024-09-13 15:49:41,929 clickhouse_driver.connection - DEBUG:Connected to ClickHouse server version 24.6.1, revision: 54468
+2024-09-13 15:49:41,929 clickhouse_driver.connection - DEBUG:Query: SELECT SUM("tcore"."ms_2063c160") AS "Trade Value","tcore"."lv_24641d6d" AS "Year" FROM (SELECT "tfact"."value" AS "ms_2063c160","tfact"."year" AS "lv_24641d6d" FROM "trade_i_baci_a_96" AS "tfact") AS "tcore" GROUP BY "tcore"."lv_24641d6d" ORDER BY "tcore"."lv_24641d6d" ASC
+2024-09-13 15:49:41,930 clickhouse_driver.connection - DEBUG:Block "" send time: 0.000115
+2024-09-13 15:49:42,270 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:49:42,270 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:49:42,271 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:49:42,271 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:49:42,271 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:49:42,271 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:49:42,373 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:49:42,373 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:49:42,374 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:49:42,374 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:49:42,375 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:49:42,375 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:49:42,408 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:49:42,408 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:49:42,409 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:49:42,409 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:49:42,409 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:49:42,410 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:49:42,491 clickhouse_driver.streams.native - DEBUG:Reading column Trade Value
+2024-09-13 15:49:42,492 clickhouse_driver.streams.native - DEBUG:Reading column Year
+2024-09-13 15:49:42,540 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:49:42,540 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:49:42,542 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:49:42,542 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:49:42,542 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:49:42,542 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:49:42,545 tesseract_olap.backend.clickhouse - DEBUG:Cache: DummyProvider MISS 64102797bdb3aef920905f8e696a3f96
+2024-09-13 15:50:16,568 clickhouse_driver.connection - DEBUG:Connecting. Database: api. User: default
+2024-09-13 15:50:16,568 clickhouse_driver.connection - DEBUG:Connecting to amtv757tq1.us-east-1.aws.clickhouse.cloud:9440
+2024-09-13 15:50:17,104 clickhouse_driver.connection - DEBUG:Connected to ClickHouse server version 24.6.1, revision: 54468
+2024-09-13 15:50:17,105 clickhouse_driver.connection - DEBUG:Query: SELECT SUM("tcore"."ms_2063c160") AS "Trade Value","tcore"."lv_24641d6d" AS "Year" FROM (SELECT "tfact"."value" AS "ms_2063c160","tfact"."year" AS "lv_24641d6d" FROM "trade_i_baci_a_96" AS "tfact") AS "tcore" GROUP BY "tcore"."lv_24641d6d" ORDER BY "tcore"."lv_24641d6d" ASC
+2024-09-13 15:50:17,105 clickhouse_driver.connection - DEBUG:Block "" send time: 0.000064
+2024-09-13 15:50:17,352 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:50:17,352 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:50:17,353 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:50:17,353 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:50:17,353 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:50:17,353 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:50:17,397 clickhouse_driver.streams.native - DEBUG:Reading column Trade Value
+2024-09-13 15:50:17,397 clickhouse_driver.streams.native - DEBUG:Reading column Year
+2024-09-13 15:50:17,496 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:50:17,497 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:50:17,497 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:50:17,498 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:50:17,498 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:50:17,498 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:50:17,501 tesseract_olap.backend.clickhouse - DEBUG:Cache: DummyProvider MISS 64102797bdb3aef920905f8e696a3f96
+2024-09-13 15:50:26,466 clickhouse_driver.connection - DEBUG:Connecting. Database: api. User: default
+2024-09-13 15:50:26,466 clickhouse_driver.connection - DEBUG:Connecting to amtv757tq1.us-east-1.aws.clickhouse.cloud:9440
+2024-09-13 15:50:26,992 clickhouse_driver.connection - DEBUG:Connected to ClickHouse server version 24.6.1, revision: 54468
+2024-09-13 15:50:26,992 clickhouse_driver.connection - DEBUG:Query: SELECT SUM("tcore"."ms_2063c160") AS "Trade Value","tcore"."lv_24641d6d" AS "Year" FROM (SELECT "tfact"."value" AS "ms_2063c160","tfact"."year" AS "lv_24641d6d" FROM "trade_i_baci_a_96" AS "tfact") AS "tcore" GROUP BY "tcore"."lv_24641d6d" ORDER BY "tcore"."lv_24641d6d" ASC
+2024-09-13 15:50:26,993 clickhouse_driver.connection - DEBUG:Block "" send time: 0.000095
+2024-09-13 15:50:27,259 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:50:27,259 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:50:27,260 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:50:27,260 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:50:27,260 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:50:27,260 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:50:27,323 clickhouse_driver.streams.native - DEBUG:Reading column Trade Value
+2024-09-13 15:50:27,323 clickhouse_driver.streams.native - DEBUG:Reading column Year
+2024-09-13 15:50:27,422 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:50:27,422 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:50:27,423 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:50:27,424 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:50:27,424 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:50:27,424 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:50:27,428 tesseract_olap.backend.clickhouse - DEBUG:Cache: DummyProvider MISS 64102797bdb3aef920905f8e696a3f96
+2024-09-13 15:50:30,411 clickhouse_driver.connection - DEBUG:Connecting. Database: api. User: default
+2024-09-13 15:50:30,411 clickhouse_driver.connection - DEBUG:Connecting to amtv757tq1.us-east-1.aws.clickhouse.cloud:9440
+2024-09-13 15:50:30,960 clickhouse_driver.connection - DEBUG:Connected to ClickHouse server version 24.6.1, revision: 54468
+2024-09-13 15:50:30,960 clickhouse_driver.connection - DEBUG:Query: SELECT SUM("tcore"."ms_2063c160") AS "Trade Value","tcore"."lv_24641d6d" AS "Year" FROM (SELECT "tfact"."value" AS "ms_2063c160","tfact"."year" AS "lv_24641d6d" FROM "trade_i_baci_a_96" AS "tfact") AS "tcore" GROUP BY "tcore"."lv_24641d6d" ORDER BY "tcore"."lv_24641d6d" ASC
+2024-09-13 15:50:30,960 clickhouse_driver.connection - DEBUG:Block "" send time: 0.000080
+2024-09-13 15:50:31,230 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:50:31,231 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:50:31,232 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:50:31,232 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:50:31,232 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:50:31,232 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:50:31,290 clickhouse_driver.streams.native - DEBUG:Reading column Trade Value
+2024-09-13 15:50:31,290 clickhouse_driver.streams.native - DEBUG:Reading column Year
+2024-09-13 15:50:31,402 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:50:31,403 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:50:31,403 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:50:31,404 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:50:31,404 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:50:31,404 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:50:31,408 tesseract_olap.backend.clickhouse - DEBUG:Cache: DummyProvider MISS 64102797bdb3aef920905f8e696a3f96
+2024-09-13 15:50:34,112 clickhouse_driver.connection - DEBUG:Connecting. Database: api. User: default
+2024-09-13 15:50:34,112 clickhouse_driver.connection - DEBUG:Connecting to amtv757tq1.us-east-1.aws.clickhouse.cloud:9440
+2024-09-13 15:50:34,590 clickhouse_driver.connection - DEBUG:Connected to ClickHouse server version 24.6.1, revision: 54468
+2024-09-13 15:50:34,590 clickhouse_driver.connection - DEBUG:Query: SELECT SUM("tcore"."ms_2063c160") AS "Trade Value","tcore"."lv_24641d6d" AS "Year" FROM (SELECT "tfact"."value" AS "ms_2063c160","tfact"."year" AS "lv_24641d6d" FROM "trade_i_baci_a_96" AS "tfact") AS "tcore" GROUP BY "tcore"."lv_24641d6d" ORDER BY "tcore"."lv_24641d6d" ASC
+2024-09-13 15:50:34,591 clickhouse_driver.connection - DEBUG:Block "" send time: 0.000173
+2024-09-13 15:50:34,838 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:50:34,839 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:50:34,840 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:50:34,840 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:50:34,840 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:50:34,840 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:50:34,879 clickhouse_driver.streams.native - DEBUG:Reading column Trade Value
+2024-09-13 15:50:34,879 clickhouse_driver.streams.native - DEBUG:Reading column Year
+2024-09-13 15:50:34,982 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:50:34,982 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:50:34,983 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:50:34,983 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:50:34,984 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:50:34,984 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:50:34,987 tesseract_olap.backend.clickhouse - DEBUG:Cache: DummyProvider MISS 64102797bdb3aef920905f8e696a3f96
+2024-09-13 15:50:59,202 tesseract_olap.server - DEBUG:Looking for schemas in local directory: /Users/francisco/datawheel/template-tesseract-api/schema
+2024-09-13 15:50:59,203 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/national_exports.xml
+2024-09-13 15:50:59,203 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,203 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,203 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,203 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,203 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,203 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,203 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,204 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,204 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,204 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,204 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,204 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,204 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,204 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,204 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,204 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,204 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,204 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,204 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,204 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,204 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,204 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,205 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/acs_ygl_language_spoken_at_home_by_english_ability_2016_1.xml
+2024-09-13 15:50:59,205 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,205 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,205 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,205 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,205 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,205 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,205 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,205 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,205 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,205 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,205 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,206 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,206 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,206 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,206 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,206 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,206 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,206 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,206 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,206 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,206 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,207 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,207 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,207 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,207 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,207 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,207 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,207 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,207 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,207 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,207 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,207 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,207 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,207 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,207 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,207 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,207 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,208 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,208 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,208 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,208 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,208 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,208 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/trade_i_baci_a_96.xml
+2024-09-13 15:50:59,209 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,209 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,209 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,209 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,209 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,209 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,209 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,209 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,209 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,209 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,209 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,209 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,209 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,209 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,209 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,209 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,209 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,209 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,210 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,210 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,210 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/dim_shared_geography.xml
+2024-09-13 15:50:59,210 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,210 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,210 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,210 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,210 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,210 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,210 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,210 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,210 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/dim_shared_subnational_hs6.xml
+2024-09-13 15:50:59,211 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,211 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,211 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,211 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,211 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,211 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,211 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,211 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,211 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,211 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,211 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,211 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,211 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,211 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,211 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,211 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,211 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/dim_shared_units.xml
+2024-09-13 15:50:59,212 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,212 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,212 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,212 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,212 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,212 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,212 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/dim_shared_trade_flow.xml
+2024-09-13 15:50:59,212 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,212 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,212 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,212 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,212 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,212 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/dim_shared_hs6.xml
+2024-09-13 15:50:59,212 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,212 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,212 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,212 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,213 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,213 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,213 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,213 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,213 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,213 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,213 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,213 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,213 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/trade_s_chl_m_hs.xml
+2024-09-13 15:50:59,213 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,213 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,213 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,213 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,213 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,213 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,213 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,213 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,214 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,214 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,214 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,214 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,214 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,214 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,214 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,214 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,215 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,215 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,215 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,215 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,215 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,215 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,215 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,215 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,215 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,215 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,215 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,215 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,215 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,215 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,215 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,215 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,215 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,215 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,216 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,216 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,216 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,216 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,216 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,216 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,216 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/dim_shared_subnat_time.xml
+2024-09-13 15:50:59,216 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,217 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,217 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,217 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,217 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,217 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,217 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,217 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,217 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/emissions.xml
+2024-09-13 15:50:59,217 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,217 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,217 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,217 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,217 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,217 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,217 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,217 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,217 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,218 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/dim_shared_unit.xml
+2024-09-13 15:50:59,218 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,218 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,218 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,218 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,218 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,218 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,218 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/gini.xml
+2024-09-13 15:50:59,218 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,218 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,218 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,218 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,218 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,218 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,218 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,218 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,218 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:50:59,219 logiclayer - DEBUG:Module added on path /tesseract: TesseractModule
+2024-09-13 15:50:59,219 logiclayer - DEBUG:Check added: healthcheck
+2024-09-13 15:50:59,294 logiclayer - DEBUG:Module added on path /complexity: EconomicComplexityModule
+2024-09-13 15:50:59,532 logiclayer - DEBUG:Static folder added on path %s
+2024-09-13 15:50:59,533 logiclayer - DEBUG:Route added on path /: route_index
+2024-09-13 15:51:03,274 clickhouse_driver.connection - DEBUG:Connecting. Database: api. User: default
+2024-09-13 15:51:03,274 clickhouse_driver.connection - DEBUG:Connecting to amtv757tq1.us-east-1.aws.clickhouse.cloud:9440
+2024-09-13 15:51:03,731 clickhouse_driver.connection - DEBUG:Connected to ClickHouse server version 24.6.1, revision: 54468
+2024-09-13 15:51:03,732 clickhouse_driver.connection - DEBUG:Query: SELECT SUM("tcore"."ms_2063c160") AS "Trade Value","tcore"."lv_24641d6d" AS "Year" FROM (SELECT "tfact"."value" AS "ms_2063c160","tfact"."year" AS "lv_24641d6d" FROM "trade_i_baci_a_96" AS "tfact") AS "tcore" GROUP BY "tcore"."lv_24641d6d" ORDER BY "tcore"."lv_24641d6d" ASC
+2024-09-13 15:51:03,732 clickhouse_driver.connection - DEBUG:Block "" send time: 0.000152
+2024-09-13 15:51:03,976 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:51:03,977 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:51:03,978 tzlocal - DEBUG:/etc/localtime found
+2024-09-13 15:51:03,983 tzlocal - DEBUG:1 found:
+ {'/etc/localtime is a symlink to': 'America/Santiago'}
+2024-09-13 15:51:03,984 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:51:03,984 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:51:03,984 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:51:03,984 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:51:04,018 clickhouse_driver.streams.native - DEBUG:Reading column Trade Value
+2024-09-13 15:51:04,019 clickhouse_driver.streams.native - DEBUG:Reading column Year
+2024-09-13 15:51:04,110 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:51:04,111 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:51:04,112 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:51:04,112 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:51:04,112 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:51:04,112 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:51:04,117 tesseract_olap.backend.clickhouse - DEBUG:Cache: DummyProvider MISS 64102797bdb3aef920905f8e696a3f96
+2024-09-13 15:51:06,831 clickhouse_driver.connection - DEBUG:Connecting. Database: api. User: default
+2024-09-13 15:51:06,831 clickhouse_driver.connection - DEBUG:Connecting to amtv757tq1.us-east-1.aws.clickhouse.cloud:9440
+2024-09-13 15:51:07,296 clickhouse_driver.connection - DEBUG:Connected to ClickHouse server version 24.6.1, revision: 54468
+2024-09-13 15:51:07,296 clickhouse_driver.connection - DEBUG:Query: SELECT SUM("tcore"."ms_2063c160") AS "Trade Value","tcore"."lv_24641d6d" AS "Year" FROM (SELECT "tfact"."value" AS "ms_2063c160","tfact"."year" AS "lv_24641d6d" FROM "trade_i_baci_a_96" AS "tfact") AS "tcore" GROUP BY "tcore"."lv_24641d6d" ORDER BY "tcore"."lv_24641d6d" ASC
+2024-09-13 15:51:07,297 clickhouse_driver.connection - DEBUG:Block "" send time: 0.000485
+2024-09-13 15:51:07,542 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:51:07,542 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:51:07,543 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:51:07,544 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:51:07,544 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:51:07,544 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:51:07,579 clickhouse_driver.streams.native - DEBUG:Reading column Trade Value
+2024-09-13 15:51:07,579 clickhouse_driver.streams.native - DEBUG:Reading column Year
+2024-09-13 15:51:07,682 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:51:07,682 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:51:07,683 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:51:07,684 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:51:07,684 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:51:07,684 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:51:07,687 tesseract_olap.backend.clickhouse - DEBUG:Cache: DummyProvider MISS 64102797bdb3aef920905f8e696a3f96
+2024-09-13 15:51:09,971 clickhouse_driver.connection - DEBUG:Connecting. Database: api. User: default
+2024-09-13 15:51:09,972 clickhouse_driver.connection - DEBUG:Connecting to amtv757tq1.us-east-1.aws.clickhouse.cloud:9440
+2024-09-13 15:51:10,503 clickhouse_driver.connection - DEBUG:Connected to ClickHouse server version 24.6.1, revision: 54468
+2024-09-13 15:51:10,504 clickhouse_driver.connection - DEBUG:Query: SELECT SUM("tcore"."ms_2063c160") AS "Trade Value","tcore"."lv_24641d6d" AS "Year" FROM (SELECT "tfact"."value" AS "ms_2063c160","tfact"."year" AS "lv_24641d6d" FROM "trade_i_baci_a_96" AS "tfact") AS "tcore" GROUP BY "tcore"."lv_24641d6d" ORDER BY "tcore"."lv_24641d6d" ASC
+2024-09-13 15:51:10,504 clickhouse_driver.connection - DEBUG:Block "" send time: 0.000098
+2024-09-13 15:51:10,772 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:51:10,772 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:51:10,774 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:51:10,774 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:51:10,774 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:51:10,775 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:51:10,830 clickhouse_driver.streams.native - DEBUG:Reading column Trade Value
+2024-09-13 15:51:10,830 clickhouse_driver.streams.native - DEBUG:Reading column Year
+2024-09-13 15:51:10,934 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:51:10,935 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:51:10,935 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:51:10,936 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:51:10,936 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:51:10,936 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:51:10,939 tesseract_olap.backend.clickhouse - DEBUG:Cache: DummyProvider MISS 64102797bdb3aef920905f8e696a3f96
+2024-09-13 15:51:15,288 clickhouse_driver.connection - DEBUG:Connecting. Database: api. User: default
+2024-09-13 15:51:15,288 clickhouse_driver.connection - DEBUG:Connecting to amtv757tq1.us-east-1.aws.clickhouse.cloud:9440
+2024-09-13 15:51:15,770 clickhouse_driver.connection - DEBUG:Connected to ClickHouse server version 24.6.1, revision: 54468
+2024-09-13 15:51:15,771 clickhouse_driver.connection - DEBUG:Query: SELECT SUM("tcore"."ms_2063c160") AS "Trade Value","tcore"."lv_24641d6d" AS "Year" FROM (SELECT "tfact"."value" AS "ms_2063c160","tfact"."year" AS "lv_24641d6d" FROM "trade_i_baci_a_96" AS "tfact") AS "tcore" GROUP BY "tcore"."lv_24641d6d" ORDER BY "tcore"."lv_24641d6d" ASC
+2024-09-13 15:51:15,771 clickhouse_driver.connection - DEBUG:Block "" send time: 0.000138
+2024-09-13 15:51:16,013 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:51:16,013 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:51:16,014 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:51:16,014 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:51:16,014 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:51:16,014 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:51:16,051 clickhouse_driver.streams.native - DEBUG:Reading column Trade Value
+2024-09-13 15:51:16,052 clickhouse_driver.streams.native - DEBUG:Reading column Year
+2024-09-13 15:51:16,149 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:51:16,150 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:51:16,151 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:51:16,151 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:51:16,152 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:51:16,152 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:51:16,155 tesseract_olap.backend.clickhouse - DEBUG:Cache: DummyProvider MISS 64102797bdb3aef920905f8e696a3f96
+2024-09-13 15:52:21,185 tesseract_olap.server - DEBUG:Looking for schemas in local directory: /Users/francisco/datawheel/template-tesseract-api/schema
+2024-09-13 15:52:21,186 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/national_exports.xml
+2024-09-13 15:52:21,187 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,187 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,187 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,187 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,187 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,187 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,187 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,187 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,187 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,187 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,187 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,187 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,187 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,187 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,187 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,188 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,188 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,188 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,188 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,188 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,188 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,188 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,188 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/acs_ygl_language_spoken_at_home_by_english_ability_2016_1.xml
+2024-09-13 15:52:21,188 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,189 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,189 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,189 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,189 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,189 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,189 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,189 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,189 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,189 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,189 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,189 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,189 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,189 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,189 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,189 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,189 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,189 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,189 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,189 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,189 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,189 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,190 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,190 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,190 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,190 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,190 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,190 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,190 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,190 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,190 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,190 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,190 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,190 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,190 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,190 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,190 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,191 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,191 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,191 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,191 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,191 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,191 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/trade_i_baci_a_96.xml
+2024-09-13 15:52:21,191 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,191 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,191 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,192 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,192 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,192 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,192 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,192 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,192 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,192 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,192 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,192 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,192 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,192 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,192 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,192 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,192 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,192 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,192 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,192 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,193 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/dim_shared_geography.xml
+2024-09-13 15:52:21,193 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,193 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,193 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,193 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,193 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,193 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,193 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,193 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,194 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/dim_shared_subnational_hs6.xml
+2024-09-13 15:52:21,194 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,194 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,194 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,194 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,194 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,194 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,194 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,194 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,194 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,195 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,195 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,195 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,195 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,195 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,195 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,195 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,195 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/dim_shared_units.xml
+2024-09-13 15:52:21,195 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,195 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,196 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,196 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,196 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,196 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,196 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/dim_shared_trade_flow.xml
+2024-09-13 15:52:21,196 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,196 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,196 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,196 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,196 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,196 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/dim_shared_hs6.xml
+2024-09-13 15:52:21,196 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,196 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,196 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,196 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,196 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,197 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,197 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,197 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,197 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,197 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,197 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,197 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,197 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/trade_s_chl_m_hs.xml
+2024-09-13 15:52:21,197 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,197 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,197 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,197 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,197 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,197 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,197 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,197 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,197 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,197 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,197 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,198 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,198 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,198 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,198 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,198 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,198 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,198 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,198 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,198 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,198 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,198 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,198 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,198 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,198 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,198 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,198 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,198 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,198 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,198 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,198 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,198 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,198 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,199 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,199 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,199 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,199 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,199 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,199 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,199 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,199 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/dim_shared_subnat_time.xml
+2024-09-13 15:52:21,199 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,199 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,199 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,199 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,199 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,200 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,200 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,200 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,200 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/emissions.xml
+2024-09-13 15:52:21,200 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,200 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,200 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,200 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,200 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,200 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,200 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,200 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,200 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,201 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/dim_shared_unit.xml
+2024-09-13 15:52:21,201 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,201 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,201 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,201 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,201 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,201 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,201 tesseract_olap.server - DEBUG:Parsing XML schema from file contents: /Users/francisco/datawheel/template-tesseract-api/schema/gini.xml
+2024-09-13 15:52:21,201 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,201 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,201 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,201 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,201 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,201 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,201 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,201 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,201 tesseract_olap.schema.xml - DEBUG:Parsing node
+2024-09-13 15:52:21,203 logiclayer - DEBUG:Module added on path /tesseract: TesseractModule
+2024-09-13 15:52:21,203 logiclayer - DEBUG:Check added: healthcheck
+2024-09-13 15:52:21,273 logiclayer - DEBUG:Module added on path /complexity: EconomicComplexityModule
+2024-09-13 15:52:21,478 logiclayer - DEBUG:Static folder added on path %s
+2024-09-13 15:52:21,478 logiclayer - DEBUG:Route added on path /: route_index
+2024-09-13 15:52:28,279 clickhouse_driver.connection - DEBUG:Connecting. Database: api. User: default
+2024-09-13 15:52:28,279 clickhouse_driver.connection - DEBUG:Connecting to amtv757tq1.us-east-1.aws.clickhouse.cloud:9440
+2024-09-13 15:52:28,827 clickhouse_driver.connection - DEBUG:Connected to ClickHouse server version 24.6.1, revision: 54468
+2024-09-13 15:52:28,828 clickhouse_driver.connection - DEBUG:Query: SELECT SUM("tcore"."ms_2063c160") AS "Trade Value","tcore"."lv_24641d6d" AS "Year" FROM (SELECT "tfact"."value" AS "ms_2063c160","tfact"."year" AS "lv_24641d6d" FROM "trade_i_baci_a_96" AS "tfact") AS "tcore" GROUP BY "tcore"."lv_24641d6d" ORDER BY "tcore"."lv_24641d6d" ASC
+2024-09-13 15:52:28,829 clickhouse_driver.connection - DEBUG:Block "" send time: 0.000161
+2024-09-13 15:52:29,077 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:52:29,077 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:52:29,079 tzlocal - DEBUG:/etc/localtime found
+2024-09-13 15:52:29,084 tzlocal - DEBUG:1 found:
+ {'/etc/localtime is a symlink to': 'America/Santiago'}
+2024-09-13 15:52:29,085 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:52:29,085 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:52:29,085 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:52:29,085 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:52:29,114 clickhouse_driver.streams.native - DEBUG:Reading column Trade Value
+2024-09-13 15:52:29,115 clickhouse_driver.streams.native - DEBUG:Reading column Year
+2024-09-13 15:52:29,218 clickhouse_driver.streams.native - DEBUG:Reading column host_name
+2024-09-13 15:52:29,218 clickhouse_driver.streams.native - DEBUG:Reading column current_time
+2024-09-13 15:52:29,219 clickhouse_driver.streams.native - DEBUG:Reading column thread_id
+2024-09-13 15:52:29,219 clickhouse_driver.streams.native - DEBUG:Reading column type
+2024-09-13 15:52:29,220 clickhouse_driver.streams.native - DEBUG:Reading column name
+2024-09-13 15:52:29,220 clickhouse_driver.streams.native - DEBUG:Reading column value
+2024-09-13 15:52:29,225 tesseract_olap.backend.clickhouse - DEBUG:Cache: LfuProvider MISS 64102797bdb3aef920905f8e696a3f96
+2024-09-13 15:52:30,975 tesseract_olap.backend.clickhouse - DEBUG:Cache: LfuProvider HIT 64102797bdb3aef920905f8e696a3f96
+2024-09-13 15:52:32,745 tesseract_olap.backend.clickhouse - DEBUG:Cache: LfuProvider HIT 64102797bdb3aef920905f8e696a3f96
diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh
new file mode 100755
index 0000000..d4476a7
--- /dev/null
+++ b/docker-entrypoint.sh
@@ -0,0 +1,4 @@
+#!/usr/bin/env bash
+set -ex
+
+exec granian --interface asgi --host 0.0.0.0 --port 7777 --respawn-failed-workers app:layer
diff --git a/logging.ini b/etc/logging.ini
similarity index 92%
rename from logging.ini
rename to etc/logging.ini
index 9a8319b..7d51267 100644
--- a/logging.ini
+++ b/etc/logging.ini
@@ -15,7 +15,7 @@ handlers=rootHandler
class=FileHandler
level=DEBUG
formatter=simpleFormatter
-args=("debug.log",)
+args=("/tmp/debug.log",)
[formatter_simpleFormatter]
format=%(asctime)s %(name)s - %(levelname)s:%(message)s
diff --git a/schema/acs_ygl_language_spoken_at_home_by_english_ability_2016_1.xml b/etc/schema/acs_ygl_language_spoken_at_home_by_english_ability_2016_1.xml
similarity index 100%
rename from schema/acs_ygl_language_spoken_at_home_by_english_ability_2016_1.xml
rename to etc/schema/acs_ygl_language_spoken_at_home_by_english_ability_2016_1.xml
diff --git a/schema/dim_shared_geography.xml b/etc/schema/dim_shared_geography.xml
similarity index 100%
rename from schema/dim_shared_geography.xml
rename to etc/schema/dim_shared_geography.xml
diff --git a/schema/dim_shared_hs6.xml b/etc/schema/dim_shared_hs6.xml
similarity index 100%
rename from schema/dim_shared_hs6.xml
rename to etc/schema/dim_shared_hs6.xml
diff --git a/schema/dim_shared_subnat_time.xml b/etc/schema/dim_shared_subnat_time.xml
similarity index 100%
rename from schema/dim_shared_subnat_time.xml
rename to etc/schema/dim_shared_subnat_time.xml
diff --git a/schema/dim_shared_subnational_hs6.xml b/etc/schema/dim_shared_subnational_hs6.xml
similarity index 100%
rename from schema/dim_shared_subnational_hs6.xml
rename to etc/schema/dim_shared_subnational_hs6.xml
diff --git a/schema/dim_shared_trade_flow.xml b/etc/schema/dim_shared_trade_flow.xml
similarity index 100%
rename from schema/dim_shared_trade_flow.xml
rename to etc/schema/dim_shared_trade_flow.xml
diff --git a/schema/dim_shared_unit.xml b/etc/schema/dim_shared_unit.xml
similarity index 100%
rename from schema/dim_shared_unit.xml
rename to etc/schema/dim_shared_unit.xml
diff --git a/schema/dim_shared_units.xml b/etc/schema/dim_shared_units.xml
similarity index 100%
rename from schema/dim_shared_units.xml
rename to etc/schema/dim_shared_units.xml
diff --git a/schema/emissions.xml b/etc/schema/emissions.xml
similarity index 100%
rename from schema/emissions.xml
rename to etc/schema/emissions.xml
diff --git a/schema/gini.xml b/etc/schema/gini.xml
similarity index 100%
rename from schema/gini.xml
rename to etc/schema/gini.xml
diff --git a/schema/national_exports.xml b/etc/schema/national_exports.xml
similarity index 100%
rename from schema/national_exports.xml
rename to etc/schema/national_exports.xml
diff --git a/schema/trade_i_baci_a_96.xml b/etc/schema/trade_i_baci_a_96.xml
similarity index 100%
rename from schema/trade_i_baci_a_96.xml
rename to etc/schema/trade_i_baci_a_96.xml
diff --git a/schema/trade_s_chl_m_hs.xml b/etc/schema/trade_s_chl_m_hs.xml
similarity index 100%
rename from schema/trade_s_chl_m_hs.xml
rename to etc/schema/trade_s_chl_m_hs.xml
diff --git a/explorer/assets/extras-2ba1cc58.js b/etc/static/assets/extras-2ba1cc58.js
similarity index 100%
rename from explorer/assets/extras-2ba1cc58.js
rename to etc/static/assets/extras-2ba1cc58.js
diff --git a/explorer/assets/extras-legacy-436a21b2.js b/etc/static/assets/extras-legacy-436a21b2.js
similarity index 100%
rename from explorer/assets/extras-legacy-436a21b2.js
rename to etc/static/assets/extras-legacy-436a21b2.js
diff --git a/explorer/assets/index-05c52edf.js b/etc/static/assets/index-05c52edf.js
similarity index 100%
rename from explorer/assets/index-05c52edf.js
rename to etc/static/assets/index-05c52edf.js
diff --git a/explorer/assets/index-9d9ae4af.css b/etc/static/assets/index-9d9ae4af.css
similarity index 100%
rename from explorer/assets/index-9d9ae4af.css
rename to etc/static/assets/index-9d9ae4af.css
diff --git a/explorer/assets/index-legacy-41dff41e.js b/etc/static/assets/index-legacy-41dff41e.js
similarity index 100%
rename from explorer/assets/index-legacy-41dff41e.js
rename to etc/static/assets/index-legacy-41dff41e.js
diff --git a/explorer/assets/polyfills-legacy-81a97fa2.js b/etc/static/assets/polyfills-legacy-81a97fa2.js
similarity index 100%
rename from explorer/assets/polyfills-legacy-81a97fa2.js
rename to etc/static/assets/polyfills-legacy-81a97fa2.js
diff --git a/explorer/assets/vizbuilder-885ed3fe.js b/etc/static/assets/vizbuilder-885ed3fe.js
similarity index 100%
rename from explorer/assets/vizbuilder-885ed3fe.js
rename to etc/static/assets/vizbuilder-885ed3fe.js
diff --git a/explorer/assets/vizbuilder-legacy-0da71976.js b/etc/static/assets/vizbuilder-legacy-0da71976.js
similarity index 100%
rename from explorer/assets/vizbuilder-legacy-0da71976.js
rename to etc/static/assets/vizbuilder-legacy-0da71976.js
diff --git a/explorer/index.html b/etc/static/index.html
similarity index 100%
rename from explorer/index.html
rename to etc/static/index.html
diff --git a/pyproject.toml b/pyproject.toml
index cf9c802..49bbf19 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,27 +1,27 @@
-[tool.poetry]
-name = "tesseract-olap-demo"
-version = "0.4.0"
+[project]
+name = "tesseract-app"
+version = "0.1.0"
description = ""
+requires-python = ">=3.10"
+dependencies = [
+ "granian>=1.6.0",
+ "logiclayer-complexity>=0.5.5",
+ "logiclayer>=0.4.0",
+ "tesseract-olap[clickhouse,redis]>=0.10.3",
+]
authors = [
- "Francisco Abarzua ",
- "Samuel Osorio ",
+ {name = "Francisco Abarzua", email = "francisco@datawheel.us"},
+ {name = "Samuel Osorio", email = "samuel@datawheel.us"},
]
-license = "MIT"
-packages = [{include = "app"}]
-
-[tool.poetry.dependencies]
-python = "^3.8"
-granian = "^1.4.0"
-logiclayer = "^0.4.0"
-logiclayer-complexity = "^0.5.4"
-tesseract-olap = {extras = ["clickhouse", "redis"], version = "^0.9.9"}
-pandas = "^1.5.3"
-[tool.poetry.group.dev.dependencies]
-granian = {extras = ["reload"], version = "^1.4.0"}
-python-dotenv = {extras = ["cli"], version = "^1.0.1"}
-ruff = "^0.4.8"
+[tool.pyright]
+venvPath = "."
+venv = ".venv"
+pythonVersion = "3.10"
-[build-system]
-requires = ["poetry-core"]
-build-backend = "poetry.core.masonry.api"
+[tool.uv]
+dev-dependencies = [
+ "granian[reload]>=1.6.0",
+ "python-dotenv[cli]>=1.0.1",
+ "pytest>=8.3.3",
+]
\ No newline at end of file
diff --git a/schema.tgz b/schema.tgz
new file mode 100644
index 0000000..ac52d60
Binary files /dev/null and b/schema.tgz differ
diff --git a/shell.nix b/shell.nix
new file mode 100644
index 0000000..08eafe3
--- /dev/null
+++ b/shell.nix
@@ -0,0 +1,15 @@
+{ pkgs ? import {} }:
+
+pkgs.mkShell {
+ buildInputs = [
+ pkgs.python311
+ pkgs.python311Packages.python-dotenv
+ pkgs.python311Packages.setuptools
+ pkgs.python311Packages.wheel
+ pkgs.poetry
+ ];
+ shellHook = ''
+ export POETRY_VIRTUALENVS_IN_PROJECT=true
+ test -d .venv && source .venv/bin/activate
+ '';
+}
diff --git a/src/server/__init__.py b/src/server/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/src/server/debug.py b/src/server/debug.py
new file mode 100644
index 0000000..885b3b9
--- /dev/null
+++ b/src/server/debug.py
@@ -0,0 +1,53 @@
+import getpass
+import html
+import os
+import pathlib
+import platform
+import socket
+import sys
+from pathlib import Path
+
+import logiclayer as ll
+from fastapi.responses import StreamingResponse
+
+
+class DebugModule(ll.LogicLayerModule):
+ @ll.route("GET", "/logs")
+ def route_logs(self):
+ return StreamingResponse(log_generator())
+
+ @ll.route("GET", "/env")
+ def route_resources(self):
+ return {
+ "Python version": sys.version,
+ "Platform": platform.platform(),
+ "Processor": platform.processor(),
+ "Architecture": platform.architecture(),
+ "Hostname": socket.gethostname(),
+ "IP Address": socket.gethostbyname(socket.gethostname()),
+ "Current Working Directory": os.getcwd(),
+ }
+
+ @ll.route("GET", "/permissions")
+ def route_state(self):
+ cwd = Path.cwd()
+ stat = cwd.stat()
+
+ return {
+ "user": getpass.getuser(),
+ "path": cwd,
+ "chmod": oct(stat.st_mode),
+ "chown": [stat.st_uid, stat.st_gid],
+ }
+
+
+def log_generator():
+ yield "\n"
+ with pathlib.Path("/tmp/debug.log").open() as fp:
+ for line in fp:
+ escaped = html.escape(line.strip())
+ if "oec.auth" in line or "tesseract_olap.server" in line:
+ yield f" \n{escaped}
"
+ else:
+ yield f"{escaped}
"
+ yield " "
diff --git a/tests/__init__.py b/tests/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/tests/conftest.py b/tests/conftest.py
new file mode 100644
index 0000000..5871ed8
--- /dev/null
+++ b/tests/conftest.py
@@ -0,0 +1 @@
+import pytest
diff --git a/uv.lock b/uv.lock
new file mode 100644
index 0000000..0d47852
--- /dev/null
+++ b/uv.lock
@@ -0,0 +1,1043 @@
+version = 1
+requires-python = ">=3.10"
+resolution-markers = [
+ "python_full_version < '3.11' and implementation_name == 'pypy'",
+ "python_full_version < '3.11' and implementation_name != 'pypy'",
+ "python_full_version == '3.11.*' and implementation_name == 'pypy'",
+ "python_full_version == '3.11.*' and implementation_name != 'pypy'",
+ "python_full_version == '3.12.*' and implementation_name == 'pypy'",
+ "python_full_version == '3.12.*' and implementation_name != 'pypy'",
+ "python_full_version >= '3.13' and implementation_name == 'pypy'",
+ "python_full_version >= '3.13' and implementation_name != 'pypy'",
+]
+
+[[package]]
+name = "annotated-types"
+version = "0.7.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643 },
+]
+
+[[package]]
+name = "anyio"
+version = "4.4.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "exceptiongroup", marker = "python_full_version < '3.11'" },
+ { name = "idna" },
+ { name = "sniffio" },
+ { name = "typing-extensions", marker = "python_full_version < '3.11'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/e6/e3/c4c8d473d6780ef1853d630d581f70d655b4f8d7553c6997958c283039a2/anyio-4.4.0.tar.gz", hash = "sha256:5aadc6a1bbb7cdb0bede386cac5e2940f5e2ff3aa20277e991cf028e0585ce94", size = 163930 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/7b/a2/10639a79341f6c019dedc95bd48a4928eed9f1d1197f4c04f546fc7ae0ff/anyio-4.4.0-py3-none-any.whl", hash = "sha256:c1b2d8f46a8a812513012e1107cb0e68c17159a7a594208005a57dc776e1bdc7", size = 86780 },
+]
+
+[[package]]
+name = "async-timeout"
+version = "4.0.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/87/d6/21b30a550dafea84b1b8eee21b5e23fa16d010ae006011221f33dcd8d7f8/async-timeout-4.0.3.tar.gz", hash = "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f", size = 8345 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a7/fa/e01228c2938de91d47b307831c62ab9e4001e747789d0b05baf779a6488c/async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028", size = 5721 },
+]
+
+[[package]]
+name = "asyncio"
+version = "3.4.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/da/54/054bafaf2c0fb8473d423743e191fcdf49b2c1fd5e9af3524efbe097bafd/asyncio-3.4.3.tar.gz", hash = "sha256:83360ff8bc97980e4ff25c964c7bd3923d333d177aa4f7fb736b019f26c7cb41", size = 204411 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/22/74/07679c5b9f98a7cb0fc147b1ef1cc1853bc07a4eb9cb5731e24732c5f773/asyncio-3.4.3-py3-none-any.whl", hash = "sha256:c4d18b22701821de07bd6aea8b53d21449ec0ec5680645e5317062ea21817d2d", size = 101767 },
+]
+
+[[package]]
+name = "certifi"
+version = "2024.8.30"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b0/ee/9b19140fe824b367c04c5e1b369942dd754c4c5462d5674002f75c4dedc1/certifi-2024.8.30.tar.gz", hash = "sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9", size = 168507 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/12/90/3c9ff0512038035f59d279fddeb79f5f1eccd8859f06d6163c58798b9487/certifi-2024.8.30-py3-none-any.whl", hash = "sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8", size = 167321 },
+]
+
+[[package]]
+name = "click"
+version = "8.1.7"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "colorama", marker = "platform_system == 'Windows'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/96/d3/f04c7bfcf5c1862a2a5b845c6b2b360488cf47af55dfa79c98f6a6bf98b5/click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de", size = 336121 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/00/2e/d53fa4befbf2cfa713304affc7ca780ce4fc1fd8710527771b58311a3229/click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28", size = 97941 },
+]
+
+[[package]]
+name = "clickhouse-cityhash"
+version = "1.0.2.4"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/ba/23/3e0f00817ddccf005896bda02f3f6b6ffb106e08479a0d025748c0553ea2/clickhouse-cityhash-1.0.2.4.tar.gz", hash = "sha256:7b3125d7d0aa13c2cc4e7583a965a6bfb0aa96a12131475b442552bacb55f4f8", size = 35690 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/03/ec/f23a69636aead813143925bee230e73e71abcd07910951ba4ac29ba707a0/clickhouse_cityhash-1.0.2.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:55e09765bf60af4da7558f95538bd5995f7491c4569fa2ca7201c2810eeb7161", size = 19037 },
+ { url = "https://files.pythonhosted.org/packages/37/e3/7b288996ddf1b0ee8d47f2f07250a5df3bfb51834fd6d7edb007f54d9ce0/clickhouse_cityhash-1.0.2.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b10485d85320bba44bfd34f5f62ed630944d7f380b40cdbb0ded2466dd223873", size = 27234 },
+ { url = "https://files.pythonhosted.org/packages/0e/e1/7b84838196310e3ea11d5d95665e566f889424f6bc2d8a7da422f73da546/clickhouse_cityhash-1.0.2.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4863741f7f44ea605332f5c0d739522d3e746aaa9157a7e9ede0d906c88c6881", size = 95888 },
+ { url = "https://files.pythonhosted.org/packages/98/01/920b0e6c4bb17af82d3e83c0e2d7a895492ffcb7aeddb873344353d7c439/clickhouse_cityhash-1.0.2.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8f4a9ea87800ff8e035bbda0975f7d0c973718084bcb974f188917777611f208", size = 100321 },
+ { url = "https://files.pythonhosted.org/packages/b8/4a/02edf71430fe823b8ef7e64e62406e48a84fe022e392b563340929c26e1d/clickhouse_cityhash-1.0.2.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:414fd3049198b3779a61d85bab0272bce8e8d01a7b396304cd9a1f37e3d3dd5d", size = 97573 },
+ { url = "https://files.pythonhosted.org/packages/0b/0f/7f1d21985fc78e8f8830acfb5639487516c0dc3df19368d9a331526d431e/clickhouse_cityhash-1.0.2.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f935d00ee0eab302794db95f8a4921a7b7e8041d911cc6003564052ee503065f", size = 100965 },
+ { url = "https://files.pythonhosted.org/packages/1a/d5/7630295ed95cf9950a3732cfa56811296fb2d825a53748f871a50741bd3d/clickhouse_cityhash-1.0.2.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:08014a1818b599d3a5a97227b415beb2bc0cb059c8adb0f947c73e0b423cd32c", size = 96352 },
+ { url = "https://files.pythonhosted.org/packages/30/ff/628d5f2555fafc67837b3d837e4aa74d61a225f4c3b3133a76dd886aa7a5/clickhouse_cityhash-1.0.2.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:1e5c2c54de1500f4d11105fe7b3cff850f4d83a55509c101f6c21a1dfafc640b", size = 99864 },
+ { url = "https://files.pythonhosted.org/packages/33/0b/79c76dbb3fd53d6884bcbd5660259e661a3d6e81b8bfe7dcb67442ef033e/clickhouse_cityhash-1.0.2.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:33d7d044938a64b8ac50f78c171b07776cea0c515f144fff2e8e5209a8f74fbc", size = 106748 },
+ { url = "https://files.pythonhosted.org/packages/f3/df/52b0d40239a197974927e5214b423fbcd99238baed4981f18c92112599cf/clickhouse_cityhash-1.0.2.4-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:4308f60e67cf4974ff616393f56fd47e4f1189832dbdfe79f6f54ef1590b7f65", size = 105997 },
+ { url = "https://files.pythonhosted.org/packages/94/1e/b435c8af080c02dd927d889888d726c3e3c1fda191678bb2c0204267af71/clickhouse_cityhash-1.0.2.4-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:e2f7244f79f12f0e95ede5d793a3b23bfabaddb3b102226b09ece85a3a6d50b8", size = 102867 },
+ { url = "https://files.pythonhosted.org/packages/5b/a2/581a209be0ce3fb558a2a1a1d062085910202a4d3c19a8359cfa480c2d12/clickhouse_cityhash-1.0.2.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c5ace125efcf84548c73094a7d2e0937fa0c830416c0f916686eeec1787e6cb2", size = 102267 },
+ { url = "https://files.pythonhosted.org/packages/7e/19/fdeda37926b9f9b25363b0014f56786ce270067acd0f6adbd138924adc3a/clickhouse_cityhash-1.0.2.4-cp310-cp310-win32.whl", hash = "sha256:a1a07e90e9beab1832ea96bd2086f32d598882c1bc22fea89d8830b9e859e528", size = 20097 },
+ { url = "https://files.pythonhosted.org/packages/8f/34/04ff25f135f2fc48045c0362a6cf40e6aa1fa110b029a256737c76b28dd1/clickhouse_cityhash-1.0.2.4-cp310-cp310-win_amd64.whl", hash = "sha256:de42ac03bf12fd659028678a9dde338cbfb609b28e84ea34b39fe281c206dcf4", size = 19404 },
+ { url = "https://files.pythonhosted.org/packages/e9/ca/ad70da80f0fab048eb34e06e9f2a2a3b39393f5fe4d61f4b1dd1b5164346/clickhouse_cityhash-1.0.2.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:bb3401bb08d0e27166faac7ff277ff3482e096d0455152a6b7c38b3a632a007b", size = 19918 },
+ { url = "https://files.pythonhosted.org/packages/33/07/2602185bc4c38c7d979713d7959c5c658f2a1d816a5f7a4f2b3b869525aa/clickhouse_cityhash-1.0.2.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3e813f22b836cfc7e0723fd76db044923cee9836a294950593b563d9b27c4cd1", size = 27399 },
+ { url = "https://files.pythonhosted.org/packages/1c/2b/046147d2964fc011d5f60b04afa5ea3b4ad33b7cdf93fd32c5115cf283f0/clickhouse_cityhash-1.0.2.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:daae6e5108e618f3fb64eab8c9dbf74e05fae5ba4b4d785fc7548a1c2573444b", size = 104745 },
+ { url = "https://files.pythonhosted.org/packages/58/c6/ea325655b75f3dd7363ce789f4c4e5196404cb44dde20bb669a56077c57a/clickhouse_cityhash-1.0.2.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:201a81b8532251b90d7f3e10587a9f4a33bdf3c6928d16a95ec3cdb5adc6af79", size = 109085 },
+ { url = "https://files.pythonhosted.org/packages/d4/8d/6fa1f6f121819a8837ed22cd4fe2068c7d8397c7d9c8d3023b2065d76831/clickhouse_cityhash-1.0.2.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2e8028d838665a407fe816d31c1d1f3c62dfed339f155a7e18a66a250d06d5e", size = 106252 },
+ { url = "https://files.pythonhosted.org/packages/18/c2/1cf97c56633431ea28c0f11c7fb6222a2e599c95dbc91dc11dc7c90c9432/clickhouse_cityhash-1.0.2.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:af3571ef45a22165b6d9243741403b0e9d1aaa66b6bd8f2ccc915a5f2398527b", size = 107411 },
+ { url = "https://files.pythonhosted.org/packages/b6/21/6c06cf0eab42df21b5bc3ed1ef04e2e07b0dd719bd224959b9d33dbe5457/clickhouse_cityhash-1.0.2.4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eccee9a6b2de285fcb1d06324c19daf4cf49f927130d58eac494a095b11dee0b", size = 105189 },
+ { url = "https://files.pythonhosted.org/packages/4c/61/340a767db65e871035f37763e825083d8915f8f8d4bc8dbc387a87c9159a/clickhouse_cityhash-1.0.2.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f0cafa5bc921ac1759d639ef09c1d62ed8c7db120ef8cd9282bf7a3729e46d06", size = 107757 },
+ { url = "https://files.pythonhosted.org/packages/49/1f/34ad430040ab2948170913948b796d7c36ca996b297c3a3267acdb3fdadc/clickhouse_cityhash-1.0.2.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:f507938a2a2c85712f0942af45b68c509e81167cf37b6dc6fdc788de46dd1e99", size = 112268 },
+ { url = "https://files.pythonhosted.org/packages/d9/6c/3b5e40a8e6b1e4a99378d36967dd77c175e61b682cf11f3717dd053c6ed4/clickhouse_cityhash-1.0.2.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:37a4b684cfc67cb43e77e4157fa1ba7f7820a0d06508317712ec1ef73424439a", size = 113991 },
+ { url = "https://files.pythonhosted.org/packages/9f/55/5a4bb3c7687a093ffa5dceda40761a8b571ffb150e31f9f1adbbab9ac6bf/clickhouse_cityhash-1.0.2.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:8b035343fc084446f9d092247118ee7d1012f068957e79e49fea3cf2fc3ba39c", size = 110734 },
+ { url = "https://files.pythonhosted.org/packages/98/f2/56785137b7c9719ac05feb6062be34b77c5da3c0eadef1dc2754568afc09/clickhouse_cityhash-1.0.2.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:11fb7899867eae45c32a17bb2680a464a851a50088cf1ba83d7e370410887e03", size = 110146 },
+ { url = "https://files.pythonhosted.org/packages/00/ef/4dd492d98377e0249f096dccad2a39562a2e390cf57d73dbf90df3b519b2/clickhouse_cityhash-1.0.2.4-cp311-cp311-win32.whl", hash = "sha256:b460bd12d1ab79aa2e704ae08e83281f790e2b8511740f339b3aa906cab8c24b", size = 20546 },
+ { url = "https://files.pythonhosted.org/packages/37/0b/b3067bc4f7dc1e0c0f4e789befab1be9b6e254734e7a4344c97be140e21e/clickhouse_cityhash-1.0.2.4-cp311-cp311-win_amd64.whl", hash = "sha256:0ee99f5952f3e9f859b42e66110e36554ac4df17b6219634b47eda11cbfb1b64", size = 19954 },
+ { url = "https://files.pythonhosted.org/packages/5a/03/ee7e1bd752c9713ef7495a9f779f26ebc5ad30360c4fcc2b677814d018d6/clickhouse_cityhash-1.0.2.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:261fc1b0bf349de66b2d9e3d367879a561b516ca8e54e85e0c27b7c1a4f639b4", size = 27766 },
+ { url = "https://files.pythonhosted.org/packages/aa/5c/f06cc84652b15fa0e58a21d843d43be241836c6b045af015f43d91e260bc/clickhouse_cityhash-1.0.2.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:acfa79048ac3b8203feba108c2d637d89ce1dfeaefabc1272a5c4e2dab716314", size = 27453 },
+ { url = "https://files.pythonhosted.org/packages/01/43/c6095f6056a364adb03748a62358fcbbf9cf9cd1f70e8165f39b3c75ccb8/clickhouse_cityhash-1.0.2.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bbfd83713e5a7a700c4a8200e921bc580fd7cba5f3b9d732172a5d82b12b3e20", size = 187137 },
+ { url = "https://files.pythonhosted.org/packages/8d/95/aa62fac56d2b94ddaec2f381bea721eb2c2fba80e8036ac279a1ccb1740b/clickhouse_cityhash-1.0.2.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1111ed4a7a43fc29d6236425b22a14cae5585ee09a2f0496232918bf764bf9e8", size = 195896 },
+ { url = "https://files.pythonhosted.org/packages/38/0e/6d674df16978350a5cc6848f130faa3812dc338caace743cb11a160c483a/clickhouse_cityhash-1.0.2.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3e410b2cc5a658308daafaaf4d748b7d955e3c520510d41b6fd4c04d01a2b656", size = 193828 },
+ { url = "https://files.pythonhosted.org/packages/d5/9f/067b8a8448fed6fe7ff04c9220f9672d11bf56246a7ae3d5c4ead199514d/clickhouse_cityhash-1.0.2.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6e7fc486b75d991d7ede80fc467075c5376566e74f4bc6c01e2d2cd433536a24", size = 189595 },
+ { url = "https://files.pythonhosted.org/packages/6f/ed/a2e1dd7c2b138db91c4d679fac48d84d181e8ebfd98e3ce0243664f4769c/clickhouse_cityhash-1.0.2.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f1f8fec4027cd648f72009ef59c9b76c5a27a33ca166b4e79e46542009429813", size = 188069 },
+ { url = "https://files.pythonhosted.org/packages/ae/e5/f399fdf2f1468dbfb29d9e9c61e8a05cd41562d573112c5c52e76e698af7/clickhouse_cityhash-1.0.2.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:2d3c436f2682f37c9d501e5fa14e7ec114d68d80a40b56125bb5ad8892abea27", size = 193633 },
+ { url = "https://files.pythonhosted.org/packages/b3/59/29eee5cfecbf451602a0d7b09f3939f4dcba881cf63896bf1473e3299d66/clickhouse_cityhash-1.0.2.4-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:58fe79c80e8db811bbc1119dea51a42235813734c4989b76ecfd3f63d67e980e", size = 190993 },
+ { url = "https://files.pythonhosted.org/packages/db/80/f42fe2895e63495a92a2249decf3bdadea54e3d8e0fbd16f4805055d94b5/clickhouse_cityhash-1.0.2.4-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:8abcbaf0324323f74bdf95089226f42b69ccb05dd03a5fa5295011ba89402f10", size = 199609 },
+ { url = "https://files.pythonhosted.org/packages/59/54/5cf8259c2749a545b001309c2badf343b3cd3bfd4f2ef29897f1eb55e3e8/clickhouse_cityhash-1.0.2.4-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b3f4c4c8bc6b24ca14d3c79cec2201158222a1559e155c5f232d4782d5b27c7d", size = 198112 },
+ { url = "https://files.pythonhosted.org/packages/e8/b9/3236bcb4cfc5b112a7d32464c70bc6c04a491f368e13467aecbfa4a5e4a7/clickhouse_cityhash-1.0.2.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:f6ba93ca4e18eae79ce5ea1975551050a35136ec9e6d22b2bf066c3d2c885c47", size = 192923 },
+ { url = "https://files.pythonhosted.org/packages/03/63/8f1124afca3b61e9ec44c67572a13c6c590885d164fb2439cc9f9f41e23b/clickhouse_cityhash-1.0.2.4-cp312-cp312-win32.whl", hash = "sha256:37720341a4499514ec7a097c4fbebc3892bea983f225f771de8dd50e77fe9333", size = 27042 },
+ { url = "https://files.pythonhosted.org/packages/53/a6/6d2c4eb2e225ff317b210c450c0661d0e005e413e0ca7e48e6f9e33095c2/clickhouse_cityhash-1.0.2.4-cp312-cp312-win_amd64.whl", hash = "sha256:0409917be29f5ad80a6772712fce954b5e81450555636e8523290ee9740a2dbb", size = 27909 },
+]
+
+[[package]]
+name = "clickhouse-driver"
+version = "0.2.9"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pytz" },
+ { name = "tzlocal" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/bf/0b/3790274f7591fc55b1f91bcc8e576338859cc632b1b17288b5bab79b769d/clickhouse-driver-0.2.9.tar.gz", hash = "sha256:050ea4870ead993910b39e7fae965dc1c347b2e8191dcd977cd4b385f9e19f87", size = 357752 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/bd/0a/e5bb8a527f88acc1ee2efca28354cf5eab40e26e974df2221ab27abf9b9a/clickhouse_driver-0.2.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6ce04e9d0d0f39561f312d1ac1a8147bc9206e4267e1a23e20e0423ebac95534", size = 219246 },
+ { url = "https://files.pythonhosted.org/packages/e1/fd/8d057e77c8e7f1c739fcb76277edf83a863a259505031a2f8668d5bb2221/clickhouse_driver-0.2.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7ae5c8931bf290b9d85582e7955b9aad7f19ff9954e48caa4f9a180ea4d01078", size = 215395 },
+ { url = "https://files.pythonhosted.org/packages/8e/71/fa053b0327a8e7cdd3f69e3f01a5683f901e2b1388f057db9d39de86f016/clickhouse_driver-0.2.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e51792f3bd12c32cb15a907f12de3c9d264843f0bb33dce400e3966c9f09a3f", size = 923279 },
+ { url = "https://files.pythonhosted.org/packages/a2/a7/9be2e1a40543959c9c008bf01ae54aef793153eeef9885fca8a16ab677b8/clickhouse_driver-0.2.9-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:42fc546c31e4a04c97b749769335a679c9044dc693fa7a93e38c97fd6727173d", size = 967909 },
+ { url = "https://files.pythonhosted.org/packages/7f/ec/16b320623a30de3b62f37f7aec4d33fc10a09bd095160346abd288a71822/clickhouse_driver-0.2.9-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6a383a403d185185c64e49edd6a19b2ec973c5adcb8ebff7ed2fc539a2cc65a5", size = 965883 },
+ { url = "https://files.pythonhosted.org/packages/df/8b/1997d8c3f88127441229c8080b5701e3d8b6ffd591a0890d6c518f8b1355/clickhouse_driver-0.2.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f05321a97e816afc75b3e4f9eda989848fecf14ecf1a91d0f22c04258123d1f7", size = 935935 },
+ { url = "https://files.pythonhosted.org/packages/ca/60/1751a1ef2b70026c6c0a5d9b7e31a19bcd54dcc6b245de5d3db2034108cc/clickhouse_driver-0.2.9-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:be47e793846aac28442b6b1c6554e0731b848a5a7759a54aa2489997354efe4a", size = 911710 },
+ { url = "https://files.pythonhosted.org/packages/a8/e0/05697a02f3e388c64c57ae5bddc5deb45f5802d0d62a10c633965a3dad8b/clickhouse_driver-0.2.9-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:780e42a215d1ae2f6d695d74dd6f087781fb2fa51c508b58f79e68c24c5364e0", size = 933821 },
+ { url = "https://files.pythonhosted.org/packages/7e/44/650ea0e3bfaa587b062a3da60233d061e568b412c21e429a116ce7134023/clickhouse_driver-0.2.9-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:9e28f1fe850675e173db586e9f1ac790e8f7edd507a4227cd54cd7445f8e75b6", size = 920276 },
+ { url = "https://files.pythonhosted.org/packages/fb/66/0991e9f6a14838c900446b258ba55ef47a79bc224bf74c23c92dd157ad7d/clickhouse_driver-0.2.9-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:125aae7f1308d3083dadbb3c78f828ae492e060f13e4007a0cf53a8169ed7b39", size = 973511 },
+ { url = "https://files.pythonhosted.org/packages/8b/01/733d6f55344093a2b87d05db864df9044e756c13894c19000be3535b062b/clickhouse_driver-0.2.9-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:2f3c4fbb61e75c62a1ab93a1070d362de4cb5682f82833b2c12deccb3bae888d", size = 980838 },
+ { url = "https://files.pythonhosted.org/packages/63/0c/5dba2a82fe1701c7f0db88a1d7d08134a8c80192f2548871b87c54b066c3/clickhouse_driver-0.2.9-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0dc03196a84e32d23b88b665be69afae98f57426f5fdf203e16715b756757961", size = 950460 },
+ { url = "https://files.pythonhosted.org/packages/5b/24/08f1d0afceaf5e2f325d851add6b9f80bd71c6c540dc29a1197d8d37eadb/clickhouse_driver-0.2.9-cp310-cp310-win32.whl", hash = "sha256:25695d78a1d7ad6e221e800612eac08559f6182bf6dee0a220d08de7b612d993", size = 198432 },
+ { url = "https://files.pythonhosted.org/packages/73/9b/6c110f95530c26b9297bf204e487e645c90eb28dd3ca2cf40ac8ae61e4b4/clickhouse_driver-0.2.9-cp310-cp310-win_amd64.whl", hash = "sha256:367acac95398d721a0a2a6cf87e93638c5588b79498a9848676ce7f182540a6c", size = 213541 },
+ { url = "https://files.pythonhosted.org/packages/53/e9/8bf043fbac34e06eebb7d58647c1a28616bf065cdc3334c8d771902c8902/clickhouse_driver-0.2.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5a7353a7a08eee3aa0001d8a5d771cb1f37e2acae1b48178002431f23892121a", size = 220413 },
+ { url = "https://files.pythonhosted.org/packages/88/6d/e8b534bee11c809f52b1c9d77160da48a3d84c775d7e547a73f2d2ba1f9f/clickhouse_driver-0.2.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6af1c6cbc3481205503ab72a34aa76d6519249c904aa3f7a84b31e7b435555be", size = 215881 },
+ { url = "https://files.pythonhosted.org/packages/f0/5e/894f789b47a4deaff0a84b2660323b4b3e692c3ff5cc0783d59a7945b50d/clickhouse_driver-0.2.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:48033803abd1100bfff6b9a1769d831b672cd3cda5147e0323b956fd1416d38d", size = 1015584 },
+ { url = "https://files.pythonhosted.org/packages/ab/91/951e0aa20d110f8d801023fec28c9cbbb0cfa9c596170e732e66bb30bf9d/clickhouse_driver-0.2.9-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1f202a58a540c85e47c31dabc8f84b6fe79dca5315c866450a538d58d6fa0571", size = 1058755 },
+ { url = "https://files.pythonhosted.org/packages/7a/25/2ff96df78d078150e5bc01307657a21b8bd29f040c11bffed7841228eabe/clickhouse_driver-0.2.9-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e4df50fd84bfa4aa1eb7b52d48136066bfb64fabb7ceb62d4c318b45a296200b", size = 1058250 },
+ { url = "https://files.pythonhosted.org/packages/f7/08/1b08d596dab964bd306a45d4d3fe84c1740888d5a392374621a5fac8f186/clickhouse_driver-0.2.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:433a650571a0d7766eb6f402e8f5930222997686c2ee01ded22f1d8fd46af9d4", size = 1026785 },
+ { url = "https://files.pythonhosted.org/packages/8e/34/8b34c729719617373f645ad4cdff38ff7f7903b417208ad97859407edb3f/clickhouse_driver-0.2.9-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:232ee260475611cbf7adb554b81db6b5790b36e634fe2164f4ffcd2ca3e63a71", size = 988253 },
+ { url = "https://files.pythonhosted.org/packages/f0/b0/d36ec521179b7d2966831ae875e2049800c653d6a6697e96c3143e09b66c/clickhouse_driver-0.2.9-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:09049f7e71f15c9c9a03f597f77fc1f7b61ababd155c06c0d9e64d1453d945d7", size = 1016946 },
+ { url = "https://files.pythonhosted.org/packages/0f/90/74e9cc608a9c0aca8fc58e3fa1dc5f8dda4e0c00bd3d4be8c9abd31a4e54/clickhouse_driver-0.2.9-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:424153d1d5f5a807f596a48cc88119f9fb3213ca7e38f57b8d15dcc964dd91f7", size = 993030 },
+ { url = "https://files.pythonhosted.org/packages/29/b5/7831b1eefb8450e12b263cc8d9e60615e361d698485ffc66fd8704145381/clickhouse_driver-0.2.9-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:4f078fd1cf19c4ca63b8d1e0803df665310c8d5b644c5b02bf2465e8d6ef8f55", size = 1053397 },
+ { url = "https://files.pythonhosted.org/packages/fc/d2/4c2206105f7e8d5a06b1aea6ea345fadf42d299f0b642b89b86c3be8b726/clickhouse_driver-0.2.9-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:f138d939e26e767537f891170b69a55a88038919f5c10d8865b67b8777fe4848", size = 1061742 },
+ { url = "https://files.pythonhosted.org/packages/10/1c/0951208141bb26681c06ea0c84a0fe5e4374b1560c38abe8b5f93da6bbb5/clickhouse_driver-0.2.9-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9aafabc7e32942f85dcb46f007f447ab69024831575df97cae28c6ed127654d1", size = 1031183 },
+ { url = "https://files.pythonhosted.org/packages/23/94/2e533b5638fddb6abfb3f3de41f9938445661aae781209c5d6634d53b40f/clickhouse_driver-0.2.9-cp311-cp311-win32.whl", hash = "sha256:935e16ebf1a1998d8493979d858821a755503c9b8af572d9c450173d4b88868c", size = 198031 },
+ { url = "https://files.pythonhosted.org/packages/45/87/163e4469d298d5f74a61328a129494c84404932ae25d7c585b172609def7/clickhouse_driver-0.2.9-cp311-cp311-win_amd64.whl", hash = "sha256:306b3102cba278b5dfec6f5f7dc8b78416c403901510475c74913345b56c9e42", size = 213510 },
+ { url = "https://files.pythonhosted.org/packages/60/58/acc74be412330aa4d681df2d13e013e84e27cc767dea73a507cb71c74cff/clickhouse_driver-0.2.9-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fcb2fd00e58650ae206a6d5dbc83117240e622471aa5124733fbf2805eb8bda0", size = 221487 },
+ { url = "https://files.pythonhosted.org/packages/f5/bc/09b69a1be0155e02a0df9ecafb63c9a2f7d9e412c865dd3c711e07967e85/clickhouse_driver-0.2.9-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b7a3e6b0a1eb218e3d870a94c76daaf65da46dca8f6888ea6542f94905c24d88", size = 217362 },
+ { url = "https://files.pythonhosted.org/packages/ed/58/79eadc238d6ee0d7920ae36f0ea3a6479a8310bffb6c97ea6aa060a98434/clickhouse_driver-0.2.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a8d8e2888a857d8db3d98765a5ad23ab561241feaef68bbffc5a0bd9c142342", size = 1018173 },
+ { url = "https://files.pythonhosted.org/packages/44/61/1647a0d8aae2c4a3d8c3093d1799f943ff38a0cb81d5e4050be18993f3fa/clickhouse_driver-0.2.9-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:85d50c011467f5ff6772c4059345968b854b72e07a0219030b7c3f68419eb7f7", size = 1046542 },
+ { url = "https://files.pythonhosted.org/packages/77/23/32bab0efeec64d56313b90c73d067440829630f9a5980de73cb52350a4c9/clickhouse_driver-0.2.9-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:93b395c1370629ccce8fb3e14cd5be2646d227bd32018c21f753c543e9a7e96b", size = 1057508 },
+ { url = "https://files.pythonhosted.org/packages/07/8e/9b79fd85d28a9e83b87a8722a8e736d69ef5edde8cee5d1dde6950aa512f/clickhouse_driver-0.2.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6dbcee870c60d9835e5dce1456ab6b9d807e6669246357f4b321ef747b90fa43", size = 1032860 },
+ { url = "https://files.pythonhosted.org/packages/bd/ca/208358dd8d80a25633b5f19a9acadb1fb23b55be7f2123e5e70d132de204/clickhouse_driver-0.2.9-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fffa5a5f317b1ec92e406a30a008929054cf3164d2324a3c465d0a0330273bf8", size = 984133 },
+ { url = "https://files.pythonhosted.org/packages/19/e1/9767cea5bfc9451b7a2680d5b0d4bd3261c56db92002f90ce716209f59c1/clickhouse_driver-0.2.9-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:476702740a279744badbd177ae1c4a2d089ec128bd676861219d1f92078e4530", size = 1020897 },
+ { url = "https://files.pythonhosted.org/packages/f5/bc/62511b61fbee97c8ab1c64ab4bf33045bcc132d236e61a65831c0de32b82/clickhouse_driver-0.2.9-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:5cd6d95fab5ff80e9dc9baedc9a926f62f74072d42d5804388d63b63bec0bb63", size = 989911 },
+ { url = "https://files.pythonhosted.org/packages/a0/a8/e3ff5cbc24dbc087acf0733c47fe7a6a6a2f3225e9c168af2414fb803f3c/clickhouse_driver-0.2.9-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:05027d32d7cf3e46cb8d04f8c984745ae01bd1bc7b3579f9dadf9b3cca735697", size = 1045389 },
+ { url = "https://files.pythonhosted.org/packages/d6/58/29f56e340094cfec72080773e3d94c7963c2e69f70edff83f2a139965d38/clickhouse_driver-0.2.9-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:3d11831842250b4c1b26503a6e9c511fc03db096608b7c6af743818c421a3032", size = 1063242 },
+ { url = "https://files.pythonhosted.org/packages/ff/0f/161626812ad2bd9480ff390a96489983709d94b33da68f028ace9d1367be/clickhouse_driver-0.2.9-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:81b4b671b785ebb0b8aeabf2432e47072413d81db959eb8cfd8b6ab58c5799c6", size = 1039703 },
+ { url = "https://files.pythonhosted.org/packages/4a/29/e353c4e835d722b4f6b259d668c2ac47f35bf6a0053414a80522df649ff5/clickhouse_driver-0.2.9-cp312-cp312-win32.whl", hash = "sha256:e893bd4e014877174a59e032b0e99809c95ec61328a0e6bd9352c74a2f6111a8", size = 198390 },
+ { url = "https://files.pythonhosted.org/packages/5b/09/ff81e99e9ecbb85f2ada57a690b1d0cfee6f2e1eff59ee08609a160d5644/clickhouse_driver-0.2.9-cp312-cp312-win_amd64.whl", hash = "sha256:de6624e28eeffd01668803d28ae89e3d4e359b1bff8b60e4933e1cb3c6f86f18", size = 213585 },
+ { url = "https://files.pythonhosted.org/packages/76/7a/961029af713ae42e43f2691abbcee248ed057229d24613d693260edbcb32/clickhouse_driver-0.2.9-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:45a3d5b1d06750fd6a18c29b871494a2635670099ec7693e756a5885a4a70dbf", size = 197672 },
+ { url = "https://files.pythonhosted.org/packages/5b/d4/1da419cb98e829bbacea4c07e184a747804f11543ff976c6539f4fbd62f2/clickhouse_driver-0.2.9-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8415ffebd6ca9eef3024763abc450f8659f1716d015bd563c537d01c7fbc3569", size = 220898 },
+ { url = "https://files.pythonhosted.org/packages/86/d6/f9042e885f4510ab3a09ef2f5d1acfd40f328794dff66ae12e52954cda04/clickhouse_driver-0.2.9-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ace48db993aa4bd31c42de0fa8d38c94ad47405916d6b61f7a7168a48fb52ac1", size = 228801 },
+ { url = "https://files.pythonhosted.org/packages/82/62/88ece5b7ca32d8a4bb4b1d0250cb54d1cfb1e7abfc759355d1fb51fda23a/clickhouse_driver-0.2.9-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b07123334fe143bfe6fa4e3d4b732d647d5fd2cfb9ec7f2f76104b46fe9d20c6", size = 234107 },
+ { url = "https://files.pythonhosted.org/packages/b2/ba/af473c973b853a9de1312d73f929f39e17424bd723966b398b898188a13a/clickhouse_driver-0.2.9-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:e2af3efa73d296420ce6362789f5b1febf75d4aa159a479393f01549115509d5", size = 199442 },
+]
+
+[package.optional-dependencies]
+lz4 = [
+ { name = "clickhouse-cityhash" },
+ { name = "lz4" },
+]
+
+[[package]]
+name = "colorama"
+version = "0.4.6"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335 },
+]
+
+[[package]]
+name = "economic-complexity"
+version = "0.2.4"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/ec/64/ecb202e571072404a7000e0bac9df817ecee8eef2a4a40ed38a8708008a7/economic_complexity-0.2.4.tar.gz", hash = "sha256:c294747bdce6d0a70031638bbb61bab07abb8f428d69aed36d5dc22e24d80058", size = 13267 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/de/a1/d4fceaef477f8d3e20b24bec144dfc1d095729c2f6c7a7ddc8325c4a4b48/economic_complexity-0.2.4-py3-none-any.whl", hash = "sha256:7401cbfa536379ba70ffe5079df411f3dfa34a82a1a93c9f71e39de143e488c9", size = 17817 },
+]
+
+[[package]]
+name = "elementpath"
+version = "4.5.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/bb/ab/c45dd7566b84262ce429311e91cf0e7bf0d6e2b3440d798e37a05f4e9e7e/elementpath-4.5.0.tar.gz", hash = "sha256:affdc8de95af1a4c10d1d2ed79c6fa56b59c26c7fce64b73497569e9dea46998", size = 338727 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a9/1f/302acde8d77989267ca84c4c1534061c4452d76c7a8ff4702881a4b31b45/elementpath-4.5.0-py3-none-any.whl", hash = "sha256:a16438bcc6b2b3069dde204c1e105322378a108b28faea3055d1b294443babea", size = 228835 },
+]
+
+[[package]]
+name = "exceptiongroup"
+version = "1.2.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/09/35/2495c4ac46b980e4ca1f6ad6db102322ef3ad2410b79fdde159a4b0f3b92/exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc", size = 28883 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/02/cc/b7e31358aac6ed1ef2bb790a9746ac2c69bcb3c8588b41616914eb106eaf/exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b", size = 16453 },
+]
+
+[[package]]
+name = "fastapi-slim"
+version = "0.114.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pydantic" },
+ { name = "starlette" },
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/78/e1/39c489a0119b27ba0a95e3a91bf3de75447353101715f3ce22e2c7868c11/fastapi_slim-0.114.1.tar.gz", hash = "sha256:3ce4265ab89d42d13026cb9009344ea853143040fd4b411c40776a45f03dd01b", size = 295610 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/cc/d2/5bd5605bae438f2cedde30fb9a06489d0883bece613988366f34f6a3b866/fastapi_slim-0.114.1-py3-none-any.whl", hash = "sha256:edd57c9e393d071ba801a89030d9042029936c1f1131f520e420920a425b98fc", size = 94103 },
+]
+
+[[package]]
+name = "granian"
+version = "1.6.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "click" },
+ { name = "uvloop", marker = "python_full_version != '3.13.*' and platform_python_implementation == 'CPython' and sys_platform != 'win32'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/d7/3e/48483ea1467d13566b61835d432457ff555adc754bb45127b0bb9ec5d9e5/granian-1.6.0.tar.gz", hash = "sha256:b752e6de406741f3cc51c88deab4e4e11d239351f0b4b605407b802499220160", size = 79768 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/2e/13/524bdcb76532655aa69a9d9c6819d05ba09f1d7e6a500602bf7f148dee76/granian-1.6.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:e2413bd37570f2f4fcd9a4856ee5592052205d0b415a8a5286d51f3d4dce4de4", size = 2515671 },
+ { url = "https://files.pythonhosted.org/packages/1f/b9/212a4823a9bfcc9119d536ae6fb53d360c49a37454c0d2beb4257b05f979/granian-1.6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b408530fa597cb57ea7dc54353702c386ea0549a3c40c4af56bc007b9f762ca3", size = 2374544 },
+ { url = "https://files.pythonhosted.org/packages/b8/6f/385870834ba4cd119a0649dddddbdfa8292a07ff030c59e2b9fd5825a960/granian-1.6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:61147d9138189c81b4f3e1e4af375cda8d1ab0ab442163c14d22384096eaa0a3", size = 2820855 },
+ { url = "https://files.pythonhosted.org/packages/95/05/ee530fb0d5f369d5ff5a56e6c1611a44dfe887ac3f1f26157b653f274a2f/granian-1.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5533919cfa4d2fc7d2ba4508a1c90ec1b1704399eccdd795e9d9a1543a2a7995", size = 3271424 },
+ { url = "https://files.pythonhosted.org/packages/85/1c/d45b59b9e5da210e66e3896c98c505485fcfa17486869fafa096ce03f334/granian-1.6.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:f2255aa3822f9004ef7ea13821e0afd5d0719d103461d4858b9d096e0800c369", size = 2982781 },
+ { url = "https://files.pythonhosted.org/packages/ad/cc/1bbcfdc7cc0b4f7eef4f3843023f74f5498a316b55e1183cb5e87e9a16ef/granian-1.6.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8cdd3f45a5fb803729bd49ce5b4b0e279845bc3e2b8c4a9a9b1d60dd40d0ed3d", size = 3080027 },
+ { url = "https://files.pythonhosted.org/packages/90/82/8f986a2271fa6b2b7c47877cdd8940a1fc0fe8b545239cd27eb47828275d/granian-1.6.0-cp310-none-win_amd64.whl", hash = "sha256:58d9629640b1499a871a0ad796d57f2fde3527c9593d8dec374fa79e21ad99bd", size = 1981036 },
+ { url = "https://files.pythonhosted.org/packages/81/b3/bbd69601fdaa61fe911682d1b7564cc2e1c843fc22174803ffe9ffe52d0d/granian-1.6.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d026adda75ab4bb7c6e32e3ae2241442baaeb7ef489ce18cd1d4e5c228c96164", size = 2512908 },
+ { url = "https://files.pythonhosted.org/packages/44/fe/bf431ac094a12bedf2edd9fd8cc3b157381439a580bb07a8fd726b844316/granian-1.6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:566c2cc2fe40a1e3945ba7ebdaf94730931397667df0818d66ff7eb8843437b8", size = 2374734 },
+ { url = "https://files.pythonhosted.org/packages/a2/1d/0f74431acc0f5e7ce2f6b8bf823888fa37193e99a876fc6e10ae555c958d/granian-1.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ec459c7691681cf21117ed761ab9816a177c3dc0a3eaa1fd5cfa1ee246f1b83", size = 2820593 },
+ { url = "https://files.pythonhosted.org/packages/43/7b/c97b3e32e19cbe180974a68e87dac86986464932b06d1d8726f91e30773e/granian-1.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f3960d28c43278bb9317099960e60fbe5ebef3f9458d146bff328cf773e9bdf", size = 3271036 },
+ { url = "https://files.pythonhosted.org/packages/78/91/1c2a0b113bc98a9b4f9330b1c7a19837298903b1db983e357c4810ad0a97/granian-1.6.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:6e6cec6eb146a6bd31deaa2aef1568bba3a5075f936047680d7970037f70d250", size = 2982663 },
+ { url = "https://files.pythonhosted.org/packages/c7/8f/0c729328fd1921ce890fd3abefcfaa136d9972bf831dda69070345b770fc/granian-1.6.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a6d7f0c2a0aded09d71c7b32a8470ab8926929b240aa6e842108f416f8d537bd", size = 3079779 },
+ { url = "https://files.pythonhosted.org/packages/51/bf/e1b7f040fb2358ecd18cbff7f62728b4e2d41603d02e594fa70c31040c1c/granian-1.6.0-cp311-none-win_amd64.whl", hash = "sha256:31e622580dadf4b9405a2c19365730db6415ab92c5c35b2b2241c4eba5756df7", size = 1980841 },
+ { url = "https://files.pythonhosted.org/packages/a4/88/353e0a09ee663ea55aaf2e74e8b3c77fed99b4e6c71144284b68298b4add/granian-1.6.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:0791e89e3d870e406bd8c36f5182c35f598885ed170ffa435ce58ae157dce841", size = 2512528 },
+ { url = "https://files.pythonhosted.org/packages/b4/19/ff51a558cd50ed684945472cabe34bf8240213355200f864ff763437b68d/granian-1.6.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8990aa0fe07f4a02eb535996f6565920aced4f93f286ad6a83dec5513ac8d173", size = 2372991 },
+ { url = "https://files.pythonhosted.org/packages/53/36/6bed221b6c7d4e4dbd087f0da9b73d82c4ac6df83a8987ed4ff727145e58/granian-1.6.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f2ba6021f75de2e19dd86de457410e3488da92f96b0b247ae8c1417c1821f06", size = 2827000 },
+ { url = "https://files.pythonhosted.org/packages/1b/7f/af849d43cd32150c3b517a6a071ced0796f4730aad861ffb087203b74586/granian-1.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:146e7a06967f2a2badeed4f88b32f1cb8e775d849296ccdc7b763beddc0d31eb", size = 3269383 },
+ { url = "https://files.pythonhosted.org/packages/7b/d6/37fe2d27c6c027aecf74b34ae704efc273e8781f416dcedb14d45b370efe/granian-1.6.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:41a9630be50ecbea4b5b5e9a3a43016b0c1e82bc9e5b39bbad564cdad9380ceb", size = 2984738 },
+ { url = "https://files.pythonhosted.org/packages/c0/c3/4d31d668583b774d0e1001fb9ca286a7a82901ed530ff48459c654d28dd8/granian-1.6.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fa488093cd3ec97bd6483f61d13b7a81791ecd01408aa6e43ebdcb62506d5b5f", size = 3084962 },
+ { url = "https://files.pythonhosted.org/packages/e3/69/2fd434d76a242639ee38f79152bbc27c1b306900e9ce7f2892a3762d8af5/granian-1.6.0-cp312-none-win_amd64.whl", hash = "sha256:55c220ecb1eb6467d7280f0677d3d17942294674396d2fb9310267dc36eaf71c", size = 1980661 },
+ { url = "https://files.pythonhosted.org/packages/8a/a2/7dfc0a1462df2e079b047d7662a83bfd05b575c43c44e6e46f316c349679/granian-1.6.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:a7fff2ca39d8792bb03ac6d22da303dec1d4c8cea51f1829ff9b17788b3977a5", size = 2510703 },
+ { url = "https://files.pythonhosted.org/packages/73/5e/17bee26629bd47b53be81f0c711f072a12815a5d17f82a5d3441da9155fe/granian-1.6.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:53a29c4821b938f90341d44187cf921bfa0ae5d02a0d208109ce94f75abec0df", size = 2378583 },
+ { url = "https://files.pythonhosted.org/packages/08/b9/948e385ed8a5b503a6fa8a472724bc1bd5ab3ddaf9d1db867c4145a8a782/granian-1.6.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:36fec2db0ae732fe641797d5030e87c28126a3ea35e9ae919bb0ae609c921192", size = 2826696 },
+ { url = "https://files.pythonhosted.org/packages/59/97/373c620db7daabbad9f1d7b7999a63d39d116ca22903b8328e3dedf7b2eb/granian-1.6.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e8777502cad2e8e3a99b602d644157edf9988d45c235455db23ff130b24e6ab3", size = 2921589 },
+ { url = "https://files.pythonhosted.org/packages/f4/1f/213cfef3cbe722f3e311dc8fb70e5ffd3136f376e9266144a50d18016b29/granian-1.6.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:4c954b9355f2d6c9f0c3b44180ed177138e6e1acda8d367622f496d113dfd19c", size = 2984411 },
+ { url = "https://files.pythonhosted.org/packages/42/8a/fbedfd943d1ae3f7f709bd4ab0abd014a27e5d85047c9149280b956aba2c/granian-1.6.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:63ca11a81e95576afc57194aef29b561cddff616caf6d696d1d17dd8d67da8fc", size = 3084355 },
+ { url = "https://files.pythonhosted.org/packages/0d/5e/db5692d9854bdea22f472f2c1d4f15c67ff9b10c8edf84334312b70d4189/granian-1.6.0-cp313-none-win_amd64.whl", hash = "sha256:8e4ebf3c24de0f6ed35bf9193f963bb3f32defc109c582a606a01267431858f2", size = 1980584 },
+ { url = "https://files.pythonhosted.org/packages/17/59/b3904c44ad9b23713180698a34af9070beecc90014808267a81775413259/granian-1.6.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f1a53dac430f11d742837f05b3981883dfd27bc0b0b36fa291a2622bd04587c9", size = 2744830 },
+ { url = "https://files.pythonhosted.org/packages/09/fb/82eb2fb28cd5def738af0c13433b534e6e91b643409636b7b3cb9a59a323/granian-1.6.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:b557fd34c0109b1309e8a4eeeb10ec0cac52127899f205ec98659d55249b5c71", size = 2520038 },
+ { url = "https://files.pythonhosted.org/packages/7a/4f/a3bf376f9ef8eec2201a4fb449d84e38f12fd8faf3aae3bc3ea49e02a790/granian-1.6.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad54bbc75980386f2ff426ddcc755b8315f81445bcff2dfafcfb590251e9e80b", size = 2830869 },
+ { url = "https://files.pythonhosted.org/packages/e2/67/f77c9e9b162a81513e00a97b90d01823cd59e15d12b91662eb47a53e7c44/granian-1.6.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90c59481dbd9d3cbfbd5d21af71ad6ac74e47ea25a23d4f5456a2ca325e811f3", size = 2925595 },
+ { url = "https://files.pythonhosted.org/packages/4b/af/6b24cac09854476f0166a8d063a60ff8044fa0643100f3f324513ee8ff5f/granian-1.6.0-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:53c8b6a263f038e6e34908993c11480f91adfeac0a8821a05151568a32d5eed9", size = 2987354 },
+ { url = "https://files.pythonhosted.org/packages/7e/44/3887f674f56b16a438d906e38c38322b1b1c26802e700c6b589dcebffdea/granian-1.6.0-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:b1d275c1b25a5086d40cb46bcdfef8880387fe751941773319d66d95f90b8f41", size = 3089619 },
+ { url = "https://files.pythonhosted.org/packages/d6/d1/742a53481cb298797b066a868bfa6bb30717b52730dd5de216cb3ca6e618/granian-1.6.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5e949c8a47075e9ec4d66b82309fc71ccb4032212cf1ab00e1e661beba94fff8", size = 2618209 },
+]
+
+[package.optional-dependencies]
+reload = [
+ { name = "watchfiles" },
+]
+
+[[package]]
+name = "h11"
+version = "0.14.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/f5/38/3af3d3633a34a3316095b39c8e8fb4853a28a536e55d347bd8d8e9a14b03/h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d", size = 100418 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761", size = 58259 },
+]
+
+[[package]]
+name = "httpcore"
+version = "1.0.5"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "certifi" },
+ { name = "h11" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/17/b0/5e8b8674f8d203335a62fdfcfa0d11ebe09e23613c3391033cbba35f7926/httpcore-1.0.5.tar.gz", hash = "sha256:34a38e2f9291467ee3b44e89dd52615370e152954ba21721378a87b2960f7a61", size = 83234 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/78/d4/e5d7e4f2174f8a4d63c8897d79eb8fe2503f7ecc03282fee1fa2719c2704/httpcore-1.0.5-py3-none-any.whl", hash = "sha256:421f18bac248b25d310f3cacd198d55b8e6125c107797b609ff9b7a6ba7991b5", size = 77926 },
+]
+
+[[package]]
+name = "httpx"
+version = "0.27.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "anyio" },
+ { name = "certifi" },
+ { name = "httpcore" },
+ { name = "idna" },
+ { name = "sniffio" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/78/82/08f8c936781f67d9e6b9eeb8a0c8b4e406136ea4c3d1f89a5db71d42e0e6/httpx-0.27.2.tar.gz", hash = "sha256:f7c2be1d2f3c3c3160d441802406b206c2b76f5947b11115e6df10c6c65e66c2", size = 144189 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/56/95/9377bcb415797e44274b51d46e3249eba641711cf3348050f76ee7b15ffc/httpx-0.27.2-py3-none-any.whl", hash = "sha256:7bb2708e112d8fdd7829cd4243970f0c223274051cb35ee80c03301ee29a3df0", size = 76395 },
+]
+
+[[package]]
+name = "idna"
+version = "3.8"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/e8/ac/e349c5e6d4543326c6883ee9491e3921e0d07b55fdf3cce184b40d63e72a/idna-3.8.tar.gz", hash = "sha256:d838c2c0ed6fced7693d5e8ab8e734d5f8fda53a039c0164afb0b82e771e3603", size = 189467 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/22/7e/d71db821f177828df9dea8c42ac46473366f191be53080e552e628aad991/idna-3.8-py3-none-any.whl", hash = "sha256:050b4e5baadcd44d760cedbd2b8e639f2ff89bbc7a5730fcc662954303377aac", size = 66894 },
+]
+
+[[package]]
+name = "immutables"
+version = "0.20"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/7d/63/27f038a28ff2110bc04908a047817fd316d5a16ae06d0d3707732dee8013/immutables-0.20.tar.gz", hash = "sha256:1d2f83e6a6a8455466cd97b9a90e2b4f7864648616dfa6b19d18f49badac3876", size = 88933 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/60/44/a91a2e31d50e39988667facecaad59367782db4dd39eea921732e015cc8b/immutables-0.20-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dea0ae4d7f31b145c18c16badeebc2f039d09411be4a8febb86e1244cf7f1ce0", size = 32560 },
+ { url = "https://files.pythonhosted.org/packages/38/f3/908fb5011a2ea28892d993400502960450c0c0c8ff4f118db5a5960d1aa9/immutables-0.20-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2dd0dcef2f8d4523d34dbe1d2b7804b3d2a51fddbd104aad13f506a838a2ea15", size = 32126 },
+ { url = "https://files.pythonhosted.org/packages/d3/17/6a7c5db9f3c379be5ffe5e87889834e146c31b28aafa2104706598ac7f97/immutables-0.20-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:393dde58ffd6b4c089ffdf4cef5fe73dad37ce4681acffade5f5d5935ec23c93", size = 96617 },
+ { url = "https://files.pythonhosted.org/packages/bc/c6/0210b0065ee4a11afd666c46ca4ec56ce6621e8274d977502cef418ab6da/immutables-0.20-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1214b5a175df783662b7de94b4a82db55cc0ee206dd072fa9e279fb8895d8df", size = 96927 },
+ { url = "https://files.pythonhosted.org/packages/e0/98/0bd8707c55af233411d2520142e6a78614ad1d4eadf401af15b30897b08e/immutables-0.20-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:2761e3dc2a6406943ce77b3505e9b3c1187846de65d7247548dc7edaa202fcba", size = 96197 },
+ { url = "https://files.pythonhosted.org/packages/bb/23/4ef0113ed4073f9165ad94b7438acaf92483122fe29036abb9d9572c8921/immutables-0.20-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:2bcea81e7516bd823b4ed16f4f794531097888675be13e833b1cc946370d5237", size = 95500 },
+ { url = "https://files.pythonhosted.org/packages/ba/61/21eb9275871034e87fabd1a4da14b591da03dbfa7aad5f35be36898895f2/immutables-0.20-cp310-cp310-win32.whl", hash = "sha256:d828e7580f1fa203ddeab0b5e91f44bf95706e7f283ca9fbbcf0ae08f63d3084", size = 30263 },
+ { url = "https://files.pythonhosted.org/packages/00/a0/c4487bdbe00754d08998ffa8f4e96fd1802701f28aed2c62c0e74a37b1e7/immutables-0.20-cp310-cp310-win_amd64.whl", hash = "sha256:380e2957ba3d63422b2f3fbbff0547c7bbe6479d611d3635c6411005a4264525", size = 33686 },
+ { url = "https://files.pythonhosted.org/packages/bc/75/48a9ca4f0d3886ef12d2b6fb7ffa99cef01a8f328021f65ac6f2aa137e5d/immutables-0.20-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:532be32c7a25dae6cade28825c76d3004cf4d166a0bfacf04bda16056d59ba26", size = 32570 },
+ { url = "https://files.pythonhosted.org/packages/d2/86/98cefed4d82d4e493cea138c069bc9527ce61d3983338decb6c795c101a8/immutables-0.20-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5302ce9c7827f8300f3dc34a695abb71e4a32bab09e65e5ad6e454785383347f", size = 32728 },
+ { url = "https://files.pythonhosted.org/packages/33/7c/0a97873fe73fb4116cdab150ba3a68d7ceb6ef0359c0ca6fa1892cf312cf/immutables-0.20-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b51aec54b571ae466113509d4dc79a2808dc2ae9263b71fd6b37778cb49eb292", size = 99444 },
+ { url = "https://files.pythonhosted.org/packages/85/60/9eacefad6105a4648ec2ffbbbd9148537e01f94649c42726afe5e871eaf2/immutables-0.20-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47f56aea56e597ecf6631f24a4e26007b6a5f4fe30278b96eb90bc1f60506164", size = 99652 },
+ { url = "https://files.pythonhosted.org/packages/6f/54/34144b7a02e668c8499a98343fcbb25100e7bb7edc62d6a78ec93b4fe78d/immutables-0.20-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:085ac48ee3eef7baf070f181cae574489bbf65930a83ec5bbd65c9940d625db3", size = 97988 },
+ { url = "https://files.pythonhosted.org/packages/20/c3/d2dd0bd8ee438abebc8452b4689a33ae3c499e11d41dc2c1038e61b4bc03/immutables-0.20-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f063f53b5c0e8f541ae381f1d828f3d05bbed766a2d6c817f9218b8b37a4cb66", size = 97335 },
+ { url = "https://files.pythonhosted.org/packages/e8/42/ed2abe3359f85eb7000890edeb5d399b8aac8d962af0e056611e9fb8bc54/immutables-0.20-cp311-cp311-win32.whl", hash = "sha256:b0436cc831b47e26bef637bcf143cf0273e49946cfb7c28c44486d70513a3080", size = 30266 },
+ { url = "https://files.pythonhosted.org/packages/d6/13/67775acb07a7a05f3b966a67d01ab359626042b0fea0e3d7cacc5d23f7a2/immutables-0.20-cp311-cp311-win_amd64.whl", hash = "sha256:5bb32aee1ea16fbb90f58f8bd96016bca87aba0a8e574e5fa218d0d83b142851", size = 33687 },
+ { url = "https://files.pythonhosted.org/packages/83/1f/5ef21dac6bde0a45e9b5cb1787e5d215dc08ca83d5b66366b06a2497fd47/immutables-0.20-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:4ba726b7a3a696b9d4b122fa2c956bc68e866f3df1b92765060c88c64410ff82", size = 33104 },
+ { url = "https://files.pythonhosted.org/packages/6e/dc/b71a62acf8f936a004a9f20785fa88c7c68cb618e6bc207fca57f2677802/immutables-0.20-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5a88adf1dcc9d8ab07dba5e74deefcd5b5e38bc677815cbf9365dc43b69f1f08", size = 33075 },
+ { url = "https://files.pythonhosted.org/packages/e2/4d/fe7494e9923255a0fd5a72d7dabf4d8e2c6c321544c706bb7cd2dcfcf9e5/immutables-0.20-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1009a4e00e2e69a9b40c2f1272795f5a06ad72c9bf4638594d518e9cbd7a721a", size = 104825 },
+ { url = "https://files.pythonhosted.org/packages/18/52/9d6b8ac41e86a8fe812625cf281ab68512987fbaa56b8264e6882f064b6e/immutables-0.20-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96899994842c37cf4b9d6d2bedf685aae7810bd73f1538f8cba5426e2d65cb85", size = 105417 },
+ { url = "https://files.pythonhosted.org/packages/5b/2b/79d09d813eba6637086025061da7973d2169ba63fb5ce1d394293690fa3c/immutables-0.20-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:a606410b2ccb6ae339c3f26cccc9a92bcb16dc06f935d51edfd8ca68cf687e50", size = 102260 },
+ { url = "https://files.pythonhosted.org/packages/a6/01/0710b57a4a99ca027fda85c03a30b2c2301e6fadb930e1ebb1af2535b7ea/immutables-0.20-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e8e82754f72823085643a2c0e6a4c489b806613e94af205825fa81df2ba147a0", size = 102194 },
+ { url = "https://files.pythonhosted.org/packages/5d/86/989b6180225698cd3ec9d58b704275d0c26ebeb6c9b8d7aac0c1af0385e0/immutables-0.20-cp312-cp312-win32.whl", hash = "sha256:525fb361bd7edc8a891633928d549713af8090c79c25af5cc06eb90b48cb3c64", size = 30728 },
+ { url = "https://files.pythonhosted.org/packages/d0/2d/5757ef242054389f4613ab269988cf2194dc3310ead7eaa023e3cea399b4/immutables-0.20-cp312-cp312-win_amd64.whl", hash = "sha256:a82afc3945e9ceb9bcd416dc4ed9b72f92760c42787e26de50610a8b81d48120", size = 34376 },
+]
+
+[[package]]
+name = "iniconfig"
+version = "2.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d7/4b/cbd8e699e64a6f16ca3a8220661b5f83792b3017d0f79807cb8708d33913/iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3", size = 4646 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", size = 5892 },
+]
+
+[[package]]
+name = "lfudacache"
+version = "0.0.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b6/bb/31fae39f7725d6c75d66f3a7fe71e00b0cd18c4fc9e3fa5a8f8f0b3a2ec5/lfudacache-0.0.2.tar.gz", hash = "sha256:785cde4fa7a314a83683f8fd61ebc894d55ff4a87b4d148c76544f860cea1cc9", size = 10747 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/fd/68/4684c19e33e7797306bcd993c377b0d620ad62db3f504e561d415ef12d67/lfudacache-0.0.2-py2.py3-none-any.whl", hash = "sha256:770a3a457b1f19efa6ea67be2fd80cfa6e2b8a22345bcf86ef74e546d92c1576", size = 11019 },
+]
+
+[[package]]
+name = "logiclayer"
+version = "0.4.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "asyncio" },
+ { name = "fastapi-slim" },
+ { name = "pydantic" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/64/ab/bee7f57134b4c4a2f64a0b4167eb593f88c481448cc638e5967103e49e22/logiclayer-0.4.0.tar.gz", hash = "sha256:475c106c7897031a196118c75339e0a2f5ff09ac3616aa0b24a1329ef8165296", size = 8623 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/55/a4/c3a18f189dc1f40da543992273d3a7ffbfe31459263d63f3df2964c49303/logiclayer-0.4.0-py3-none-any.whl", hash = "sha256:42895101a798d9c717271496f2f69afaea824a468f85702072e1596ed66c18ca", size = 9689 },
+]
+
+[[package]]
+name = "logiclayer-complexity"
+version = "0.5.5"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "economic-complexity" },
+ { name = "logiclayer" },
+ { name = "orjson" },
+ { name = "pandas" },
+ { name = "polars" },
+ { name = "pyarrow" },
+ { name = "tesseract-olap" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/ed/9b/5269940237399361d8735a43f376bcfaad2a329bedfffc4ff1d5e6fc6ab1/logiclayer_complexity-0.5.5.tar.gz", hash = "sha256:c2b9a5195579d73734d66ad4fa0f3878ff4078bc2a6bf09065677c2f9996ffcc", size = 19117 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/11/c8/3d2bd21555d52610b768b2b32346f2990f83acff736270910f590bb6f10d/logiclayer_complexity-0.5.5-py3-none-any.whl", hash = "sha256:8332004f03adc602d9ad12486cc1532eb8bac8f5d7364f2fc4c11eaa453fe113", size = 27662 },
+]
+
+[[package]]
+name = "lxml"
+version = "4.9.4"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/84/14/c2070b5e37c650198de8328467dd3d1681e80986f81ba0fea04fc4ec9883/lxml-4.9.4.tar.gz", hash = "sha256:b1541e50b78e15fa06a2670157a1962ef06591d4c998b998047fff5e3236880e", size = 3576664 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/50/e4/e37f7f61ceaf0b29e7c5bf78fb1927818a52c986546459d33ccd742f2b8e/lxml-4.9.4-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:056a17eaaf3da87a05523472ae84246f87ac2f29a53306466c22e60282e54ff8", size = 4772989 },
+ { url = "https://files.pythonhosted.org/packages/71/35/a8c656eac628ba9148852fdb17ae4b0ac217619aef6d25a15137ab4939f7/lxml-4.9.4-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:aaa5c173a26960fe67daa69aa93d6d6a1cd714a6eb13802d4e4bd1d24a530644", size = 7098896 },
+ { url = "https://files.pythonhosted.org/packages/a1/e8/665ea1d18f20a7c02d5561ea8500ded3148f3e9d8194efa2545e56fab059/lxml-4.9.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:647459b23594f370c1c01768edaa0ba0959afc39caeeb793b43158bb9bb6a663", size = 6698798 },
+ { url = "https://files.pythonhosted.org/packages/18/02/5e28cbbfff53d4e227114f507cb03d02973f0ba0e5ea3e11aea66fcfe471/lxml-4.9.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:bdd9abccd0927673cffe601d2c6cdad1c9321bf3437a2f507d6b037ef91ea307", size = 7028701 },
+ { url = "https://files.pythonhosted.org/packages/dd/3f/9bbd85d5baeae82b13f8e6b022f9bf34ffb5074f4f56d100854a5d66910d/lxml-4.9.4-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:00e91573183ad273e242db5585b52670eddf92bacad095ce25c1e682da14ed91", size = 7910358 },
+ { url = "https://files.pythonhosted.org/packages/c5/ab/39f7110584a0f8357cef9f3c92c98320d25efc6d51506b770cf9a5f1da6c/lxml-4.9.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:a602ed9bd2c7d85bd58592c28e101bd9ff9c718fbde06545a70945ffd5d11868", size = 7479236 },
+ { url = "https://files.pythonhosted.org/packages/9d/fd/16731c76b45117c9b9e0bc0ee3b6ffbf70d4d737549ce5fdc876e9e23064/lxml-4.9.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:de362ac8bc962408ad8fae28f3967ce1a262b5d63ab8cefb42662566737f1dc7", size = 7678948 },
+ { url = "https://files.pythonhosted.org/packages/04/93/0ef2a422606430217617c22d81459c99dba48cab114df7a5d460061a99eb/lxml-4.9.4-cp310-cp310-win32.whl", hash = "sha256:33714fcf5af4ff7e70a49731a7cc8fd9ce910b9ac194f66eaa18c3cc0a4c02be", size = 3463791 },
+ { url = "https://files.pythonhosted.org/packages/30/2a/58deecb3418027bfecdffe470c53b44adafaf8a3b4f59e2d41d061ff315e/lxml-4.9.4-cp310-cp310-win_amd64.whl", hash = "sha256:d3caa09e613ece43ac292fbed513a4bce170681a447d25ffcbc1b647d45a39c5", size = 3784139 },
+ { url = "https://files.pythonhosted.org/packages/97/af/c008644e292aaf12f823c6a1a74bda427ab6a59e292f31ffe8614d752765/lxml-4.9.4-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:359a8b09d712df27849e0bcb62c6a3404e780b274b0b7e4c39a88826d1926c28", size = 8629333 },
+ { url = "https://files.pythonhosted.org/packages/85/a4/e0bc143506866e6f153210241bbb6fda445ae611aacdd7d4875cc8a1dae3/lxml-4.9.4-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:43498ea734ccdfb92e1886dfedaebeb81178a241d39a79d5351ba2b671bff2b2", size = 7166850 },
+ { url = "https://files.pythonhosted.org/packages/3b/6f/186bd26f9cb644970d120514467c50a5acfd9eb43437f64e5525951a8c93/lxml-4.9.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:4855161013dfb2b762e02b3f4d4a21cc7c6aec13c69e3bffbf5022b3e708dd97", size = 6761974 },
+ { url = "https://files.pythonhosted.org/packages/49/b9/7f9a881e7f46e95207c596732d2067f30fc49b7518637381630c39bb48d4/lxml-4.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:c71b5b860c5215fdbaa56f715bc218e45a98477f816b46cfde4a84d25b13274e", size = 7088938 },
+ { url = "https://files.pythonhosted.org/packages/85/95/60d86f2737f6f68554d2f1023fb8312c011a0960cf8aad0581e4a72cc11f/lxml-4.9.4-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:9a2b5915c333e4364367140443b59f09feae42184459b913f0f41b9fed55794a", size = 7635991 },
+ { url = "https://files.pythonhosted.org/packages/be/2b/c240b9d4b1daf80573adbca0b6e3e3d69bb3838bebd9cb4c7d51ed315189/lxml-4.9.4-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:d82411dbf4d3127b6cde7da0f9373e37ad3a43e89ef374965465928f01c2b979", size = 7897968 },
+ { url = "https://files.pythonhosted.org/packages/98/0a/cf0fa269ebc015adb50119be2f02a327ce9e36e6cdb6a0f8dd1869198ee3/lxml-4.9.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:273473d34462ae6e97c0f4e517bd1bf9588aa67a1d47d93f760a1282640e24ac", size = 7500340 },
+ { url = "https://files.pythonhosted.org/packages/5e/54/7acd7c63796bffb89443729d95aaa6b8d81a79aa942f8fdd105f5a51bf13/lxml-4.9.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:389d2b2e543b27962990ab529ac6720c3dded588cc6d0f6557eec153305a3622", size = 7699448 },
+ { url = "https://files.pythonhosted.org/packages/57/74/b1b96f5bb47fae62b9a49a0df5f394f507f89cb55c4d534258924f4c0dc5/lxml-4.9.4-cp311-cp311-win32.whl", hash = "sha256:8aecb5a7f6f7f8fe9cac0bcadd39efaca8bbf8d1bf242e9f175cbe4c925116c3", size = 3455682 },
+ { url = "https://files.pythonhosted.org/packages/00/c3/0e6e18ac7fbf9687440c7d54fb2f39055d61ade32545ab305e7e3186be73/lxml-4.9.4-cp311-cp311-win_amd64.whl", hash = "sha256:c7721a3ef41591341388bb2265395ce522aba52f969d33dacd822da8f018aff8", size = 3770258 },
+ { url = "https://files.pythonhosted.org/packages/5c/ac/0abe4b25cae50247c5130539d0f45a201dbfe0ba69d3dd844411f90c9930/lxml-4.9.4-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:dbcb2dc07308453db428a95a4d03259bd8caea97d7f0776842299f2d00c72fc8", size = 8624172 },
+ { url = "https://files.pythonhosted.org/packages/33/e6/47c4675f0c58398c924915379eee8458bf7954644a7907ad8fbc1c42a380/lxml-4.9.4-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:01bf1df1db327e748dcb152d17389cf6d0a8c5d533ef9bab781e9d5037619229", size = 7674086 },
+ { url = "https://files.pythonhosted.org/packages/be/9e/5d88b189e91fae65140dc29904946297b3d9cfdf5449d4bc6e657a3ffc2d/lxml-4.9.4-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:e8f9f93a23634cfafbad6e46ad7d09e0f4a25a2400e4a64b1b7b7c0fbaa06d9d", size = 8026189 },
+ { url = "https://files.pythonhosted.org/packages/ea/08/ab6c2a803a5d5dce1fbbb32f5c133bbd0ebfe69476ab1eb5ffa3490b0b51/lxml-4.9.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3f3f00a9061605725df1816f5713d10cd94636347ed651abdbc75828df302b20", size = 7516933 },
+ { url = "https://files.pythonhosted.org/packages/43/52/b0d387577620af767c73b8b20f28986e5aad70b44053ee296f8a472a12b1/lxml-4.9.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:953dd5481bd6252bd480d6ec431f61d7d87fdcbbb71b0d2bdcfc6ae00bb6fb10", size = 7815609 },
+ { url = "https://files.pythonhosted.org/packages/be/13/18230c0d567ed282a3d7b61395323e2ef8fc9ad64096fdd3d1b384fa3e3c/lxml-4.9.4-cp312-cp312-win32.whl", hash = "sha256:266f655d1baff9c47b52f529b5f6bec33f66042f65f7c56adde3fcf2ed62ae8b", size = 3460500 },
+ { url = "https://files.pythonhosted.org/packages/5f/df/6d15cc415e04724ba4c141051cf43709e09bbcdd9868a6c2e7a7073ef498/lxml-4.9.4-cp312-cp312-win_amd64.whl", hash = "sha256:f1faee2a831fe249e1bae9cbc68d3cd8a30f7e37851deee4d7962b17c410dd56", size = 3773977 },
+ { url = "https://files.pythonhosted.org/packages/f6/54/e7cc9b0019209fc553d5cb4cb460df25513754666665d5cd0f0ec19685ed/lxml-4.9.4-pp310-pypy310_pp73-macosx_11_0_x86_64.whl", hash = "sha256:f6c35b2f87c004270fa2e703b872fcc984d714d430b305145c39d53074e1ffe0", size = 4032797 },
+ { url = "https://files.pythonhosted.org/packages/60/8a/fc26540cc544a989277bdedeb098604ea7da998ebfd7bd0e94a3a936a817/lxml-4.9.4-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:606d445feeb0856c2b424405236a01c71af7c97e5fe42fbc778634faef2b47e4", size = 6337726 },
+ { url = "https://files.pythonhosted.org/packages/32/6e/8da1c75c1e3f4a92255ed48cc5ab9163c0d942dbfcea500409c670db173e/lxml-4.9.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a1bdcbebd4e13446a14de4dd1825f1e778e099f17f79718b4aeaf2403624b0f7", size = 3395151 },
+]
+
+[[package]]
+name = "lz4"
+version = "3.0.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/98/c2/73b1ed5ed40694ef138acba9ba4690debb7cebfe97fff46f77ef029887e7/lz4-3.0.1.tar.gz", hash = "sha256:4d20c5159658d80393af5664246fb4b37fb2fac917c12e562f9f8787c5a8519a", size = 156963 }
+
+[[package]]
+name = "numpy"
+version = "1.26.4"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/65/6e/09db70a523a96d25e115e71cc56a6f9031e7b8cd166c1ac8438307c14058/numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010", size = 15786129 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a7/94/ace0fdea5241a27d13543ee117cbc65868e82213fb31a8eb7fe9ff23f313/numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0", size = 20631468 },
+ { url = "https://files.pythonhosted.org/packages/20/f7/b24208eba89f9d1b58c1668bc6c8c4fd472b20c45573cb767f59d49fb0f6/numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a", size = 13966411 },
+ { url = "https://files.pythonhosted.org/packages/fc/a5/4beee6488160798683eed5bdb7eead455892c3b4e1f78d79d8d3f3b084ac/numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4", size = 14219016 },
+ { url = "https://files.pythonhosted.org/packages/4b/d7/ecf66c1cd12dc28b4040b15ab4d17b773b87fa9d29ca16125de01adb36cd/numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f", size = 18240889 },
+ { url = "https://files.pythonhosted.org/packages/24/03/6f229fe3187546435c4f6f89f6d26c129d4f5bed40552899fcf1f0bf9e50/numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a", size = 13876746 },
+ { url = "https://files.pythonhosted.org/packages/39/fe/39ada9b094f01f5a35486577c848fe274e374bbf8d8f472e1423a0bbd26d/numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2", size = 18078620 },
+ { url = "https://files.pythonhosted.org/packages/d5/ef/6ad11d51197aad206a9ad2286dc1aac6a378059e06e8cf22cd08ed4f20dc/numpy-1.26.4-cp310-cp310-win32.whl", hash = "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07", size = 5972659 },
+ { url = "https://files.pythonhosted.org/packages/19/77/538f202862b9183f54108557bfda67e17603fc560c384559e769321c9d92/numpy-1.26.4-cp310-cp310-win_amd64.whl", hash = "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5", size = 15808905 },
+ { url = "https://files.pythonhosted.org/packages/11/57/baae43d14fe163fa0e4c47f307b6b2511ab8d7d30177c491960504252053/numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71", size = 20630554 },
+ { url = "https://files.pythonhosted.org/packages/1a/2e/151484f49fd03944c4a3ad9c418ed193cfd02724e138ac8a9505d056c582/numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef", size = 13997127 },
+ { url = "https://files.pythonhosted.org/packages/79/ae/7e5b85136806f9dadf4878bf73cf223fe5c2636818ba3ab1c585d0403164/numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e", size = 14222994 },
+ { url = "https://files.pythonhosted.org/packages/3a/d0/edc009c27b406c4f9cbc79274d6e46d634d139075492ad055e3d68445925/numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5", size = 18252005 },
+ { url = "https://files.pythonhosted.org/packages/09/bf/2b1aaf8f525f2923ff6cfcf134ae5e750e279ac65ebf386c75a0cf6da06a/numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a", size = 13885297 },
+ { url = "https://files.pythonhosted.org/packages/df/a0/4e0f14d847cfc2a633a1c8621d00724f3206cfeddeb66d35698c4e2cf3d2/numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a", size = 18093567 },
+ { url = "https://files.pythonhosted.org/packages/d2/b7/a734c733286e10a7f1a8ad1ae8c90f2d33bf604a96548e0a4a3a6739b468/numpy-1.26.4-cp311-cp311-win32.whl", hash = "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20", size = 5968812 },
+ { url = "https://files.pythonhosted.org/packages/3f/6b/5610004206cf7f8e7ad91c5a85a8c71b2f2f8051a0c0c4d5916b76d6cbb2/numpy-1.26.4-cp311-cp311-win_amd64.whl", hash = "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2", size = 15811913 },
+ { url = "https://files.pythonhosted.org/packages/95/12/8f2020a8e8b8383ac0177dc9570aad031a3beb12e38847f7129bacd96228/numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218", size = 20335901 },
+ { url = "https://files.pythonhosted.org/packages/75/5b/ca6c8bd14007e5ca171c7c03102d17b4f4e0ceb53957e8c44343a9546dcc/numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b", size = 13685868 },
+ { url = "https://files.pythonhosted.org/packages/79/f8/97f10e6755e2a7d027ca783f63044d5b1bc1ae7acb12afe6a9b4286eac17/numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b", size = 13925109 },
+ { url = "https://files.pythonhosted.org/packages/0f/50/de23fde84e45f5c4fda2488c759b69990fd4512387a8632860f3ac9cd225/numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed", size = 17950613 },
+ { url = "https://files.pythonhosted.org/packages/4c/0c/9c603826b6465e82591e05ca230dfc13376da512b25ccd0894709b054ed0/numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a", size = 13572172 },
+ { url = "https://files.pythonhosted.org/packages/76/8c/2ba3902e1a0fc1c74962ea9bb33a534bb05984ad7ff9515bf8d07527cadd/numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0", size = 17786643 },
+ { url = "https://files.pythonhosted.org/packages/28/4a/46d9e65106879492374999e76eb85f87b15328e06bd1550668f79f7b18c6/numpy-1.26.4-cp312-cp312-win32.whl", hash = "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110", size = 5677803 },
+ { url = "https://files.pythonhosted.org/packages/16/2e/86f24451c2d530c88daf997cb8d6ac622c1d40d19f5a031ed68a4b73a374/numpy-1.26.4-cp312-cp312-win_amd64.whl", hash = "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818", size = 15517754 },
+]
+
+[[package]]
+name = "orjson"
+version = "3.10.7"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/9e/03/821c8197d0515e46ea19439f5c5d5fd9a9889f76800613cfac947b5d7845/orjson-3.10.7.tar.gz", hash = "sha256:75ef0640403f945f3a1f9f6400686560dbfb0fb5b16589ad62cd477043c4eee3", size = 5056450 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/49/12/60931cf808b9334f26210ab496442f4a7a3d66e29d1cf12e0a01857e756f/orjson-3.10.7-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:74f4544f5a6405b90da8ea724d15ac9c36da4d72a738c64685003337401f5c12", size = 251312 },
+ { url = "https://files.pythonhosted.org/packages/fe/0e/efbd0a2d25f8e82b230eb20b6b8424be6dd95b6811b669be9af16234b6db/orjson-3.10.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:34a566f22c28222b08875b18b0dfbf8a947e69df21a9ed5c51a6bf91cfb944ac", size = 148124 },
+ { url = "https://files.pythonhosted.org/packages/dd/47/1ddff6e23fe5f4aeaaed996a3cde422b3eaac4558c03751723e106184c68/orjson-3.10.7-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bf6ba8ebc8ef5792e2337fb0419f8009729335bb400ece005606336b7fd7bab7", size = 147277 },
+ { url = "https://files.pythonhosted.org/packages/04/da/d03d72b54bdd60d05de372114abfbd9f05050946895140c6ff5f27ab8f49/orjson-3.10.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac7cf6222b29fbda9e3a472b41e6a5538b48f2c8f99261eecd60aafbdb60690c", size = 152955 },
+ { url = "https://files.pythonhosted.org/packages/7f/7e/ef8522dbba112af6cc52227dcc746dd3447c7d53ea8cea35740239b547ee/orjson-3.10.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:de817e2f5fc75a9e7dd350c4b0f54617b280e26d1631811a43e7e968fa71e3e9", size = 163955 },
+ { url = "https://files.pythonhosted.org/packages/b6/bc/fbd345d771a73cacc5b0e774d034cd081590b336754c511f4ead9fdc4cf1/orjson-3.10.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:348bdd16b32556cf8d7257b17cf2bdb7ab7976af4af41ebe79f9796c218f7e91", size = 141896 },
+ { url = "https://files.pythonhosted.org/packages/82/0a/1f09c12d15b1e83156b7f3f621561d38650fe5b8f39f38f04a64de1a87fc/orjson-3.10.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:479fd0844ddc3ca77e0fd99644c7fe2de8e8be1efcd57705b5c92e5186e8a250", size = 170166 },
+ { url = "https://files.pythonhosted.org/packages/a6/d8/eee30caba21a8d6a9df06d2519bb0ecd0adbcd57f2e79d360de5570031cf/orjson-3.10.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:fdf5197a21dd660cf19dfd2a3ce79574588f8f5e2dbf21bda9ee2d2b46924d84", size = 167804 },
+ { url = "https://files.pythonhosted.org/packages/44/fe/d1d89d3f15e343511417195f6ccd2bdeb7ebc5a48a882a79ab3bbcdf5fc7/orjson-3.10.7-cp310-none-win32.whl", hash = "sha256:d374d36726746c81a49f3ff8daa2898dccab6596864ebe43d50733275c629175", size = 143010 },
+ { url = "https://files.pythonhosted.org/packages/88/8c/0e7b8d5a523927774758ac4ce2de4d8ca5dda569955ba3aeb5e208344eda/orjson-3.10.7-cp310-none-win_amd64.whl", hash = "sha256:cb61938aec8b0ffb6eef484d480188a1777e67b05d58e41b435c74b9d84e0b9c", size = 137306 },
+ { url = "https://files.pythonhosted.org/packages/89/c9/dd286c97c2f478d43839bd859ca4d9820e2177d4e07a64c516dc3e018062/orjson-3.10.7-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:7db8539039698ddfb9a524b4dd19508256107568cdad24f3682d5773e60504a2", size = 251312 },
+ { url = "https://files.pythonhosted.org/packages/b9/72/d90bd11e83a0e9623b3803b079478a93de8ec4316c98fa66110d594de5fa/orjson-3.10.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:480f455222cb7a1dea35c57a67578848537d2602b46c464472c995297117fa09", size = 148125 },
+ { url = "https://files.pythonhosted.org/packages/9d/b6/ed61e87f327a4cbb2075ed0716e32ba68cb029aa654a68c3eb27803050d8/orjson-3.10.7-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8a9c9b168b3a19e37fe2778c0003359f07822c90fdff8f98d9d2a91b3144d8e0", size = 147278 },
+ { url = "https://files.pythonhosted.org/packages/66/9f/e6a11b5d1ad11e9dc869d938707ef93ff5ed20b53d6cda8b5e2ac532a9d2/orjson-3.10.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8de062de550f63185e4c1c54151bdddfc5625e37daf0aa1e75d2a1293e3b7d9a", size = 152954 },
+ { url = "https://files.pythonhosted.org/packages/92/ee/702d5e8ccd42dc2b9d1043f22daa1ba75165616aa021dc19fb0c5a726ce8/orjson-3.10.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6b0dd04483499d1de9c8f6203f8975caf17a6000b9c0c54630cef02e44ee624e", size = 163953 },
+ { url = "https://files.pythonhosted.org/packages/d3/cb/55205f3f1ee6ba80c0a9a18ca07423003ca8de99192b18be30f1f31b4cdd/orjson-3.10.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b58d3795dafa334fc8fd46f7c5dc013e6ad06fd5b9a4cc98cb1456e7d3558bd6", size = 141895 },
+ { url = "https://files.pythonhosted.org/packages/bb/ab/1185e472f15c00d37d09c395e478803ed0eae7a3a3d055a5f3885e1ea136/orjson-3.10.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:33cfb96c24034a878d83d1a9415799a73dc77480e6c40417e5dda0710d559ee6", size = 170169 },
+ { url = "https://files.pythonhosted.org/packages/53/b9/10abe9089bdb08cd4218cc45eb7abfd787c82cf301cecbfe7f141542d7f4/orjson-3.10.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e724cebe1fadc2b23c6f7415bad5ee6239e00a69f30ee423f319c6af70e2a5c0", size = 167808 },
+ { url = "https://files.pythonhosted.org/packages/8a/ad/26b40ccef119dcb0f4a39745ffd7d2d319152c1a52859b1ebbd114eca19c/orjson-3.10.7-cp311-none-win32.whl", hash = "sha256:82763b46053727a7168d29c772ed5c870fdae2f61aa8a25994c7984a19b1021f", size = 143010 },
+ { url = "https://files.pythonhosted.org/packages/e7/63/5f4101e4895b78ada568f4cf8f870dd594139ca2e75e654e373da78b03b0/orjson-3.10.7-cp311-none-win_amd64.whl", hash = "sha256:eb8d384a24778abf29afb8e41d68fdd9a156cf6e5390c04cc07bbc24b89e98b5", size = 137307 },
+ { url = "https://files.pythonhosted.org/packages/14/7c/b4ecc2069210489696a36e42862ccccef7e49e1454a3422030ef52881b01/orjson-3.10.7-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:44a96f2d4c3af51bfac6bc4ef7b182aa33f2f054fd7f34cc0ee9a320d051d41f", size = 251409 },
+ { url = "https://files.pythonhosted.org/packages/60/84/e495edb919ef0c98d054a9b6d05f2700fdeba3886edd58f1c4dfb25d514a/orjson-3.10.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76ac14cd57df0572453543f8f2575e2d01ae9e790c21f57627803f5e79b0d3c3", size = 147913 },
+ { url = "https://files.pythonhosted.org/packages/c5/27/e40bc7d79c4afb7e9264f22320c285d06d2c9574c9c682ba0f1be3012833/orjson-3.10.7-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bdbb61dcc365dd9be94e8f7df91975edc9364d6a78c8f7adb69c1cdff318ec93", size = 147390 },
+ { url = "https://files.pythonhosted.org/packages/30/be/fd646fb1a461de4958a6eacf4ecf064b8d5479c023e0e71cc89b28fa91ac/orjson-3.10.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b48b3db6bb6e0a08fa8c83b47bc169623f801e5cc4f24442ab2b6617da3b5313", size = 152973 },
+ { url = "https://files.pythonhosted.org/packages/b1/00/414f8d4bc5ec3447e27b5c26b4e996e4ef08594d599e79b3648f64da060c/orjson-3.10.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:23820a1563a1d386414fef15c249040042b8e5d07b40ab3fe3efbfbbcbcb8864", size = 164039 },
+ { url = "https://files.pythonhosted.org/packages/a0/6b/34e6904ac99df811a06e42d8461d47b6e0c9b86e2fe7ee84934df6e35f0d/orjson-3.10.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0c6a008e91d10a2564edbb6ee5069a9e66df3fbe11c9a005cb411f441fd2c09", size = 142035 },
+ { url = "https://files.pythonhosted.org/packages/17/7e/254189d9b6df89660f65aec878d5eeaa5b1ae371bd2c458f85940445d36f/orjson-3.10.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d352ee8ac1926d6193f602cbe36b1643bbd1bbcb25e3c1a657a4390f3000c9a5", size = 169941 },
+ { url = "https://files.pythonhosted.org/packages/02/1a/d11805670c29d3a1b29fc4bd048dc90b094784779690592efe8c9f71249a/orjson-3.10.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d2d9f990623f15c0ae7ac608103c33dfe1486d2ed974ac3f40b693bad1a22a7b", size = 167994 },
+ { url = "https://files.pythonhosted.org/packages/20/5f/03d89b007f9d6733dc11bc35d64812101c85d6c4e9c53af9fa7e7689cb11/orjson-3.10.7-cp312-none-win32.whl", hash = "sha256:7c4c17f8157bd520cdb7195f75ddbd31671997cbe10aee559c2d613592e7d7eb", size = 143130 },
+ { url = "https://files.pythonhosted.org/packages/c6/9d/9b9fb6c60b8a0e04031ba85414915e19ecea484ebb625402d968ea45b8d5/orjson-3.10.7-cp312-none-win_amd64.whl", hash = "sha256:1d9c0e733e02ada3ed6098a10a8ee0052dd55774de3d9110d29868d24b17faa1", size = 137326 },
+ { url = "https://files.pythonhosted.org/packages/15/05/121af8a87513c56745d01ad7cf215c30d08356da9ad882ebe2ba890824cd/orjson-3.10.7-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:77d325ed866876c0fa6492598ec01fe30e803272a6e8b10e992288b009cbe149", size = 251331 },
+ { url = "https://files.pythonhosted.org/packages/73/7f/8d6ccd64a6f8bdbfe6c9be7c58aeb8094aa52a01fbbb2cda42ff7e312bd7/orjson-3.10.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ea2c232deedcb605e853ae1db2cc94f7390ac776743b699b50b071b02bea6fe", size = 142012 },
+ { url = "https://files.pythonhosted.org/packages/04/65/f2a03fd1d4f0308f01d372e004c049f7eb9bc5676763a15f20f383fa9c01/orjson-3.10.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:3dcfbede6737fdbef3ce9c37af3fb6142e8e1ebc10336daa05872bfb1d87839c", size = 169920 },
+ { url = "https://files.pythonhosted.org/packages/e2/1c/3ef8d83d7c6a619ad3d69a4d5318591b4ce5862e6eda7c26bbe8208652ca/orjson-3.10.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:11748c135f281203f4ee695b7f80bb1358a82a63905f9f0b794769483ea854ad", size = 167916 },
+ { url = "https://files.pythonhosted.org/packages/f2/0d/820a640e5a7dfbe525e789c70871ebb82aff73b0c7bf80082653f86b9431/orjson-3.10.7-cp313-none-win32.whl", hash = "sha256:a7e19150d215c7a13f39eb787d84db274298d3f83d85463e61d277bbd7f401d2", size = 143089 },
+ { url = "https://files.pythonhosted.org/packages/1a/72/a424db9116c7cad2950a8f9e4aeb655a7b57de988eb015acd0fcd1b4609b/orjson-3.10.7-cp313-none-win_amd64.whl", hash = "sha256:eef44224729e9525d5261cc8d28d6b11cafc90e6bd0be2157bde69a52ec83024", size = 137081 },
+]
+
+[[package]]
+name = "packaging"
+version = "24.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/51/65/50db4dda066951078f0a96cf12f4b9ada6e4b811516bf0262c0f4f7064d4/packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002", size = 148788 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/08/aa/cc0199a5f0ad350994d660967a8efb233fe0416e4639146c089643407ce6/packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124", size = 53985 },
+]
+
+[[package]]
+name = "pandas"
+version = "2.2.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "numpy" },
+ { name = "python-dateutil" },
+ { name = "pytz" },
+ { name = "tzdata" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/88/d9/ecf715f34c73ccb1d8ceb82fc01cd1028a65a5f6dbc57bfa6ea155119058/pandas-2.2.2.tar.gz", hash = "sha256:9e79019aba43cb4fda9e4d983f8e88ca0373adbb697ae9c6c43093218de28b54", size = 4398391 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d1/2d/39600d073ea70b9cafdc51fab91d69c72b49dd92810f24cb5ac6631f387f/pandas-2.2.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:90c6fca2acf139569e74e8781709dccb6fe25940488755716d1d354d6bc58bce", size = 12551798 },
+ { url = "https://files.pythonhosted.org/packages/fd/4b/0cd38e68ab690b9df8ef90cba625bf3f93b82d1c719703b8e1b333b2c72d/pandas-2.2.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c7adfc142dac335d8c1e0dcbd37eb8617eac386596eb9e1a1b77791cf2498238", size = 11287392 },
+ { url = "https://files.pythonhosted.org/packages/01/c6/d3d2612aea9b9f28e79a30b864835dad8f542dcf474eee09afeee5d15d75/pandas-2.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4abfe0be0d7221be4f12552995e58723c7422c80a659da13ca382697de830c08", size = 15634823 },
+ { url = "https://files.pythonhosted.org/packages/89/1b/12521efcbc6058e2673583bb096c2b5046a9df39bd73eca392c1efed24e5/pandas-2.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8635c16bf3d99040fdf3ca3db669a7250ddf49c55dc4aa8fe0ae0fa8d6dcc1f0", size = 13032214 },
+ { url = "https://files.pythonhosted.org/packages/e4/d7/303dba73f1c3a9ef067d23e5afbb6175aa25e8121be79be354dcc740921a/pandas-2.2.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:40ae1dffb3967a52203105a077415a86044a2bea011b5f321c6aa64b379a3f51", size = 16278302 },
+ { url = "https://files.pythonhosted.org/packages/ba/df/8ff7c5ed1cc4da8c6ab674dc8e4860a4310c3880df1283e01bac27a4333d/pandas-2.2.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8e5a0b00e1e56a842f922e7fae8ae4077aee4af0acb5ae3622bd4b4c30aedf99", size = 13892866 },
+ { url = "https://files.pythonhosted.org/packages/69/a6/81d5dc9a612cf0c1810c2ebc4f2afddb900382276522b18d128213faeae3/pandas-2.2.2-cp310-cp310-win_amd64.whl", hash = "sha256:ddf818e4e6c7c6f4f7c8a12709696d193976b591cc7dc50588d3d1a6b5dc8772", size = 11621592 },
+ { url = "https://files.pythonhosted.org/packages/1b/70/61704497903d43043e288017cb2b82155c0d41e15f5c17807920877b45c2/pandas-2.2.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:696039430f7a562b74fa45f540aca068ea85fa34c244d0deee539cb6d70aa288", size = 12574808 },
+ { url = "https://files.pythonhosted.org/packages/16/c6/75231fd47afd6b3f89011e7077f1a3958441264aca7ae9ff596e3276a5d0/pandas-2.2.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8e90497254aacacbc4ea6ae5e7a8cd75629d6ad2b30025a4a8b09aa4faf55151", size = 11304876 },
+ { url = "https://files.pythonhosted.org/packages/97/2d/7b54f80b93379ff94afb3bd9b0cd1d17b48183a0d6f98045bc01ce1e06a7/pandas-2.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:58b84b91b0b9f4bafac2a0ac55002280c094dfc6402402332c0913a59654ab2b", size = 15602548 },
+ { url = "https://files.pythonhosted.org/packages/fc/a5/4d82be566f069d7a9a702dcdf6f9106df0e0b042e738043c0cc7ddd7e3f6/pandas-2.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d2123dc9ad6a814bcdea0f099885276b31b24f7edf40f6cdbc0912672e22eee", size = 13031332 },
+ { url = "https://files.pythonhosted.org/packages/92/a2/b79c48f530673567805e607712b29814b47dcaf0d167e87145eb4b0118c6/pandas-2.2.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:2925720037f06e89af896c70bca73459d7e6a4be96f9de79e2d440bd499fe0db", size = 16286054 },
+ { url = "https://files.pythonhosted.org/packages/40/c7/47e94907f1d8fdb4868d61bd6c93d57b3784a964d52691b77ebfdb062842/pandas-2.2.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0cace394b6ea70c01ca1595f839cf193df35d1575986e484ad35c4aeae7266c1", size = 13879507 },
+ { url = "https://files.pythonhosted.org/packages/ab/63/966db1321a0ad55df1d1fe51505d2cdae191b84c907974873817b0a6e849/pandas-2.2.2-cp311-cp311-win_amd64.whl", hash = "sha256:873d13d177501a28b2756375d59816c365e42ed8417b41665f346289adc68d24", size = 11634249 },
+ { url = "https://files.pythonhosted.org/packages/dd/49/de869130028fb8d90e25da3b7d8fb13e40f5afa4c4af1781583eb1ff3839/pandas-2.2.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:9dfde2a0ddef507a631dc9dc4af6a9489d5e2e740e226ad426a05cabfbd7c8ef", size = 12500886 },
+ { url = "https://files.pythonhosted.org/packages/db/7c/9a60add21b96140e22465d9adf09832feade45235cd22f4cb1668a25e443/pandas-2.2.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e9b79011ff7a0f4b1d6da6a61aa1aa604fb312d6647de5bad20013682d1429ce", size = 11340320 },
+ { url = "https://files.pythonhosted.org/packages/b0/85/f95b5f322e1ae13b7ed7e97bd999160fa003424711ab4dc8344b8772c270/pandas-2.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1cb51fe389360f3b5a4d57dbd2848a5f033350336ca3b340d1c53a1fad33bcad", size = 15204346 },
+ { url = "https://files.pythonhosted.org/packages/40/10/79e52ef01dfeb1c1ca47a109a01a248754ebe990e159a844ece12914de83/pandas-2.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eee3a87076c0756de40b05c5e9a6069c035ba43e8dd71c379e68cab2c20f16ad", size = 12733396 },
+ { url = "https://files.pythonhosted.org/packages/35/9d/208febf8c4eb5c1d9ea3314d52d8bd415fd0ef0dd66bb24cc5bdbc8fa71a/pandas-2.2.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3e374f59e440d4ab45ca2fffde54b81ac3834cf5ae2cdfa69c90bc03bde04d76", size = 15858913 },
+ { url = "https://files.pythonhosted.org/packages/99/d1/2d9bd05def7a9e08a92ec929b5a4c8d5556ec76fae22b0fa486cbf33ea63/pandas-2.2.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:43498c0bdb43d55cb162cdc8c06fac328ccb5d2eabe3cadeb3529ae6f0517c32", size = 13417786 },
+ { url = "https://files.pythonhosted.org/packages/22/a5/a0b255295406ed54269814bc93723cfd1a0da63fb9aaf99e1364f07923e5/pandas-2.2.2-cp312-cp312-win_amd64.whl", hash = "sha256:d187d355ecec3629624fccb01d104da7d7f391db0311145817525281e2804d23", size = 11498828 },
+]
+
+[[package]]
+name = "pluggy"
+version = "1.5.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/96/2d/02d4312c973c6050a18b314a5ad0b3210edb65a906f868e31c111dede4a6/pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", size = 67955 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669", size = 20556 },
+]
+
+[[package]]
+name = "polars"
+version = "0.20.31"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/10/cb/447d8ba0d38df42bf247ade1fb7ad1ba61f09a95144ee8c4ab0314d38703/polars-0.20.31.tar.gz", hash = "sha256:00f62dec6bf43a4e2a5db58b99bf0e79699fe761c80ae665868eaea5168f3bbb", size = 3666354 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a2/74/ca08d8b5d067159541c4419f0cbd0b474bd44a89f97e79e0b4b3fd5b24b5/polars-0.20.31-cp38-abi3-macosx_10_12_x86_64.whl", hash = "sha256:86454ade5ed302bbf87f145cfcb1b14f7a5765a9440e448659e1f3dba6ac4e79", size = 27645039 },
+ { url = "https://files.pythonhosted.org/packages/d0/71/984ed5f67c824c9b547665454ee438e0540a1ce2e8eca4d2021eeaf826aa/polars-0.20.31-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:67f2fe842262b7e1b9371edad21b760f6734d28b74c78dda88dff1bf031b9499", size = 24750031 },
+ { url = "https://files.pythonhosted.org/packages/90/7d/7541e559d7fce232ba34340b0953cac9af2344853d675dc2de01a4d3abc7/polars-0.20.31-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24b82441f93409e0e8abd6f427b029db102f02b8de328cee9a680f84b84e3736", size = 28792870 },
+ { url = "https://files.pythonhosted.org/packages/72/6a/6bf5da56542ae976140dd30be950149146c361eb8dd6471fdb6d50ae7581/polars-0.20.31-cp38-abi3-manylinux_2_24_aarch64.whl", hash = "sha256:87f43bce4d41abf8c8c5658d881e4b8378e5c61010a696bfea8b4106b908e916", size = 26994077 },
+ { url = "https://files.pythonhosted.org/packages/37/3e/d8f460c420254b094df5b2fa24e1d5571611540309eb66dad46405fb9b47/polars-0.20.31-cp38-abi3-win_amd64.whl", hash = "sha256:2d7567c9fd9d3b9aa93387ca9880d9e8f7acea3c0a0555c03d8c0c2f0715d43c", size = 28847550 },
+]
+
+[[package]]
+name = "pyarrow"
+version = "15.0.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "numpy" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/35/a1/b7c9bacfd17a9d1d8d025db2fc39112e0b1a629ea401880e4e97632dbc4c/pyarrow-15.0.2.tar.gz", hash = "sha256:9c9bc803cb3b7bfacc1e96ffbfd923601065d9d3f911179d81e72d99fd74a3d9", size = 1064226 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/08/fc/9e58e43f41d161bf3b3bcc580170b3b0bdac8c0f1603a65b967cf94b6bf4/pyarrow-15.0.2-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:88b340f0a1d05b5ccc3d2d986279045655b1fe8e41aba6ca44ea28da0d1455d8", size = 27150472 },
+ { url = "https://files.pythonhosted.org/packages/d3/f4/d39bdce9661621df9bdb511c3f72c81817edc8bc6365672b22a5de41004a/pyarrow-15.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:eaa8f96cecf32da508e6c7f69bb8401f03745c050c1dd42ec2596f2e98deecac", size = 24196261 },
+ { url = "https://files.pythonhosted.org/packages/1a/b2/de978e01592192695c7449c6fa28f2269bf74808b533a177c90ee6295bdd/pyarrow-15.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23c6753ed4f6adb8461e7c383e418391b8d8453c5d67e17f416c3a5d5709afbd", size = 36153060 },
+ { url = "https://files.pythonhosted.org/packages/01/e0/13aada7b0af1039554e675bd8c878acb3d86bab690e5a6b05fc8547a9cf2/pyarrow-15.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f639c059035011db8c0497e541a8a45d98a58dbe34dc8fadd0ef128f2cee46e5", size = 38402930 },
+ { url = "https://files.pythonhosted.org/packages/ba/f9/7f82c25c89828f38ebc2ce2f7d6b544107bc7502255ed92ac398be69cc19/pyarrow-15.0.2-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:290e36a59a0993e9a5224ed2fb3e53375770f07379a0ea03ee2fce2e6d30b423", size = 35655190 },
+ { url = "https://files.pythonhosted.org/packages/e9/0e/0d30e6fd1e0fc9cc267381520f9386a56b2b51c4066d8f9a0d4a5a2e0b44/pyarrow-15.0.2-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:06c2bb2a98bc792f040bef31ad3e9be6a63d0cb39189227c08a7d955db96816e", size = 38331501 },
+ { url = "https://files.pythonhosted.org/packages/ec/85/abca962d99950aad803bd755baf020a8183ca3be1319bb205f52bbbcce16/pyarrow-15.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:f7a197f3670606a960ddc12adbe8075cea5f707ad7bf0dffa09637fdbb89f76c", size = 24814742 },
+ { url = "https://files.pythonhosted.org/packages/34/50/93f6104e79bec6e1af4356f5164695a0b6338f230e1273706ec9eb836bea/pyarrow-15.0.2-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:5f8bc839ea36b1f99984c78e06e7a06054693dc2af8920f6fb416b5bca9944e4", size = 27187122 },
+ { url = "https://files.pythonhosted.org/packages/47/cb/be17c4879e60e683761be281d955923d586a572fbc2503e08f08ca713349/pyarrow-15.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f5e81dfb4e519baa6b4c80410421528c214427e77ca0ea9461eb4097c328fa33", size = 24217346 },
+ { url = "https://files.pythonhosted.org/packages/ac/f6/57d67d7729643ebc80f0df18420b9fc1857ca418d1b2bb3bc5be2fd2119e/pyarrow-15.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a4f240852b302a7af4646c8bfe9950c4691a419847001178662a98915fd7ee7", size = 36151795 },
+ { url = "https://files.pythonhosted.org/packages/ff/42/df219f3a1e06c2dd63599243384d6ba2a02a44a976801fbc9601264ff562/pyarrow-15.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e7d9cfb5a1e648e172428c7a42b744610956f3b70f524aa3a6c02a448ba853e", size = 38398065 },
+ { url = "https://files.pythonhosted.org/packages/4a/37/a32de321c7270df01b709f554903acf4edaaef373310ff116302224348a9/pyarrow-15.0.2-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:2d4f905209de70c0eb5b2de6763104d5a9a37430f137678edfb9a675bac9cd98", size = 35672270 },
+ { url = "https://files.pythonhosted.org/packages/61/94/0b28417737ea56a4819603c0024c8b24365f85154bb938785352e09bea55/pyarrow-15.0.2-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:90adb99e8ce5f36fbecbbc422e7dcbcbed07d985eed6062e459e23f9e71fd197", size = 38346410 },
+ { url = "https://files.pythonhosted.org/packages/96/2f/0092154f3e1ebbc814de1f8a9075543d77a7ecc691fbad407df174799abe/pyarrow-15.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:b116e7fd7889294cbd24eb90cd9bdd3850be3738d61297855a71ac3b8124ee38", size = 24799922 },
+ { url = "https://files.pythonhosted.org/packages/d2/84/a24b15ca90f3ae49bdb15c5b10c000475be539da677e8d6495318c65457d/pyarrow-15.0.2-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:25335e6f1f07fdaa026a61c758ee7d19ce824a866b27bba744348fa73bb5a440", size = 27100546 },
+ { url = "https://files.pythonhosted.org/packages/7b/cb/15f9c73da8e37253a5312b6803e77ef240eaf8e89e47e0310b020a5b94f0/pyarrow-15.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:90f19e976d9c3d8e73c80be84ddbe2f830b6304e4c576349d9360e335cd627fc", size = 24186578 },
+ { url = "https://files.pythonhosted.org/packages/e4/0d/082945e14f11f74a5c2318336f99018d48f8aea111817dd082eb7eda6754/pyarrow-15.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a22366249bf5fd40ddacc4f03cd3160f2d7c247692945afb1899bab8a140ddfb", size = 36150968 },
+ { url = "https://files.pythonhosted.org/packages/71/8a/c5f28f99a44e0913f0f86e315f04b51b3757a2353dedaa916c7997b4cb51/pyarrow-15.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2a335198f886b07e4b5ea16d08ee06557e07db54a8400cc0d03c7f6a22f785f", size = 38412265 },
+ { url = "https://files.pythonhosted.org/packages/61/07/9910553bd6227ba86be5313665b8e1572449e17502e61c9954b529b96f1e/pyarrow-15.0.2-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:3e6d459c0c22f0b9c810a3917a1de3ee704b021a5fb8b3bacf968eece6df098f", size = 35652118 },
+ { url = "https://files.pythonhosted.org/packages/f5/87/6270d60494909a45beac5afcb49f67b6a2f19ea07e25d130c62ae4e02bdc/pyarrow-15.0.2-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:033b7cad32198754d93465dcfb71d0ba7cb7cd5c9afd7052cab7214676eec38b", size = 38344967 },
+ { url = "https://files.pythonhosted.org/packages/cd/93/c2d3384aba712a0eb503f3940132189e81e97fb320844651783f45f15722/pyarrow-15.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:29850d050379d6e8b5a693098f4de7fd6a2bea4365bfd073d7c57c57b95041ee", size = 25277837 },
+]
+
+[[package]]
+name = "pydantic"
+version = "2.9.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "annotated-types" },
+ { name = "pydantic-core" },
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/14/15/3d989541b9c8128b96d532cfd2dd10131ddcc75a807330c00feb3d42a5bd/pydantic-2.9.1.tar.gz", hash = "sha256:1363c7d975c7036df0db2b4a61f2e062fbc0aa5ab5f2772e0ffc7191a4f4bce2", size = 768511 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e4/28/fff23284071bc1ba419635c7e86561c8b9b8cf62a5bcb459b92d7625fd38/pydantic-2.9.1-py3-none-any.whl", hash = "sha256:7aff4db5fdf3cf573d4b3c30926a510a10e19a0774d38fc4967f78beb6deb612", size = 434363 },
+]
+
+[[package]]
+name = "pydantic-core"
+version = "2.23.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/5c/cc/07bec3fb337ff80eacd6028745bd858b9642f61ee58cfdbfb64451c1def0/pydantic_core-2.23.3.tar.gz", hash = "sha256:3cb0f65d8b4121c1b015c60104a685feb929a29d7cf204387c7f2688c7974690", size = 402277 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a8/fb/fc7077473d843fd70bd1e09177c3225be95621881765d6f7d123036fb9c7/pydantic_core-2.23.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:7f10a5d1b9281392f1bf507d16ac720e78285dfd635b05737c3911637601bae6", size = 1845897 },
+ { url = "https://files.pythonhosted.org/packages/92/8c/c6f1a0f72328c5687acc0847baf806c4cb31c1a9321de70c3cbcbb37cece/pydantic_core-2.23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3c09a7885dd33ee8c65266e5aa7fb7e2f23d49d8043f089989726391dd7350c5", size = 1777037 },
+ { url = "https://files.pythonhosted.org/packages/bd/fc/89e2a998218230ed8c38f0ba11d8f73947df90ac59a1e9f2fb4e1ba318a5/pydantic_core-2.23.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6470b5a1ec4d1c2e9afe928c6cb37eb33381cab99292a708b8cb9aa89e62429b", size = 1801481 },
+ { url = "https://files.pythonhosted.org/packages/d7/f3/81a5f69ea1359633876ea2283728d0afe2ed62e028d91d747dcdfabc594e/pydantic_core-2.23.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9172d2088e27d9a185ea0a6c8cebe227a9139fd90295221d7d495944d2367700", size = 1807280 },
+ { url = "https://files.pythonhosted.org/packages/7a/91/b20f5646d7ef7c2629744b49e6fb86f839aa676b1aa11fb3998371ac5860/pydantic_core-2.23.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:86fc6c762ca7ac8fbbdff80d61b2c59fb6b7d144aa46e2d54d9e1b7b0e780e01", size = 2003100 },
+ { url = "https://files.pythonhosted.org/packages/89/71/59172c61f2ecd4b33276774512ef31912944429fabaa0f4483151f788a35/pydantic_core-2.23.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f0cb80fd5c2df4898693aa841425ea1727b1b6d2167448253077d2a49003e0ed", size = 2662832 },
+ { url = "https://files.pythonhosted.org/packages/80/d1/c6f8e23987dc166976996a910876596635d71e529335b846880d856589fd/pydantic_core-2.23.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03667cec5daf43ac4995cefa8aaf58f99de036204a37b889c24a80927b629cec", size = 2057218 },
+ { url = "https://files.pythonhosted.org/packages/ae/f3/f4381383b65cf16392aead51643fd5fb3feeb69972226d276ce5c6cfb948/pydantic_core-2.23.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:047531242f8e9c2db733599f1c612925de095e93c9cc0e599e96cf536aaf56ba", size = 1923455 },
+ { url = "https://files.pythonhosted.org/packages/a1/8d/d845077d39e55763bdb99d64ef86f8961827f8896b6e58ce08ce6b255bde/pydantic_core-2.23.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:5499798317fff7f25dbef9347f4451b91ac2a4330c6669821c8202fd354c7bee", size = 1966890 },
+ { url = "https://files.pythonhosted.org/packages/53/f8/56355d7b1cf84df63f93b1a455ebb53fd9588edbb63a44fd4d801444a060/pydantic_core-2.23.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bbb5e45eab7624440516ee3722a3044b83fff4c0372efe183fd6ba678ff681fe", size = 2112163 },
+ { url = "https://files.pythonhosted.org/packages/06/32/a0a7a3a318b4ae98a0e6b9e18db31fadbd3cfc46b31191e4ed4ca658e2d4/pydantic_core-2.23.3-cp310-none-win32.whl", hash = "sha256:8b5b3ed73abb147704a6e9f556d8c5cb078f8c095be4588e669d315e0d11893b", size = 1717086 },
+ { url = "https://files.pythonhosted.org/packages/e3/31/38aebe234508fc30c80b4825661d3c1ef0d51b1c40a12e50855b108acd35/pydantic_core-2.23.3-cp310-none-win_amd64.whl", hash = "sha256:2b603cde285322758a0279995b5796d64b63060bfbe214b50a3ca23b5cee3e83", size = 1918933 },
+ { url = "https://files.pythonhosted.org/packages/4a/60/ef8eaad365c1d94962d158633f66313e051f7b90cead647e65a96993da22/pydantic_core-2.23.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:c889fd87e1f1bbeb877c2ee56b63bb297de4636661cc9bbfcf4b34e5e925bc27", size = 1843251 },
+ { url = "https://files.pythonhosted.org/packages/57/f4/20aa352e03379a3b5d6c2fb951a979f70718138ea747e3f756d63dda69da/pydantic_core-2.23.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ea85bda3189fb27503af4c45273735bcde3dd31c1ab17d11f37b04877859ef45", size = 1776367 },
+ { url = "https://files.pythonhosted.org/packages/f1/b9/e5482ac4ea2d128925759d905fb05a08ca98e67ed1d8ab7401861997c6c8/pydantic_core-2.23.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a7f7f72f721223f33d3dc98a791666ebc6a91fa023ce63733709f4894a7dc611", size = 1800135 },
+ { url = "https://files.pythonhosted.org/packages/78/9f/387353f6b6b2ed023f973cffa4e2384bb2e52d15acf5680bc70c50f6c48f/pydantic_core-2.23.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2b2b55b0448e9da68f56b696f313949cda1039e8ec7b5d294285335b53104b61", size = 1805896 },
+ { url = "https://files.pythonhosted.org/packages/4f/70/9a153f19394e2ef749f586273ebcdb3de97e2fa97e175b957a8e5a2a77f9/pydantic_core-2.23.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c24574c7e92e2c56379706b9a3f07c1e0c7f2f87a41b6ee86653100c4ce343e5", size = 2001492 },
+ { url = "https://files.pythonhosted.org/packages/a5/1c/79d976846fcdcae0c657922d0f476ca287fa694e69ac1fc9d397b831e1cc/pydantic_core-2.23.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2b05e6ccbee333a8f4b8f4d7c244fdb7a979e90977ad9c51ea31261e2085ce0", size = 2659827 },
+ { url = "https://files.pythonhosted.org/packages/fd/89/cdd76ae363cabae23a4b70df50d603c81c517415ff9d5d65e72e35251cf6/pydantic_core-2.23.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e2c409ce1c219c091e47cb03feb3c4ed8c2b8e004efc940da0166aaee8f9d6c8", size = 2055160 },
+ { url = "https://files.pythonhosted.org/packages/1a/82/7d62c3dd4e2e101a81ac3fa138d986bfbad9727a6275fc2b4a5efb98bdbd/pydantic_core-2.23.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d965e8b325f443ed3196db890d85dfebbb09f7384486a77461347f4adb1fa7f8", size = 1922282 },
+ { url = "https://files.pythonhosted.org/packages/85/e6/ef09f395c974d08674464dd3d49066612fe7cc0466ef8ce9427cadf13e5b/pydantic_core-2.23.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f56af3a420fb1ffaf43ece3ea09c2d27c444e7c40dcb7c6e7cf57aae764f2b48", size = 1965827 },
+ { url = "https://files.pythonhosted.org/packages/a4/5e/e589474af850c77c3180b101b54bc98bf812ad09728ba2cff4989acc9734/pydantic_core-2.23.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5b01a078dd4f9a52494370af21aa52964e0a96d4862ac64ff7cea06e0f12d2c5", size = 2110810 },
+ { url = "https://files.pythonhosted.org/packages/e0/ff/626007d5b7ac811f9bcac6d8af3a574ccee4505c1f015d25806101842f0c/pydantic_core-2.23.3-cp311-none-win32.whl", hash = "sha256:560e32f0df04ac69b3dd818f71339983f6d1f70eb99d4d1f8e9705fb6c34a5c1", size = 1715479 },
+ { url = "https://files.pythonhosted.org/packages/4f/ff/6dc33f3b71e34ef633e35d6476d245bf303fc3eaf18a00f39bb54f78faf3/pydantic_core-2.23.3-cp311-none-win_amd64.whl", hash = "sha256:c744fa100fdea0d000d8bcddee95213d2de2e95b9c12be083370b2072333a0fa", size = 1918281 },
+ { url = "https://files.pythonhosted.org/packages/8f/35/6d81bc4aa7d06e716f39e2bffb0eabcbcebaf7bab94c2f8278e277ded0ea/pydantic_core-2.23.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:e0ec50663feedf64d21bad0809f5857bac1ce91deded203efc4a84b31b2e4305", size = 1845250 },
+ { url = "https://files.pythonhosted.org/packages/18/42/0821cd46f76406e0fe57df7a89d6af8fddb22cce755bcc2db077773c7d1a/pydantic_core-2.23.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:db6e6afcb95edbe6b357786684b71008499836e91f2a4a1e55b840955b341dbb", size = 1769993 },
+ { url = "https://files.pythonhosted.org/packages/e5/55/b969088e48bd8ea588548a7194d425de74370b17b385cee4d28f5a79013d/pydantic_core-2.23.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:98ccd69edcf49f0875d86942f4418a4e83eb3047f20eb897bffa62a5d419c8fa", size = 1791250 },
+ { url = "https://files.pythonhosted.org/packages/43/c1/1d460d09c012ac76b68b2a1fd426ad624724f93b40e24a9a993763f12c61/pydantic_core-2.23.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a678c1ac5c5ec5685af0133262103defb427114e62eafeda12f1357a12140162", size = 1802530 },
+ { url = "https://files.pythonhosted.org/packages/70/8e/fd3c9eda00fbdadca726f17a0f863ecd871a65b3a381b77277ae386d3bcd/pydantic_core-2.23.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:01491d8b4d8db9f3391d93b0df60701e644ff0894352947f31fff3e52bd5c801", size = 1997848 },
+ { url = "https://files.pythonhosted.org/packages/f0/67/13fa22d7b09395e83721edc31bae2bd5c5e2c36a09d470c18f5d1de46958/pydantic_core-2.23.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fcf31facf2796a2d3b7fe338fe8640aa0166e4e55b4cb108dbfd1058049bf4cb", size = 2662790 },
+ { url = "https://files.pythonhosted.org/packages/fa/1b/1d689c53d15ab67cb0df1c3a2b1df873b50409581e93e4848289dce57e2f/pydantic_core-2.23.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7200fd561fb3be06827340da066df4311d0b6b8eb0c2116a110be5245dceb326", size = 2074114 },
+ { url = "https://files.pythonhosted.org/packages/3d/d9/b565048609db77760b9a0900f6e0a3b2f33be47cd3c4a433f49653a0d2b5/pydantic_core-2.23.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:dc1636770a809dee2bd44dd74b89cc80eb41172bcad8af75dd0bc182c2666d4c", size = 1918153 },
+ { url = "https://files.pythonhosted.org/packages/41/94/8ee55c51333ed8df3a6f1e73c6530c724a9a37d326e114c9e3b24faacff9/pydantic_core-2.23.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:67a5def279309f2e23014b608c4150b0c2d323bd7bccd27ff07b001c12c2415c", size = 1969019 },
+ { url = "https://files.pythonhosted.org/packages/f7/49/0233bae5778a5526cef000447a93e8d462f4f13e2214c13c5b23d379cb25/pydantic_core-2.23.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:748bdf985014c6dd3e1e4cc3db90f1c3ecc7246ff5a3cd4ddab20c768b2f1dab", size = 2121325 },
+ { url = "https://files.pythonhosted.org/packages/42/a1/2f262db2fd6f9c2c9904075a067b1764cc6f71c014be5c6c91d9de52c434/pydantic_core-2.23.3-cp312-none-win32.whl", hash = "sha256:255ec6dcb899c115f1e2a64bc9ebc24cc0e3ab097775755244f77360d1f3c06c", size = 1725252 },
+ { url = "https://files.pythonhosted.org/packages/9a/00/a57937080b49500df790c4853d3e7bc605bd0784e4fcaf1a159456f37ef1/pydantic_core-2.23.3-cp312-none-win_amd64.whl", hash = "sha256:40b8441be16c1e940abebed83cd006ddb9e3737a279e339dbd6d31578b802f7b", size = 1920660 },
+ { url = "https://files.pythonhosted.org/packages/e1/3c/32958c0a5d1935591b58337037a1695782e61261582d93d5a7f55441f879/pydantic_core-2.23.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:6daaf5b1ba1369a22c8b050b643250e3e5efc6a78366d323294aee54953a4d5f", size = 1845068 },
+ { url = "https://files.pythonhosted.org/packages/92/a1/7e628e19b78e6ffdb2c92cccbb7eca84bfd3276cee4cafcae8833452f458/pydantic_core-2.23.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d015e63b985a78a3d4ccffd3bdf22b7c20b3bbd4b8227809b3e8e75bc37f9cb2", size = 1770095 },
+ { url = "https://files.pythonhosted.org/packages/bb/17/d15fd8ce143cd1abb27be924eeff3c5c0fe3b0582f703c5a5273c11e67ce/pydantic_core-2.23.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a3fc572d9b5b5cfe13f8e8a6e26271d5d13f80173724b738557a8c7f3a8a3791", size = 1790964 },
+ { url = "https://files.pythonhosted.org/packages/24/cc/37feff1792f09dc33207fbad3897373229279d1973c211f9562abfdf137d/pydantic_core-2.23.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f6bd91345b5163ee7448bee201ed7dd601ca24f43f439109b0212e296eb5b423", size = 1802384 },
+ { url = "https://files.pythonhosted.org/packages/44/d8/ca9acd7f5f044d9ff6e43d7f35aab4b1d5982b4773761eabe3317fc68e30/pydantic_core-2.23.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fc379c73fd66606628b866f661e8785088afe2adaba78e6bbe80796baf708a63", size = 1997824 },
+ { url = "https://files.pythonhosted.org/packages/35/0f/146269dba21b10d5bf86f9a7a7bbeab4ce1db06f466a1ab5ec3dec68b409/pydantic_core-2.23.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fbdce4b47592f9e296e19ac31667daed8753c8367ebb34b9a9bd89dacaa299c9", size = 2662907 },
+ { url = "https://files.pythonhosted.org/packages/5a/7d/9573f006e39cd1a7b7716d1a264e3f4f353cf0a6042c04c01c6e31666f62/pydantic_core-2.23.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc3cf31edf405a161a0adad83246568647c54404739b614b1ff43dad2b02e6d5", size = 2073953 },
+ { url = "https://files.pythonhosted.org/packages/7e/a5/25200aaafd1e97e2ec3c1eb4b357669dd93911f2eba252bc60b6ba884fff/pydantic_core-2.23.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8e22b477bf90db71c156f89a55bfe4d25177b81fce4aa09294d9e805eec13855", size = 1917822 },
+ { url = "https://files.pythonhosted.org/packages/3e/b4/ac069c58e3cee70c69f03693222cc173fdf740d20d53167bceafc1efc7ca/pydantic_core-2.23.3-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:0a0137ddf462575d9bce863c4c95bac3493ba8e22f8c28ca94634b4a1d3e2bb4", size = 1968838 },
+ { url = "https://files.pythonhosted.org/packages/d1/3d/9f96bbd6212b4b0a6dc6d037e446208d3420baba2b2b81e544094b18a859/pydantic_core-2.23.3-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:203171e48946c3164fe7691fc349c79241ff8f28306abd4cad5f4f75ed80bc8d", size = 2121468 },
+ { url = "https://files.pythonhosted.org/packages/ac/50/7399d536d6600d69059a87fff89861332c97a7b3471327a3663c7576e707/pydantic_core-2.23.3-cp313-none-win32.whl", hash = "sha256:76bdab0de4acb3f119c2a4bff740e0c7dc2e6de7692774620f7452ce11ca76c8", size = 1725373 },
+ { url = "https://files.pythonhosted.org/packages/24/ba/9ac8744ab636c1161c598cc5e8261379b6b0f1d63c31242bf9d5ed41ed32/pydantic_core-2.23.3-cp313-none-win_amd64.whl", hash = "sha256:37ba321ac2a46100c578a92e9a6aa33afe9ec99ffa084424291d84e456f490c1", size = 1920594 },
+ { url = "https://files.pythonhosted.org/packages/c0/2d/1f4ec8614225b516366f6c4c49d55ec42ebb93004c0bc9a3e0d21d0ed3c0/pydantic_core-2.23.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f399e8657c67313476a121a6944311fab377085ca7f490648c9af97fc732732d", size = 1834597 },
+ { url = "https://files.pythonhosted.org/packages/4d/f0/665d4cd60147992b1da0f5a9d1fd7f309c7f12999e3a494c4898165c64ab/pydantic_core-2.23.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:6b5547d098c76e1694ba85f05b595720d7c60d342f24d5aad32c3049131fa5c4", size = 1721339 },
+ { url = "https://files.pythonhosted.org/packages/a7/02/7b85ae2c3452e6b9f43b89482dc2a2ba771c31d86d93c2a5a250870b243b/pydantic_core-2.23.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0dda0290a6f608504882d9f7650975b4651ff91c85673341789a476b1159f211", size = 1794316 },
+ { url = "https://files.pythonhosted.org/packages/61/09/f0fde8a9d66f37f3e08e03965a9833d71c4b5fb0287d8f625f88d79dfcd6/pydantic_core-2.23.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65b6e5da855e9c55a0c67f4db8a492bf13d8d3316a59999cfbaf98cc6e401961", size = 1944713 },
+ { url = "https://files.pythonhosted.org/packages/61/2b/0bfe144cac991700dbeaff620fed38b0565352acb342f90374ebf1350084/pydantic_core-2.23.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:09e926397f392059ce0afdcac920df29d9c833256354d0c55f1584b0b70cf07e", size = 1916385 },
+ { url = "https://files.pythonhosted.org/packages/02/4f/7d1b8a28e4a1dd96cdde9e220627abd4d3a7860eb79cc682ccf828cf93e4/pydantic_core-2.23.3-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:87cfa0ed6b8c5bd6ae8b66de941cece179281239d482f363814d2b986b79cedc", size = 1959666 },
+ { url = "https://files.pythonhosted.org/packages/5d/9a/b2c520ef627001c68cf23990b2de42ba66eae58a3f56f13375ae9aecb88d/pydantic_core-2.23.3-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:e61328920154b6a44d98cabcb709f10e8b74276bc709c9a513a8c37a18786cc4", size = 2103742 },
+ { url = "https://files.pythonhosted.org/packages/cd/43/b9a88a4e6454fcad63317e3dade687b68ae7d9f324c868411b1ea70218b3/pydantic_core-2.23.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ce3317d155628301d649fe5e16a99528d5680af4ec7aa70b90b8dacd2d725c9b", size = 1916507 },
+]
+
+[[package]]
+name = "pyparsing"
+version = "3.1.4"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/83/08/13f3bce01b2061f2bbd582c9df82723de943784cf719a35ac886c652043a/pyparsing-3.1.4.tar.gz", hash = "sha256:f86ec8d1a83f11977c9a6ea7598e8c27fc5cddfa5b07ea2241edbbde1d7bc032", size = 900231 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e5/0c/0e3c05b1c87bb6a1c76d281b0f35e78d2d80ac91b5f8f524cebf77f51049/pyparsing-3.1.4-py3-none-any.whl", hash = "sha256:a6a7ee4235a3f944aa1fa2249307708f893fe5717dc603503c6c7969c070fb7c", size = 104100 },
+]
+
+[[package]]
+name = "pypika"
+version = "0.48.9"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/c7/2c/94ed7b91db81d61d7096ac8f2d325ec562fc75e35f3baea8749c85b28784/PyPika-0.48.9.tar.gz", hash = "sha256:838836a61747e7c8380cd1b7ff638694b7a7335345d0f559b04b2cd832ad5378", size = 67259 }
+
+[[package]]
+name = "pytest"
+version = "8.3.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "colorama", marker = "sys_platform == 'win32'" },
+ { name = "exceptiongroup", marker = "python_full_version < '3.11'" },
+ { name = "iniconfig" },
+ { name = "packaging" },
+ { name = "pluggy" },
+ { name = "tomli", marker = "python_full_version < '3.11'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/8b/6c/62bbd536103af674e227c41a8f3dcd022d591f6eed5facb5a0f31ee33bbc/pytest-8.3.3.tar.gz", hash = "sha256:70b98107bd648308a7952b06e6ca9a50bc660be218d53c257cc1fc94fda10181", size = 1442487 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/6b/77/7440a06a8ead44c7757a64362dd22df5760f9b12dc5f11b6188cd2fc27a0/pytest-8.3.3-py3-none-any.whl", hash = "sha256:a6853c7375b2663155079443d2e45de913a911a11d669df02a50814944db57b2", size = 342341 },
+]
+
+[[package]]
+name = "python-dateutil"
+version = "2.9.0.post0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "six" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892 },
+]
+
+[[package]]
+name = "python-dotenv"
+version = "1.0.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/bc/57/e84d88dfe0aec03b7a2d4327012c1627ab5f03652216c63d49846d7a6c58/python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca", size = 39115 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/6a/3e/b68c118422ec867fa7ab88444e1274aa40681c606d59ac27de5a5588f082/python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a", size = 19863 },
+]
+
+[package.optional-dependencies]
+cli = [
+ { name = "click" },
+]
+
+[[package]]
+name = "pytz"
+version = "2024.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/3a/31/3c70bf7603cc2dca0f19bdc53b4537a797747a58875b552c8c413d963a3f/pytz-2024.2.tar.gz", hash = "sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a", size = 319692 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/11/c3/005fcca25ce078d2cc29fd559379817424e94885510568bc1bc53d7d5846/pytz-2024.2-py2.py3-none-any.whl", hash = "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725", size = 508002 },
+]
+
+[[package]]
+name = "redis"
+version = "5.0.8"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "async-timeout", marker = "python_full_version < '3.11.3'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/48/10/defc227d65ea9c2ff5244645870859865cba34da7373477c8376629746ec/redis-5.0.8.tar.gz", hash = "sha256:0c5b10d387568dfe0698c6fad6615750c24170e548ca2deac10c649d463e9870", size = 4595651 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c5/d1/19a9c76811757684a0f74adc25765c8a901d67f9f6472ac9d57c844a23c8/redis-5.0.8-py3-none-any.whl", hash = "sha256:56134ee08ea909106090934adc36f65c9bcbbaecea5b21ba704ba6fb561f8eb4", size = 255608 },
+]
+
+[[package]]
+name = "six"
+version = "1.16.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/71/39/171f1c67cd00715f190ba0b100d606d440a28c93c7714febeca8b79af85e/six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", size = 34041 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d9/5a/e7c31adbe875f2abbb91bd84cf2dc52d792b5a01506781dbcf25c91daf11/six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254", size = 11053 },
+]
+
+[[package]]
+name = "sniffio"
+version = "1.3.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 },
+]
+
+[[package]]
+name = "starlette"
+version = "0.38.5"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "anyio" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/13/aa/57975da16ca0c368bbb5687daa6ad79561c2328a44667a1d6802e94df3e5/starlette-0.38.5.tar.gz", hash = "sha256:04a92830a9b6eb1442c766199d62260c3d4dc9c4f9188360626b1e0273cb7077", size = 2569511 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/90/1a/8853ba4cea1ec99535ac9be5795a50ca92cddd04d57bbaa56e866cb7548c/starlette-0.38.5-py3-none-any.whl", hash = "sha256:632f420a9d13e3ee2a6f18f437b0a9f1faecb0bc42e1942aa2ea0e379a4c4206", size = 71447 },
+]
+
+[[package]]
+name = "tesseract-app"
+version = "0.1.0"
+source = { virtual = "." }
+dependencies = [
+ { name = "granian" },
+ { name = "logiclayer" },
+ { name = "logiclayer-complexity" },
+ { name = "tesseract-olap", extra = ["clickhouse", "redis"] },
+]
+
+[package.dev-dependencies]
+dev = [
+ { name = "granian", extra = ["reload"] },
+ { name = "pytest" },
+ { name = "python-dotenv", extra = ["cli"] },
+]
+
+[package.metadata]
+requires-dist = [
+ { name = "granian", specifier = ">=1.6.0" },
+ { name = "logiclayer", specifier = ">=0.4.0" },
+ { name = "logiclayer-complexity", specifier = ">=0.5.5" },
+ { name = "tesseract-olap", extras = ["clickhouse", "redis"], specifier = ">=0.10.3" },
+]
+
+[package.metadata.requires-dev]
+dev = [
+ { name = "granian", extras = ["reload"], specifier = ">=1.6.0" },
+ { name = "pytest", specifier = ">=8.3.3" },
+ { name = "python-dotenv", extras = ["cli"], specifier = ">=1.0.1" },
+]
+
+[[package]]
+name = "tesseract-olap"
+version = "0.10.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "httpx" },
+ { name = "immutables" },
+ { name = "lfudacache" },
+ { name = "lxml" },
+ { name = "orjson" },
+ { name = "polars" },
+ { name = "pyparsing" },
+ { name = "pypika" },
+ { name = "typing-extensions" },
+ { name = "xlsxwriter" },
+ { name = "xmlschema" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/be/9c/1e92e016a0fa0bd78af1c1df2e7a2854aa1cb537e4d84078b9d80bea4ee1/tesseract_olap-0.10.3.tar.gz", hash = "sha256:a6f0034ed56c802c0376c7ca3e265b5d99f55e13705bf24499717076c19b120a", size = 57006 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c5/78/e9d9c8b1a5de1c6ec9bad203194e7f02bfde7b0250499a7bbf220bff43fb/tesseract_olap-0.10.3-py3-none-any.whl", hash = "sha256:40747477ef86c0eacfd940ae4d47e63a81832a03c18ccbb6964e37011f97322b", size = 70923 },
+]
+
+[package.optional-dependencies]
+clickhouse = [
+ { name = "clickhouse-cityhash" },
+ { name = "clickhouse-driver", extra = ["lz4"] },
+]
+redis = [
+ { name = "redis" },
+]
+
+[[package]]
+name = "tomli"
+version = "2.0.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/c0/3f/d7af728f075fb08564c5949a9c95e44352e23dee646869fa104a3b2060a3/tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f", size = 15164 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/97/75/10a9ebee3fd790d20926a90a2547f0bf78f371b2f13aa822c759680ca7b9/tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", size = 12757 },
+]
+
+[[package]]
+name = "typing-extensions"
+version = "4.12.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/df/db/f35a00659bc03fec321ba8bce9420de607a1d37f8342eee1863174c69557/typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8", size = 85321 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", size = 37438 },
+]
+
+[[package]]
+name = "tzdata"
+version = "2024.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/74/5b/e025d02cb3b66b7b76093404392d4b44343c69101cc85f4d180dd5784717/tzdata-2024.1.tar.gz", hash = "sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd", size = 190559 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/65/58/f9c9e6be752e9fcb8b6a0ee9fb87e6e7a1f6bcab2cdc73f02bb7ba91ada0/tzdata-2024.1-py2.py3-none-any.whl", hash = "sha256:9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252", size = 345370 },
+]
+
+[[package]]
+name = "tzlocal"
+version = "5.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "tzdata", marker = "platform_system == 'Windows'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/04/d3/c19d65ae67636fe63953b20c2e4a8ced4497ea232c43ff8d01db16de8dc0/tzlocal-5.2.tar.gz", hash = "sha256:8d399205578f1a9342816409cc1e46a93ebd5755e39ea2d85334bea911bf0e6e", size = 30201 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/97/3f/c4c51c55ff8487f2e6d0e618dba917e3c3ee2caae6cf0fbb59c9b1876f2e/tzlocal-5.2-py3-none-any.whl", hash = "sha256:49816ef2fe65ea8ac19d19aa7a1ae0551c834303d5014c6d5a62e4cbda8047b8", size = 17859 },
+]
+
+[[package]]
+name = "uvloop"
+version = "0.20.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/bc/f1/dc9577455e011ad43d9379e836ee73f40b4f99c02946849a44f7ae64835e/uvloop-0.20.0.tar.gz", hash = "sha256:4603ca714a754fc8d9b197e325db25b2ea045385e8a3ad05d3463de725fdf469", size = 2329938 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f3/69/cc1ad125ea8ce4a4d3ba7d9836062c3fc9063cf163ddf0f168e73f3268e3/uvloop-0.20.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:9ebafa0b96c62881d5cafa02d9da2e44c23f9f0cd829f3a32a6aff771449c996", size = 1363922 },
+ { url = "https://files.pythonhosted.org/packages/f7/45/5a3f7a32372e4a90dfd83f30507183ec38990b8c5930ed7e36c6a15af47b/uvloop-0.20.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:35968fc697b0527a06e134999eef859b4034b37aebca537daeb598b9d45a137b", size = 760386 },
+ { url = "https://files.pythonhosted.org/packages/9e/a5/9e973b25ade12c938940751bce71d0cb36efee3489014471f7d9c0a3c379/uvloop-0.20.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b16696f10e59d7580979b420eedf6650010a4a9c3bd8113f24a103dfdb770b10", size = 3432586 },
+ { url = "https://files.pythonhosted.org/packages/a9/e0/0bec8a25b2e9cf14fdfcf0229637b437c923b4e5ca22f8e988363c49bb51/uvloop-0.20.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b04d96188d365151d1af41fa2d23257b674e7ead68cfd61c725a422764062ae", size = 3431802 },
+ { url = "https://files.pythonhosted.org/packages/95/3b/14cef46dcec6237d858666a4a1fdb171361528c70fcd930bfc312920e7a9/uvloop-0.20.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:94707205efbe809dfa3a0d09c08bef1352f5d3d6612a506f10a319933757c006", size = 4144444 },
+ { url = "https://files.pythonhosted.org/packages/9d/5a/0ac516562ff783f760cab3b061f10fdeb4a9f985ad4b44e7e4564ff11691/uvloop-0.20.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:89e8d33bb88d7263f74dc57d69f0063e06b5a5ce50bb9a6b32f5fcbe655f9e73", size = 4147039 },
+ { url = "https://files.pythonhosted.org/packages/64/bf/45828beccf685b7ed9638d9b77ef382b470c6ca3b5bff78067e02ffd5663/uvloop-0.20.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:e50289c101495e0d1bb0bfcb4a60adde56e32f4449a67216a1ab2750aa84f037", size = 1320593 },
+ { url = "https://files.pythonhosted.org/packages/27/c0/3c24e50bee7802a2add96ca9f0d5eb0ebab07e0a5615539d38aeb89499b9/uvloop-0.20.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e237f9c1e8a00e7d9ddaa288e535dc337a39bcbf679f290aee9d26df9e72bce9", size = 736676 },
+ { url = "https://files.pythonhosted.org/packages/83/ce/ffa3c72954eae36825acfafd2b6a9221d79abd2670c0d25e04d6ef4a2007/uvloop-0.20.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:746242cd703dc2b37f9d8b9f173749c15e9a918ddb021575a0205ec29a38d31e", size = 3494573 },
+ { url = "https://files.pythonhosted.org/packages/46/6d/4caab3a36199ba52b98d519feccfcf48921d7a6649daf14a93c7e77497e9/uvloop-0.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82edbfd3df39fb3d108fc079ebc461330f7c2e33dbd002d146bf7c445ba6e756", size = 3489932 },
+ { url = "https://files.pythonhosted.org/packages/e4/4f/49c51595bd794945c88613df88922c38076eae2d7653f4624aa6f4980b07/uvloop-0.20.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:80dc1b139516be2077b3e57ce1cb65bfed09149e1d175e0478e7a987863b68f0", size = 4185596 },
+ { url = "https://files.pythonhosted.org/packages/b8/94/7e256731260d313f5049717d1c4582d52a3b132424c95e16954a50ab95d3/uvloop-0.20.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4f44af67bf39af25db4c1ac27e82e9665717f9c26af2369c404be865c8818dcf", size = 4185746 },
+ { url = "https://files.pythonhosted.org/packages/2d/64/31cbd379d6e260ac8de3f672f904e924f09715c3f192b09f26cc8e9f574c/uvloop-0.20.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:4b75f2950ddb6feed85336412b9a0c310a2edbcf4cf931aa5cfe29034829676d", size = 1324302 },
+ { url = "https://files.pythonhosted.org/packages/1e/6b/9207e7177ff30f78299401f2e1163ea41130d4fd29bcdc6d12572c06b728/uvloop-0.20.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:77fbc69c287596880ecec2d4c7a62346bef08b6209749bf6ce8c22bbaca0239e", size = 738105 },
+ { url = "https://files.pythonhosted.org/packages/c1/ba/b64b10f577519d875992dc07e2365899a1a4c0d28327059ce1e1bdfb6854/uvloop-0.20.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6462c95f48e2d8d4c993a2950cd3d31ab061864d1c226bbf0ee2f1a8f36674b9", size = 4090658 },
+ { url = "https://files.pythonhosted.org/packages/0a/f8/5ceea6876154d926604f10c1dd896adf9bce6d55a55911364337b8a5ed8d/uvloop-0.20.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:649c33034979273fa71aa25d0fe120ad1777c551d8c4cd2c0c9851d88fcb13ab", size = 4173357 },
+ { url = "https://files.pythonhosted.org/packages/18/b2/117ab6bfb18274753fbc319607bf06e216bd7eea8be81d5bac22c912d6a7/uvloop-0.20.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3a609780e942d43a275a617c0839d85f95c334bad29c4c0918252085113285b5", size = 4029868 },
+ { url = "https://files.pythonhosted.org/packages/6f/52/deb4be09060637ef4752adaa0b75bf770c20c823e8108705792f99cd4a6f/uvloop-0.20.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:aea15c78e0d9ad6555ed201344ae36db5c63d428818b4b2a42842b3870127c00", size = 4115980 },
+]
+
+[[package]]
+name = "watchfiles"
+version = "0.24.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "anyio" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/c8/27/2ba23c8cc85796e2d41976439b08d52f691655fdb9401362099502d1f0cf/watchfiles-0.24.0.tar.gz", hash = "sha256:afb72325b74fa7a428c009c1b8be4b4d7c2afedafb2982827ef2156646df2fe1", size = 37870 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/89/a1/631c12626378b9f1538664aa221feb5c60dfafbd7f60b451f8d0bdbcdedd/watchfiles-0.24.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:083dc77dbdeef09fa44bb0f4d1df571d2e12d8a8f985dccde71ac3ac9ac067a0", size = 375096 },
+ { url = "https://files.pythonhosted.org/packages/f7/5c/f27c979c8a10aaa2822286c1bffdce3db731cd1aa4224b9f86623e94bbfe/watchfiles-0.24.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e94e98c7cb94cfa6e071d401ea3342767f28eb5a06a58fafdc0d2a4974f4f35c", size = 367425 },
+ { url = "https://files.pythonhosted.org/packages/74/0d/1889e5649885484d29f6c792ef274454d0a26b20d6ed5fdba5409335ccb6/watchfiles-0.24.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82ae557a8c037c42a6ef26c494d0631cacca040934b101d001100ed93d43f361", size = 437705 },
+ { url = "https://files.pythonhosted.org/packages/85/8a/01d9a22e839f0d1d547af11b1fcac6ba6f889513f1b2e6f221d9d60d9585/watchfiles-0.24.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:acbfa31e315a8f14fe33e3542cbcafc55703b8f5dcbb7c1eecd30f141df50db3", size = 433636 },
+ { url = "https://files.pythonhosted.org/packages/62/32/a93db78d340c7ef86cde469deb20e36c6b2a873edee81f610e94bbba4e06/watchfiles-0.24.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b74fdffce9dfcf2dc296dec8743e5b0332d15df19ae464f0e249aa871fc1c571", size = 451069 },
+ { url = "https://files.pythonhosted.org/packages/99/c2/e9e2754fae3c2721c9a7736f92dab73723f1968ed72535fff29e70776008/watchfiles-0.24.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:449f43f49c8ddca87c6b3980c9284cab6bd1f5c9d9a2b00012adaaccd5e7decd", size = 469306 },
+ { url = "https://files.pythonhosted.org/packages/4c/45/f317d9e3affb06c3c27c478de99f7110143e87f0f001f0f72e18d0e1ddce/watchfiles-0.24.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4abf4ad269856618f82dee296ac66b0cd1d71450fc3c98532d93798e73399b7a", size = 476187 },
+ { url = "https://files.pythonhosted.org/packages/ac/d3/f1f37248abe0114916921e638f71c7d21fe77e3f2f61750e8057d0b68ef2/watchfiles-0.24.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f895d785eb6164678ff4bb5cc60c5996b3ee6df3edb28dcdeba86a13ea0465e", size = 425743 },
+ { url = "https://files.pythonhosted.org/packages/2b/e8/c7037ea38d838fd81a59cd25761f106ee3ef2cfd3261787bee0c68908171/watchfiles-0.24.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:7ae3e208b31be8ce7f4c2c0034f33406dd24fbce3467f77223d10cd86778471c", size = 612327 },
+ { url = "https://files.pythonhosted.org/packages/a0/c5/0e6e228aafe01a7995fbfd2a4edb221bb11a2744803b65a5663fb85e5063/watchfiles-0.24.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:2efec17819b0046dde35d13fb8ac7a3ad877af41ae4640f4109d9154ed30a188", size = 595096 },
+ { url = "https://files.pythonhosted.org/packages/63/d5/4780e8bf3de3b4b46e7428a29654f7dc041cad6b19fd86d083e4b6f64bbe/watchfiles-0.24.0-cp310-none-win32.whl", hash = "sha256:6bdcfa3cd6fdbdd1a068a52820f46a815401cbc2cb187dd006cb076675e7b735", size = 264149 },
+ { url = "https://files.pythonhosted.org/packages/fe/1b/5148898ba55fc9c111a2a4a5fb67ad3fa7eb2b3d7f0618241ed88749313d/watchfiles-0.24.0-cp310-none-win_amd64.whl", hash = "sha256:54ca90a9ae6597ae6dc00e7ed0a040ef723f84ec517d3e7ce13e63e4bc82fa04", size = 277542 },
+ { url = "https://files.pythonhosted.org/packages/85/02/366ae902cd81ca5befcd1854b5c7477b378f68861597cef854bd6dc69fbe/watchfiles-0.24.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:bdcd5538e27f188dd3c804b4a8d5f52a7fc7f87e7fd6b374b8e36a4ca03db428", size = 375579 },
+ { url = "https://files.pythonhosted.org/packages/bc/67/d8c9d256791fe312fea118a8a051411337c948101a24586e2df237507976/watchfiles-0.24.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2dadf8a8014fde6addfd3c379e6ed1a981c8f0a48292d662e27cabfe4239c83c", size = 367726 },
+ { url = "https://files.pythonhosted.org/packages/b1/dc/a8427b21ef46386adf824a9fec4be9d16a475b850616cfd98cf09a97a2ef/watchfiles-0.24.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6509ed3f467b79d95fc62a98229f79b1a60d1b93f101e1c61d10c95a46a84f43", size = 437735 },
+ { url = "https://files.pythonhosted.org/packages/3a/21/0b20bef581a9fbfef290a822c8be645432ceb05fb0741bf3c032e0d90d9a/watchfiles-0.24.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8360f7314a070c30e4c976b183d1d8d1585a4a50c5cb603f431cebcbb4f66327", size = 433644 },
+ { url = "https://files.pythonhosted.org/packages/1c/e8/d5e5f71cc443c85a72e70b24269a30e529227986096abe091040d6358ea9/watchfiles-0.24.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:316449aefacf40147a9efaf3bd7c9bdd35aaba9ac5d708bd1eb5763c9a02bef5", size = 450928 },
+ { url = "https://files.pythonhosted.org/packages/61/ee/bf17f5a370c2fcff49e1fec987a6a43fd798d8427ea754ce45b38f9e117a/watchfiles-0.24.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:73bde715f940bea845a95247ea3e5eb17769ba1010efdc938ffcb967c634fa61", size = 469072 },
+ { url = "https://files.pythonhosted.org/packages/a3/34/03b66d425986de3fc6077e74a74c78da298f8cb598887f664a4485e55543/watchfiles-0.24.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3770e260b18e7f4e576edca4c0a639f704088602e0bc921c5c2e721e3acb8d15", size = 475517 },
+ { url = "https://files.pythonhosted.org/packages/70/eb/82f089c4f44b3171ad87a1b433abb4696f18eb67292909630d886e073abe/watchfiles-0.24.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa0fd7248cf533c259e59dc593a60973a73e881162b1a2f73360547132742823", size = 425480 },
+ { url = "https://files.pythonhosted.org/packages/53/20/20509c8f5291e14e8a13104b1808cd7cf5c44acd5feaecb427a49d387774/watchfiles-0.24.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d7a2e3b7f5703ffbd500dabdefcbc9eafeff4b9444bbdd5d83d79eedf8428fab", size = 612322 },
+ { url = "https://files.pythonhosted.org/packages/df/2b/5f65014a8cecc0a120f5587722068a975a692cadbe9fe4ea56b3d8e43f14/watchfiles-0.24.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d831ee0a50946d24a53821819b2327d5751b0c938b12c0653ea5be7dea9c82ec", size = 595094 },
+ { url = "https://files.pythonhosted.org/packages/18/98/006d8043a82c0a09d282d669c88e587b3a05cabdd7f4900e402250a249ac/watchfiles-0.24.0-cp311-none-win32.whl", hash = "sha256:49d617df841a63b4445790a254013aea2120357ccacbed00253f9c2b5dc24e2d", size = 264191 },
+ { url = "https://files.pythonhosted.org/packages/8a/8b/badd9247d6ec25f5f634a9b3d0d92e39c045824ec7e8afcedca8ee52c1e2/watchfiles-0.24.0-cp311-none-win_amd64.whl", hash = "sha256:d3dcb774e3568477275cc76554b5a565024b8ba3a0322f77c246bc7111c5bb9c", size = 277527 },
+ { url = "https://files.pythonhosted.org/packages/af/19/35c957c84ee69d904299a38bae3614f7cede45f07f174f6d5a2f4dbd6033/watchfiles-0.24.0-cp311-none-win_arm64.whl", hash = "sha256:9301c689051a4857d5b10777da23fafb8e8e921bcf3abe6448a058d27fb67633", size = 266253 },
+ { url = "https://files.pythonhosted.org/packages/35/82/92a7bb6dc82d183e304a5f84ae5437b59ee72d48cee805a9adda2488b237/watchfiles-0.24.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:7211b463695d1e995ca3feb38b69227e46dbd03947172585ecb0588f19b0d87a", size = 374137 },
+ { url = "https://files.pythonhosted.org/packages/87/91/49e9a497ddaf4da5e3802d51ed67ff33024597c28f652b8ab1e7c0f5718b/watchfiles-0.24.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4b8693502d1967b00f2fb82fc1e744df128ba22f530e15b763c8d82baee15370", size = 367733 },
+ { url = "https://files.pythonhosted.org/packages/0d/d8/90eb950ab4998effea2df4cf3a705dc594f6bc501c5a353073aa990be965/watchfiles-0.24.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cdab9555053399318b953a1fe1f586e945bc8d635ce9d05e617fd9fe3a4687d6", size = 437322 },
+ { url = "https://files.pythonhosted.org/packages/6c/a2/300b22e7bc2a222dd91fce121cefa7b49aa0d26a627b2777e7bdfcf1110b/watchfiles-0.24.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:34e19e56d68b0dad5cff62273107cf5d9fbaf9d75c46277aa5d803b3ef8a9e9b", size = 433409 },
+ { url = "https://files.pythonhosted.org/packages/99/44/27d7708a43538ed6c26708bcccdde757da8b7efb93f4871d4cc39cffa1cc/watchfiles-0.24.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:41face41f036fee09eba33a5b53a73e9a43d5cb2c53dad8e61fa6c9f91b5a51e", size = 452142 },
+ { url = "https://files.pythonhosted.org/packages/b0/ec/c4e04f755be003129a2c5f3520d2c47026f00da5ecb9ef1e4f9449637571/watchfiles-0.24.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5148c2f1ea043db13ce9b0c28456e18ecc8f14f41325aa624314095b6aa2e9ea", size = 469414 },
+ { url = "https://files.pythonhosted.org/packages/c5/4e/cdd7de3e7ac6432b0abf282ec4c1a1a2ec62dfe423cf269b86861667752d/watchfiles-0.24.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7e4bd963a935aaf40b625c2499f3f4f6bbd0c3776f6d3bc7c853d04824ff1c9f", size = 472962 },
+ { url = "https://files.pythonhosted.org/packages/27/69/e1da9d34da7fc59db358424f5d89a56aaafe09f6961b64e36457a80a7194/watchfiles-0.24.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c79d7719d027b7a42817c5d96461a99b6a49979c143839fc37aa5748c322f234", size = 425705 },
+ { url = "https://files.pythonhosted.org/packages/e8/c1/24d0f7357be89be4a43e0a656259676ea3d7a074901f47022f32e2957798/watchfiles-0.24.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:32aa53a9a63b7f01ed32e316e354e81e9da0e6267435c7243bf8ae0f10b428ef", size = 612851 },
+ { url = "https://files.pythonhosted.org/packages/c7/af/175ba9b268dec56f821639c9893b506c69fd999fe6a2e2c51de420eb2f01/watchfiles-0.24.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ce72dba6a20e39a0c628258b5c308779b8697f7676c254a845715e2a1039b968", size = 594868 },
+ { url = "https://files.pythonhosted.org/packages/44/81/1f701323a9f70805bc81c74c990137123344a80ea23ab9504a99492907f8/watchfiles-0.24.0-cp312-none-win32.whl", hash = "sha256:d9018153cf57fc302a2a34cb7564870b859ed9a732d16b41a9b5cb2ebed2d444", size = 264109 },
+ { url = "https://files.pythonhosted.org/packages/b4/0b/32cde5bc2ebd9f351be326837c61bdeb05ad652b793f25c91cac0b48a60b/watchfiles-0.24.0-cp312-none-win_amd64.whl", hash = "sha256:551ec3ee2a3ac9cbcf48a4ec76e42c2ef938a7e905a35b42a1267fa4b1645896", size = 277055 },
+ { url = "https://files.pythonhosted.org/packages/4b/81/daade76ce33d21dbec7a15afd7479de8db786e5f7b7d249263b4ea174e08/watchfiles-0.24.0-cp312-none-win_arm64.whl", hash = "sha256:b52a65e4ea43c6d149c5f8ddb0bef8d4a1e779b77591a458a893eb416624a418", size = 266169 },
+ { url = "https://files.pythonhosted.org/packages/30/dc/6e9f5447ae14f645532468a84323a942996d74d5e817837a5c8ce9d16c69/watchfiles-0.24.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:3d2e3ab79a1771c530233cadfd277fcc762656d50836c77abb2e5e72b88e3a48", size = 373764 },
+ { url = "https://files.pythonhosted.org/packages/79/c0/c3a9929c372816c7fc87d8149bd722608ea58dc0986d3ef7564c79ad7112/watchfiles-0.24.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:327763da824817b38ad125dcd97595f942d720d32d879f6c4ddf843e3da3fe90", size = 367873 },
+ { url = "https://files.pythonhosted.org/packages/2e/11/ff9a4445a7cfc1c98caf99042df38964af12eed47d496dd5d0d90417349f/watchfiles-0.24.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd82010f8ab451dabe36054a1622870166a67cf3fce894f68895db6f74bbdc94", size = 438381 },
+ { url = "https://files.pythonhosted.org/packages/48/a3/763ba18c98211d7bb6c0f417b2d7946d346cdc359d585cc28a17b48e964b/watchfiles-0.24.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d64ba08db72e5dfd5c33be1e1e687d5e4fcce09219e8aee893a4862034081d4e", size = 432809 },
+ { url = "https://files.pythonhosted.org/packages/30/4c/616c111b9d40eea2547489abaf4ffc84511e86888a166d3a4522c2ba44b5/watchfiles-0.24.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1cf1f6dd7825053f3d98f6d33f6464ebdd9ee95acd74ba2c34e183086900a827", size = 451801 },
+ { url = "https://files.pythonhosted.org/packages/b6/be/d7da83307863a422abbfeb12903a76e43200c90ebe5d6afd6a59d158edea/watchfiles-0.24.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:43e3e37c15a8b6fe00c1bce2473cfa8eb3484bbeecf3aefbf259227e487a03df", size = 468886 },
+ { url = "https://files.pythonhosted.org/packages/1d/d3/3dfe131ee59d5e90b932cf56aba5c996309d94dafe3d02d204364c23461c/watchfiles-0.24.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:88bcd4d0fe1d8ff43675360a72def210ebad3f3f72cabfeac08d825d2639b4ab", size = 472973 },
+ { url = "https://files.pythonhosted.org/packages/42/6c/279288cc5653a289290d183b60a6d80e05f439d5bfdfaf2d113738d0f932/watchfiles-0.24.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:999928c6434372fde16c8f27143d3e97201160b48a614071261701615a2a156f", size = 425282 },
+ { url = "https://files.pythonhosted.org/packages/d6/d7/58afe5e85217e845edf26d8780c2d2d2ae77675eeb8d1b8b8121d799ce52/watchfiles-0.24.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:30bbd525c3262fd9f4b1865cb8d88e21161366561cd7c9e1194819e0a33ea86b", size = 612540 },
+ { url = "https://files.pythonhosted.org/packages/6d/d5/b96eeb9fe3fda137200dd2f31553670cbc731b1e13164fd69b49870b76ec/watchfiles-0.24.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:edf71b01dec9f766fb285b73930f95f730bb0943500ba0566ae234b5c1618c18", size = 593625 },
+ { url = "https://files.pythonhosted.org/packages/c1/e5/c326fe52ee0054107267608d8cea275e80be4455b6079491dfd9da29f46f/watchfiles-0.24.0-cp313-none-win32.whl", hash = "sha256:f4c96283fca3ee09fb044f02156d9570d156698bc3734252175a38f0e8975f07", size = 263899 },
+ { url = "https://files.pythonhosted.org/packages/a6/8b/8a7755c5e7221bb35fe4af2dc44db9174f90ebf0344fd5e9b1e8b42d381e/watchfiles-0.24.0-cp313-none-win_amd64.whl", hash = "sha256:a974231b4fdd1bb7f62064a0565a6b107d27d21d9acb50c484d2cdba515b9366", size = 276622 },
+ { url = "https://files.pythonhosted.org/packages/df/94/1ad200e937ec91b2a9d6b39ae1cf9c2b1a9cc88d5ceb43aa5c6962eb3c11/watchfiles-0.24.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:632676574429bee8c26be8af52af20e0c718cc7f5f67f3fb658c71928ccd4f7f", size = 376986 },
+ { url = "https://files.pythonhosted.org/packages/ee/fd/d9e020d687ccf90fe95efc513fbb39a8049cf5a3ff51f53c59fcf4c47a5d/watchfiles-0.24.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:a2a9891723a735d3e2540651184be6fd5b96880c08ffe1a98bae5017e65b544b", size = 369445 },
+ { url = "https://files.pythonhosted.org/packages/43/cb/c0279b35053555d10ef03559c5aebfcb0c703d9c70a7b4e532df74b9b0e8/watchfiles-0.24.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a7fa2bc0efef3e209a8199fd111b8969fe9db9c711acc46636686331eda7dd4", size = 439383 },
+ { url = "https://files.pythonhosted.org/packages/8b/c4/08b3c2cda45db5169148a981c2100c744a4a222fa7ae7644937c0c002069/watchfiles-0.24.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01550ccf1d0aed6ea375ef259706af76ad009ef5b0203a3a4cce0f6024f9b68a", size = 426804 },
+]
+
+[[package]]
+name = "xlsxwriter"
+version = "3.2.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/a6/c3/b36fa44a0610a0f65d2e65ba6a262cbe2554b819f1449731971f7c16ea3c/XlsxWriter-3.2.0.tar.gz", hash = "sha256:9977d0c661a72866a61f9f7a809e25ebbb0fb7036baa3b9fe74afcfca6b3cb8c", size = 198732 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a7/ea/53d1fe468e63e092cf16e2c18d16f50c29851242f9dd12d6a66e0d7f0d02/XlsxWriter-3.2.0-py3-none-any.whl", hash = "sha256:ecfd5405b3e0e228219bcaf24c2ca0915e012ca9464a14048021d21a995d490e", size = 159925 },
+]
+
+[[package]]
+name = "xmlschema"
+version = "3.4.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "elementpath" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/83/78/b9a61cd16c11cac6dbdd4ccc0f27a95a3b17ff0b69a8f078f984472622a5/xmlschema-3.4.1.tar.gz", hash = "sha256:4f69eca6f2c446b06c74acd958e7d6613487c253d959a3b75078dfcc880b80ff", size = 581709 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/58/b6/c7004b6d4bf60a0fea2d0b822b7115ba1c38539f3175beffc188bac314e4/xmlschema-3.4.1-py3-none-any.whl", hash = "sha256:7113a9dca6c48625c4ea819486bce9567f41cff1b6d064f7c32da2e03d443deb", size = 417012 },
+]