Skip to content

Conversation

@TimidRobot
Copy link
Member

@TimidRobot TimidRobot commented Jan 12, 2026

Fixes

Description

Update Python modules and remove unused/unneeded

Technical details

Commands:

git checkout main
pipenv sync --dev
pipenv graph > graph.old
git checkout -b update-cleanup-python-modules
pipenv sync --dev
pipenv graph > graph.old
diff -u graph.old graph.new

Output:

Diff output (click to expand)
--- graph.old	2026-01-12 07:32:34
+++ graph.new	2026-01-12 07:19:56
@@ -1,66 +1,43 @@
-black==25.9.0
-├── click [required: >=8.0.0, installed: 8.3.0]
+black==25.12.0
+├── click [required: >=8.0.0, installed: 8.3.1]
 ├── mypy_extensions [required: >=0.4.3, installed: 1.1.0]
 ├── packaging [required: >=22.0, installed: 25.0]
-├── pathspec [required: >=0.9.0, installed: 0.12.1]
-├── platformdirs [required: >=2, installed: 4.5.0]
-└── pytokens [required: >=0.1.10, installed: 0.2.0]
+├── pathspec [required: >=0.9.0, installed: 1.0.3]
+├── platformdirs [required: >=2, installed: 4.5.1]
+└── pytokens [required: >=0.3.0, installed: 0.3.0]
+cachetools==6.2.4
 feedparser==6.0.12
 └── sgmllib3k [required: Any, installed: 1.0.0]
 flake8==7.3.0
 ├── mccabe [required: >=0.7.0,<0.8.0, installed: 0.7.0]
 ├── pycodestyle [required: >=2.14.0,<2.15.0, installed: 2.14.0]
 └── pyflakes [required: >=3.4.0,<3.5.0, installed: 3.4.0]
-flickrapi==2.4.0
-├── six [required: >=1.5.2, installed: 1.17.0]
-├── requests [required: >=2.2.1, installed: 2.32.5]
-│   ├── charset-normalizer [required: >=2,<4, installed: 3.4.4]
-│   ├── idna [required: >=2.5,<4, installed: 3.11]
-│   ├── urllib3 [required: >=1.21.1,<3, installed: 2.5.0]
-│   └── certifi [required: >=2017.4.17, installed: 2025.10.5]
-├── requests-oauthlib [required: >=0.4.0, installed: 2.0.0]
-│   ├── oauthlib [required: >=3.0.0, installed: 3.3.1]
-│   └── requests [required: >=2.0.0, installed: 2.32.5]
-│       ├── charset-normalizer [required: >=2,<4, installed: 3.4.4]
-│       ├── idna [required: >=2.5,<4, installed: 3.11]
-│       ├── urllib3 [required: >=1.21.1,<3, installed: 2.5.0]
-│       └── certifi [required: >=2017.4.17, installed: 2025.10.5]
-└── requests-toolbelt [required: >=0.3.1, installed: 1.0.0]
-    └── requests [required: >=2.0.1,<3.0.0, installed: 2.32.5]
-        ├── charset-normalizer [required: >=2,<4, installed: 3.4.4]
-        ├── idna [required: >=2.5,<4, installed: 3.11]
-        ├── urllib3 [required: >=1.21.1,<3, installed: 2.5.0]
-        └── certifi [required: >=2017.4.17, installed: 2025.10.5]
-fqdn==1.5.1
-GitPython==3.1.45
+GitPython==3.1.46
 └── gitdb [required: >=4.0.1,<5, installed: 4.0.12]
     └── smmap [required: >=3.0.1,<6, installed: 5.0.2]
-google-api-python-client==2.185.0
+google-api-python-client==2.187.0
 ├── httplib2 [required: >=0.19.0,<1.0.0, installed: 0.31.0]
-│   └── pyparsing [required: >=3.0.4,<4, installed: 3.2.5]
-├── google-auth [required: >=1.32.0,<3.0.0,!=2.25.0,!=2.24.0, installed: 2.41.1]
-│   ├── cachetools [required: >=2.0.0,<7.0, installed: 6.2.1]
+│   └── pyparsing [required: >=3.0.4,<4, installed: 3.3.1]
+├── google-auth [required: >=1.32.0,<3.0.0,!=2.25.0,!=2.24.0, installed: 2.47.0]
 │   ├── pyasn1_modules [required: >=0.2.1, installed: 0.4.2]
 │   │   └── pyasn1 [required: >=0.6.1,<0.7.0, installed: 0.6.1]
 │   └── rsa [required: >=3.1.4,<5, installed: 4.9.1]
 │       └── pyasn1 [required: >=0.1.3, installed: 0.6.1]
-├── google-auth-httplib2 [required: >=0.2.0,<1.0.0, installed: 0.2.0]
-│   ├── google-auth [required: Any, installed: 2.41.1]
-│   │   ├── cachetools [required: >=2.0.0,<7.0, installed: 6.2.1]
+├── google-auth-httplib2 [required: >=0.2.0,<1.0.0, installed: 0.3.0]
+│   ├── google-auth [required: >=1.32.0,<3.0.0, installed: 2.47.0]
 │   │   ├── pyasn1_modules [required: >=0.2.1, installed: 0.4.2]
 │   │   │   └── pyasn1 [required: >=0.6.1,<0.7.0, installed: 0.6.1]
 │   │   └── rsa [required: >=3.1.4,<5, installed: 4.9.1]
 │   │       └── pyasn1 [required: >=0.1.3, installed: 0.6.1]
-│   └── httplib2 [required: >=0.19.0, installed: 0.31.0]
-│       └── pyparsing [required: >=3.0.4,<4, installed: 3.2.5]
-├── google-api-core [required: >=1.31.5,<3.0.0,!=2.3.0,!=2.2.*,!=2.1.*,!=2.0.*, installed: 2.27.0]
-│   ├── googleapis-common-protos [required: >=1.56.2,<2.0.0, installed: 1.71.0]
-│   │   └── protobuf [required: >=3.20.2,<7.0.0,!=4.21.5,!=4.21.4,!=4.21.3,!=4.21.2,!=4.21.1, installed: 6.33.0]
-│   ├── protobuf [required: >=3.19.5,<7.0.0,!=4.21.5,!=4.21.4,!=4.21.3,!=4.21.2,!=4.21.1,!=4.21.0,!=3.20.1,!=3.20.0, installed: 6.33.0]
-│   ├── proto-plus [required: >=1.22.3,<2.0.0, installed: 1.26.1]
-│   │   └── protobuf [required: >=3.19.0,<7.0.0, installed: 6.33.0]
-│   ├── google-auth [required: >=2.14.1,<3.0.0, installed: 2.41.1]
-│   │   ├── cachetools [required: >=2.0.0,<7.0, installed: 6.2.1]
+│   └── httplib2 [required: >=0.19.0,<1.0.0, installed: 0.31.0]
+│       └── pyparsing [required: >=3.0.4,<4, installed: 3.3.1]
+├── google-api-core [required: >=1.31.5,<3.0.0,!=2.3.0,!=2.2.*,!=2.1.*,!=2.0.*, installed: 2.29.0]
+│   ├── googleapis-common-protos [required: >=1.56.2,<2.0.0, installed: 1.72.0]
+│   │   └── protobuf [required: >=3.20.2,<7.0.0,!=4.21.5,!=4.21.4,!=4.21.3,!=4.21.2,!=4.21.1, installed: 6.33.3]
+│   ├── protobuf [required: >=3.19.5,<7.0.0,!=4.21.5,!=4.21.4,!=4.21.3,!=4.21.2,!=4.21.1,!=4.21.0,!=3.20.1,!=3.20.0, installed: 6.33.3]
+│   ├── proto-plus [required: >=1.22.3,<2.0.0, installed: 1.27.0]
+│   │   └── protobuf [required: >=3.19.0,<7.0.0, installed: 6.33.3]
+│   ├── google-auth [required: >=2.14.1,<3.0.0, installed: 2.47.0]
 │   │   ├── pyasn1_modules [required: >=0.2.1, installed: 0.4.2]
 │   │   │   └── pyasn1 [required: >=0.6.1,<0.7.0, installed: 0.6.1]
 │   │   └── rsa [required: >=3.1.4,<5, installed: 4.9.1]
@@ -68,763 +45,35 @@
 │   └── requests [required: >=2.18.0,<3.0.0, installed: 2.32.5]
 │       ├── charset-normalizer [required: >=2,<4, installed: 3.4.4]
 │       ├── idna [required: >=2.5,<4, installed: 3.11]
-│       ├── urllib3 [required: >=1.21.1,<3, installed: 2.5.0]
-│       └── certifi [required: >=2017.4.17, installed: 2025.10.5]
+│       ├── urllib3 [required: >=1.21.1,<3, installed: 2.6.3]
+│       └── certifi [required: >=2017.4.17, installed: 2026.1.4]
 └── uritemplate [required: >=3.0.1,<5, installed: 4.2.0]
-internetarchive==5.7.0
-├── jsonpatch [required: >=0.4, installed: 1.33]
-│   └── jsonpointer [required: >=1.9, installed: 3.0.0]
-├── requests [required: >=2.25.0,<3.0.0, installed: 2.32.5]
-│   ├── charset-normalizer [required: >=2,<4, installed: 3.4.4]
-│   ├── idna [required: >=2.5,<4, installed: 3.11]
-│   ├── urllib3 [required: >=1.21.1,<3, installed: 2.5.0]
-│   └── certifi [required: >=2017.4.17, installed: 2025.10.5]
-├── tqdm [required: >=4.0.0, installed: 4.67.1]
-└── urllib3 [required: >=1.26.0, installed: 2.5.0]
-isoduration==20.11.0
-└── arrow [required: >=0.15.0, installed: 1.4.0]
-    ├── python-dateutil [required: >=2.7.0, installed: 2.9.0.post0]
-    │   └── six [required: >=1.5, installed: 1.17.0]
-    └── tzdata [required: Any, installed: 2025.2]
 isort==7.0.0
-jupyterlab==4.4.10
-├── async-lru [required: >=1.0.0, installed: 2.0.5]
-├── httpx [required: >=0.25.0,<1, installed: 0.28.1]
-│   ├── anyio [required: Any, installed: 4.11.0]
-│   │   ├── idna [required: >=2.8, installed: 3.11]
-│   │   ├── sniffio [required: >=1.1, installed: 1.3.1]
-│   │   └── typing_extensions [required: >=4.5, installed: 4.15.0]
-│   ├── certifi [required: Any, installed: 2025.10.5]
-│   ├── httpcore [required: ==1.*, installed: 1.0.9]
-│   │   ├── certifi [required: Any, installed: 2025.10.5]
-│   │   └── h11 [required: >=0.16, installed: 0.16.0]
-│   └── idna [required: Any, installed: 3.11]
-├── ipykernel [required: >=6.5.0,!=6.30.0, installed: 7.0.1]
-│   ├── appnope [required: >=0.1.2, installed: ?]
-│   ├── comm [required: >=0.1.1, installed: 0.2.3]
-│   ├── debugpy [required: >=1.6.5, installed: 1.8.17]
-│   ├── ipython [required: >=7.23.1, installed: 9.6.0]
-│   │   ├── decorator [required: Any, installed: 5.2.1]
-│   │   ├── ipython_pygments_lexers [required: Any, installed: 1.1.1]
-│   │   │   └── Pygments [required: Any, installed: 2.19.2]
-│   │   ├── jedi [required: >=0.16, installed: 0.19.2]
-│   │   │   └── parso [required: >=0.8.4,<0.9.0, installed: 0.8.5]
-│   │   ├── matplotlib-inline [required: Any, installed: 0.2.1]
-│   │   │   └── traitlets [required: Any, installed: 5.14.3]
-│   │   ├── pexpect [required: >4.3, installed: 4.9.0]
-│   │   │   └── ptyprocess [required: >=0.5, installed: 0.7.0]
-│   │   ├── prompt_toolkit [required: >=3.0.41,<3.1.0, installed: 3.0.52]
-│   │   │   └── wcwidth [required: Any, installed: 0.2.14]
-│   │   ├── Pygments [required: >=2.4.0, installed: 2.19.2]
-│   │   ├── stack-data [required: Any, installed: 0.6.3]
-│   │   │   ├── executing [required: >=1.2.0, installed: 2.2.1]
-│   │   │   ├── asttokens [required: >=2.1.0, installed: 3.0.0]
-│   │   │   └── pure_eval [required: Any, installed: 0.2.3]
-│   │   ├── traitlets [required: >=5.13.0, installed: 5.14.3]
-│   │   └── typing_extensions [required: >=4.6, installed: 4.15.0]
-│   ├── jupyter_client [required: >=8.0.0, installed: 8.6.3]
-│   │   ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.9.1]
-│   │   │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│   │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│   │   ├── python-dateutil [required: >=2.8.2, installed: 2.9.0.post0]
-│   │   │   └── six [required: >=1.5, installed: 1.17.0]
-│   │   ├── pyzmq [required: >=23.0, installed: 27.1.0]
-│   │   ├── tornado [required: >=6.2, installed: 6.5.2]
-│   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│   ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.9.1]
-│   │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│   ├── matplotlib-inline [required: >=0.1, installed: 0.2.1]
-│   │   └── traitlets [required: Any, installed: 5.14.3]
-│   ├── nest-asyncio [required: >=1.4, installed: 1.6.0]
-│   ├── packaging [required: >=22, installed: 25.0]
-│   ├── psutil [required: >=5.7, installed: 7.1.1]
-│   ├── pyzmq [required: >=25, installed: 27.1.0]
-│   ├── tornado [required: >=6.2, installed: 6.5.2]
-│   └── traitlets [required: >=5.4.0, installed: 5.14.3]
-├── Jinja2 [required: >=3.0.3, installed: 3.1.6]
-│   └── MarkupSafe [required: >=2.0, installed: 3.0.3]
-├── jupyter_core [required: Any, installed: 5.9.1]
-│   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│   └── traitlets [required: >=5.3, installed: 5.14.3]
-├── jupyter-lsp [required: >=2.0.0, installed: 2.3.0]
-│   └── jupyter_server [required: >=1.1.2, installed: 2.17.0]
-│       ├── anyio [required: >=3.1.0, installed: 4.11.0]
-│       │   ├── idna [required: >=2.8, installed: 3.11]
-│       │   ├── sniffio [required: >=1.1, installed: 1.3.1]
-│       │   └── typing_extensions [required: >=4.5, installed: 4.15.0]
-│       ├── argon2-cffi [required: >=21.1, installed: 25.1.0]
-│       │   └── argon2-cffi-bindings [required: Any, installed: 25.1.0]
-│       │       └── cffi [required: >=1.0.1, installed: 2.0.0]
-│       │           └── pycparser [required: Any, installed: 2.23]
-│       ├── Jinja2 [required: >=3.0.3, installed: 3.1.6]
-│       │   └── MarkupSafe [required: >=2.0, installed: 3.0.3]
-│       ├── jupyter_client [required: >=7.4.4, installed: 8.6.3]
-│       │   ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.9.1]
-│       │   │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│       │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│       │   ├── python-dateutil [required: >=2.8.2, installed: 2.9.0.post0]
-│       │   │   └── six [required: >=1.5, installed: 1.17.0]
-│       │   ├── pyzmq [required: >=23.0, installed: 27.1.0]
-│       │   ├── tornado [required: >=6.2, installed: 6.5.2]
-│       │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│       ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.9.1]
-│       │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│       │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│       ├── jupyter-events [required: >=0.11.0, installed: 0.12.0]
-│       │   ├── jsonschema [required: >=4.18.0, installed: 4.25.1]
-│       │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│       │   │   ├── jsonschema-specifications [required: >=2023.03.6, installed: 2025.9.1]
-│       │   │   │   └── referencing [required: >=0.31.0, installed: 0.37.0]
-│       │   │   │       ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│       │   │   │       ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│       │   │   │       └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│       │   │   ├── referencing [required: >=0.28.4, installed: 0.37.0]
-│       │   │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│       │   │   │   ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│       │   │   │   └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│       │   │   └── rpds-py [required: >=0.7.1, installed: 0.28.0]
-│       │   ├── packaging [required: Any, installed: 25.0]
-│       │   ├── python-json-logger [required: >=2.0.4, installed: 4.0.0]
-│       │   ├── PyYAML [required: >=5.3, installed: 6.0.3]
-│       │   ├── referencing [required: Any, installed: 0.37.0]
-│       │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│       │   │   ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│       │   │   └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│       │   ├── rfc3339-validator [required: Any, installed: 0.1.4]
-│       │   │   └── six [required: Any, installed: 1.17.0]
-│       │   ├── rfc3986-validator [required: >=0.1.1, installed: 0.1.1]
-│       │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│       ├── jupyter_server_terminals [required: >=0.4.4, installed: 0.5.3]
-│       │   └── terminado [required: >=0.8.3, installed: 0.18.1]
-│       │       ├── ptyprocess [required: Any, installed: 0.7.0]
-│       │       └── tornado [required: >=6.1.0, installed: 6.5.2]
-│       ├── nbconvert [required: >=6.4.4, installed: 7.16.6]
-│       │   ├── beautifulsoup4 [required: Any, installed: 4.14.2]
-│       │   │   ├── soupsieve [required: >1.2, installed: 2.8]
-│       │   │   └── typing_extensions [required: >=4.0.0, installed: 4.15.0]
-│       │   ├── bleach [required: !=5.0.0, installed: 6.2.0]
-│       │   │   └── webencodings [required: Any, installed: 0.5.1]
-│       │   ├── defusedxml [required: Any, installed: 0.7.1]
-│       │   ├── Jinja2 [required: >=3.0, installed: 3.1.6]
-│       │   │   └── MarkupSafe [required: >=2.0, installed: 3.0.3]
-│       │   ├── jupyter_core [required: >=4.7, installed: 5.9.1]
-│       │   │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│       │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│       │   ├── jupyterlab_pygments [required: Any, installed: 0.3.0]
-│       │   ├── MarkupSafe [required: >=2.0, installed: 3.0.3]
-│       │   ├── mistune [required: >=2.0.3,<4, installed: 3.1.4]
-│       │   ├── nbclient [required: >=0.5.0, installed: 0.10.2]
-│       │   │   ├── jupyter_client [required: >=6.1.12, installed: 8.6.3]
-│       │   │   │   ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.9.1]
-│       │   │   │   │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│       │   │   │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│       │   │   │   ├── python-dateutil [required: >=2.8.2, installed: 2.9.0.post0]
-│       │   │   │   │   └── six [required: >=1.5, installed: 1.17.0]
-│       │   │   │   ├── pyzmq [required: >=23.0, installed: 27.1.0]
-│       │   │   │   ├── tornado [required: >=6.2, installed: 6.5.2]
-│       │   │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│       │   │   ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.9.1]
-│       │   │   │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│       │   │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│       │   │   ├── nbformat [required: >=5.1, installed: 5.10.4]
-│       │   │   │   ├── fastjsonschema [required: >=2.15, installed: 2.21.2]
-│       │   │   │   ├── jsonschema [required: >=2.6, installed: 4.25.1]
-│       │   │   │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│       │   │   │   │   ├── jsonschema-specifications [required: >=2023.03.6, installed: 2025.9.1]
-│       │   │   │   │   │   └── referencing [required: >=0.31.0, installed: 0.37.0]
-│       │   │   │   │   │       ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│       │   │   │   │   │       ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│       │   │   │   │   │       └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│       │   │   │   │   ├── referencing [required: >=0.28.4, installed: 0.37.0]
-│       │   │   │   │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│       │   │   │   │   │   ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│       │   │   │   │   │   └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│       │   │   │   │   └── rpds-py [required: >=0.7.1, installed: 0.28.0]
-│       │   │   │   ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.9.1]
-│       │   │   │   │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│       │   │   │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│       │   │   │   └── traitlets [required: >=5.1, installed: 5.14.3]
-│       │   │   └── traitlets [required: >=5.4, installed: 5.14.3]
-│       │   ├── nbformat [required: >=5.7, installed: 5.10.4]
-│       │   │   ├── fastjsonschema [required: >=2.15, installed: 2.21.2]
-│       │   │   ├── jsonschema [required: >=2.6, installed: 4.25.1]
-│       │   │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│       │   │   │   ├── jsonschema-specifications [required: >=2023.03.6, installed: 2025.9.1]
-│       │   │   │   │   └── referencing [required: >=0.31.0, installed: 0.37.0]
-│       │   │   │   │       ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│       │   │   │   │       ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│       │   │   │   │       └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│       │   │   │   ├── referencing [required: >=0.28.4, installed: 0.37.0]
-│       │   │   │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│       │   │   │   │   ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│       │   │   │   │   └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│       │   │   │   └── rpds-py [required: >=0.7.1, installed: 0.28.0]
-│       │   │   ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.9.1]
-│       │   │   │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│       │   │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│       │   │   └── traitlets [required: >=5.1, installed: 5.14.3]
-│       │   ├── packaging [required: Any, installed: 25.0]
-│       │   ├── pandocfilters [required: >=1.4.1, installed: 1.5.1]
-│       │   ├── Pygments [required: >=2.4.1, installed: 2.19.2]
-│       │   └── traitlets [required: >=5.1, installed: 5.14.3]
-│       ├── nbformat [required: >=5.3.0, installed: 5.10.4]
-│       │   ├── fastjsonschema [required: >=2.15, installed: 2.21.2]
-│       │   ├── jsonschema [required: >=2.6, installed: 4.25.1]
-│       │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│       │   │   ├── jsonschema-specifications [required: >=2023.03.6, installed: 2025.9.1]
-│       │   │   │   └── referencing [required: >=0.31.0, installed: 0.37.0]
-│       │   │   │       ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│       │   │   │       ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│       │   │   │       └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│       │   │   ├── referencing [required: >=0.28.4, installed: 0.37.0]
-│       │   │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│       │   │   │   ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│       │   │   │   └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│       │   │   └── rpds-py [required: >=0.7.1, installed: 0.28.0]
-│       │   ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.9.1]
-│       │   │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│       │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│       │   └── traitlets [required: >=5.1, installed: 5.14.3]
-│       ├── overrides [required: >=5.0, installed: ?]
-│       ├── packaging [required: >=22.0, installed: 25.0]
-│       ├── prometheus_client [required: >=0.9, installed: 0.23.1]
-│       ├── pyzmq [required: >=24, installed: 27.1.0]
-│       ├── Send2Trash [required: >=1.8.2, installed: 1.8.3]
-│       ├── terminado [required: >=0.8.3, installed: 0.18.1]
-│       │   ├── ptyprocess [required: Any, installed: 0.7.0]
-│       │   └── tornado [required: >=6.1.0, installed: 6.5.2]
-│       ├── tornado [required: >=6.2.0, installed: 6.5.2]
-│       ├── traitlets [required: >=5.6.0, installed: 5.14.3]
-│       └── websocket-client [required: >=1.7, installed: 1.9.0]
-├── jupyter_server [required: >=2.4.0,<3, installed: 2.17.0]
-│   ├── anyio [required: >=3.1.0, installed: 4.11.0]
-│   │   ├── idna [required: >=2.8, installed: 3.11]
-│   │   ├── sniffio [required: >=1.1, installed: 1.3.1]
-│   │   └── typing_extensions [required: >=4.5, installed: 4.15.0]
-│   ├── argon2-cffi [required: >=21.1, installed: 25.1.0]
-│   │   └── argon2-cffi-bindings [required: Any, installed: 25.1.0]
-│   │       └── cffi [required: >=1.0.1, installed: 2.0.0]
-│   │           └── pycparser [required: Any, installed: 2.23]
-│   ├── Jinja2 [required: >=3.0.3, installed: 3.1.6]
-│   │   └── MarkupSafe [required: >=2.0, installed: 3.0.3]
-│   ├── jupyter_client [required: >=7.4.4, installed: 8.6.3]
-│   │   ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.9.1]
-│   │   │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│   │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│   │   ├── python-dateutil [required: >=2.8.2, installed: 2.9.0.post0]
-│   │   │   └── six [required: >=1.5, installed: 1.17.0]
-│   │   ├── pyzmq [required: >=23.0, installed: 27.1.0]
-│   │   ├── tornado [required: >=6.2, installed: 6.5.2]
-│   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│   ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.9.1]
-│   │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│   ├── jupyter-events [required: >=0.11.0, installed: 0.12.0]
-│   │   ├── jsonschema [required: >=4.18.0, installed: 4.25.1]
-│   │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│   │   │   ├── jsonschema-specifications [required: >=2023.03.6, installed: 2025.9.1]
-│   │   │   │   └── referencing [required: >=0.31.0, installed: 0.37.0]
-│   │   │   │       ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│   │   │   │       ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│   │   │   │       └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│   │   │   ├── referencing [required: >=0.28.4, installed: 0.37.0]
-│   │   │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│   │   │   │   ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│   │   │   │   └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│   │   │   └── rpds-py [required: >=0.7.1, installed: 0.28.0]
-│   │   ├── packaging [required: Any, installed: 25.0]
-│   │   ├── python-json-logger [required: >=2.0.4, installed: 4.0.0]
-│   │   ├── PyYAML [required: >=5.3, installed: 6.0.3]
-│   │   ├── referencing [required: Any, installed: 0.37.0]
-│   │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│   │   │   ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│   │   │   └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│   │   ├── rfc3339-validator [required: Any, installed: 0.1.4]
-│   │   │   └── six [required: Any, installed: 1.17.0]
-│   │   ├── rfc3986-validator [required: >=0.1.1, installed: 0.1.1]
-│   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│   ├── jupyter_server_terminals [required: >=0.4.4, installed: 0.5.3]
-│   │   └── terminado [required: >=0.8.3, installed: 0.18.1]
-│   │       ├── ptyprocess [required: Any, installed: 0.7.0]
-│   │       └── tornado [required: >=6.1.0, installed: 6.5.2]
-│   ├── nbconvert [required: >=6.4.4, installed: 7.16.6]
-│   │   ├── beautifulsoup4 [required: Any, installed: 4.14.2]
-│   │   │   ├── soupsieve [required: >1.2, installed: 2.8]
-│   │   │   └── typing_extensions [required: >=4.0.0, installed: 4.15.0]
-│   │   ├── bleach [required: !=5.0.0, installed: 6.2.0]
-│   │   │   └── webencodings [required: Any, installed: 0.5.1]
-│   │   ├── defusedxml [required: Any, installed: 0.7.1]
-│   │   ├── Jinja2 [required: >=3.0, installed: 3.1.6]
-│   │   │   └── MarkupSafe [required: >=2.0, installed: 3.0.3]
-│   │   ├── jupyter_core [required: >=4.7, installed: 5.9.1]
-│   │   │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│   │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│   │   ├── jupyterlab_pygments [required: Any, installed: 0.3.0]
-│   │   ├── MarkupSafe [required: >=2.0, installed: 3.0.3]
-│   │   ├── mistune [required: >=2.0.3,<4, installed: 3.1.4]
-│   │   ├── nbclient [required: >=0.5.0, installed: 0.10.2]
-│   │   │   ├── jupyter_client [required: >=6.1.12, installed: 8.6.3]
-│   │   │   │   ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.9.1]
-│   │   │   │   │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│   │   │   │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│   │   │   │   ├── python-dateutil [required: >=2.8.2, installed: 2.9.0.post0]
-│   │   │   │   │   └── six [required: >=1.5, installed: 1.17.0]
-│   │   │   │   ├── pyzmq [required: >=23.0, installed: 27.1.0]
-│   │   │   │   ├── tornado [required: >=6.2, installed: 6.5.2]
-│   │   │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│   │   │   ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.9.1]
-│   │   │   │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│   │   │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│   │   │   ├── nbformat [required: >=5.1, installed: 5.10.4]
-│   │   │   │   ├── fastjsonschema [required: >=2.15, installed: 2.21.2]
-│   │   │   │   ├── jsonschema [required: >=2.6, installed: 4.25.1]
-│   │   │   │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│   │   │   │   │   ├── jsonschema-specifications [required: >=2023.03.6, installed: 2025.9.1]
-│   │   │   │   │   │   └── referencing [required: >=0.31.0, installed: 0.37.0]
-│   │   │   │   │   │       ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│   │   │   │   │   │       ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│   │   │   │   │   │       └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│   │   │   │   │   ├── referencing [required: >=0.28.4, installed: 0.37.0]
-│   │   │   │   │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│   │   │   │   │   │   ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│   │   │   │   │   │   └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│   │   │   │   │   └── rpds-py [required: >=0.7.1, installed: 0.28.0]
-│   │   │   │   ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.9.1]
-│   │   │   │   │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│   │   │   │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│   │   │   │   └── traitlets [required: >=5.1, installed: 5.14.3]
-│   │   │   └── traitlets [required: >=5.4, installed: 5.14.3]
-│   │   ├── nbformat [required: >=5.7, installed: 5.10.4]
-│   │   │   ├── fastjsonschema [required: >=2.15, installed: 2.21.2]
-│   │   │   ├── jsonschema [required: >=2.6, installed: 4.25.1]
-│   │   │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│   │   │   │   ├── jsonschema-specifications [required: >=2023.03.6, installed: 2025.9.1]
-│   │   │   │   │   └── referencing [required: >=0.31.0, installed: 0.37.0]
-│   │   │   │   │       ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│   │   │   │   │       ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│   │   │   │   │       └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│   │   │   │   ├── referencing [required: >=0.28.4, installed: 0.37.0]
-│   │   │   │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│   │   │   │   │   ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│   │   │   │   │   └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│   │   │   │   └── rpds-py [required: >=0.7.1, installed: 0.28.0]
-│   │   │   ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.9.1]
-│   │   │   │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│   │   │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│   │   │   └── traitlets [required: >=5.1, installed: 5.14.3]
-│   │   ├── packaging [required: Any, installed: 25.0]
-│   │   ├── pandocfilters [required: >=1.4.1, installed: 1.5.1]
-│   │   ├── Pygments [required: >=2.4.1, installed: 2.19.2]
-│   │   └── traitlets [required: >=5.1, installed: 5.14.3]
-│   ├── nbformat [required: >=5.3.0, installed: 5.10.4]
-│   │   ├── fastjsonschema [required: >=2.15, installed: 2.21.2]
-│   │   ├── jsonschema [required: >=2.6, installed: 4.25.1]
-│   │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│   │   │   ├── jsonschema-specifications [required: >=2023.03.6, installed: 2025.9.1]
-│   │   │   │   └── referencing [required: >=0.31.0, installed: 0.37.0]
-│   │   │   │       ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│   │   │   │       ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│   │   │   │       └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│   │   │   ├── referencing [required: >=0.28.4, installed: 0.37.0]
-│   │   │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│   │   │   │   ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│   │   │   │   └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│   │   │   └── rpds-py [required: >=0.7.1, installed: 0.28.0]
-│   │   ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.9.1]
-│   │   │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│   │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│   │   └── traitlets [required: >=5.1, installed: 5.14.3]
-│   ├── overrides [required: >=5.0, installed: ?]
-│   ├── packaging [required: >=22.0, installed: 25.0]
-│   ├── prometheus_client [required: >=0.9, installed: 0.23.1]
-│   ├── pyzmq [required: >=24, installed: 27.1.0]
-│   ├── Send2Trash [required: >=1.8.2, installed: 1.8.3]
-│   ├── terminado [required: >=0.8.3, installed: 0.18.1]
-│   │   ├── ptyprocess [required: Any, installed: 0.7.0]
-│   │   └── tornado [required: >=6.1.0, installed: 6.5.2]
-│   ├── tornado [required: >=6.2.0, installed: 6.5.2]
-│   ├── traitlets [required: >=5.6.0, installed: 5.14.3]
-│   └── websocket-client [required: >=1.7, installed: 1.9.0]
-├── jupyterlab_server [required: >=2.27.1,<3, installed: 2.28.0]
-│   ├── babel [required: >=2.10, installed: 2.17.0]
-│   ├── Jinja2 [required: >=3.0.3, installed: 3.1.6]
-│   │   └── MarkupSafe [required: >=2.0, installed: 3.0.3]
-│   ├── json5 [required: >=0.9.0, installed: 0.12.1]
-│   ├── jsonschema [required: >=4.18.0, installed: 4.25.1]
-│   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│   │   ├── jsonschema-specifications [required: >=2023.03.6, installed: 2025.9.1]
-│   │   │   └── referencing [required: >=0.31.0, installed: 0.37.0]
-│   │   │       ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│   │   │       ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│   │   │       └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│   │   ├── referencing [required: >=0.28.4, installed: 0.37.0]
-│   │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│   │   │   ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│   │   │   └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│   │   └── rpds-py [required: >=0.7.1, installed: 0.28.0]
-│   ├── jupyter_server [required: >=1.21,<3, installed: 2.17.0]
-│   │   ├── anyio [required: >=3.1.0, installed: 4.11.0]
-│   │   │   ├── idna [required: >=2.8, installed: 3.11]
-│   │   │   ├── sniffio [required: >=1.1, installed: 1.3.1]
-│   │   │   └── typing_extensions [required: >=4.5, installed: 4.15.0]
-│   │   ├── argon2-cffi [required: >=21.1, installed: 25.1.0]
-│   │   │   └── argon2-cffi-bindings [required: Any, installed: 25.1.0]
-│   │   │       └── cffi [required: >=1.0.1, installed: 2.0.0]
-│   │   │           └── pycparser [required: Any, installed: 2.23]
-│   │   ├── Jinja2 [required: >=3.0.3, installed: 3.1.6]
-│   │   │   └── MarkupSafe [required: >=2.0, installed: 3.0.3]
-│   │   ├── jupyter_client [required: >=7.4.4, installed: 8.6.3]
-│   │   │   ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.9.1]
-│   │   │   │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│   │   │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│   │   │   ├── python-dateutil [required: >=2.8.2, installed: 2.9.0.post0]
-│   │   │   │   └── six [required: >=1.5, installed: 1.17.0]
-│   │   │   ├── pyzmq [required: >=23.0, installed: 27.1.0]
-│   │   │   ├── tornado [required: >=6.2, installed: 6.5.2]
-│   │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│   │   ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.9.1]
-│   │   │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│   │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│   │   ├── jupyter-events [required: >=0.11.0, installed: 0.12.0]
-│   │   │   ├── jsonschema [required: >=4.18.0, installed: 4.25.1]
-│   │   │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│   │   │   │   ├── jsonschema-specifications [required: >=2023.03.6, installed: 2025.9.1]
-│   │   │   │   │   └── referencing [required: >=0.31.0, installed: 0.37.0]
-│   │   │   │   │       ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│   │   │   │   │       ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│   │   │   │   │       └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│   │   │   │   ├── referencing [required: >=0.28.4, installed: 0.37.0]
-│   │   │   │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│   │   │   │   │   ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│   │   │   │   │   └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│   │   │   │   └── rpds-py [required: >=0.7.1, installed: 0.28.0]
-│   │   │   ├── packaging [required: Any, installed: 25.0]
-│   │   │   ├── python-json-logger [required: >=2.0.4, installed: 4.0.0]
-│   │   │   ├── PyYAML [required: >=5.3, installed: 6.0.3]
-│   │   │   ├── referencing [required: Any, installed: 0.37.0]
-│   │   │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│   │   │   │   ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│   │   │   │   └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│   │   │   ├── rfc3339-validator [required: Any, installed: 0.1.4]
-│   │   │   │   └── six [required: Any, installed: 1.17.0]
-│   │   │   ├── rfc3986-validator [required: >=0.1.1, installed: 0.1.1]
-│   │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│   │   ├── jupyter_server_terminals [required: >=0.4.4, installed: 0.5.3]
-│   │   │   └── terminado [required: >=0.8.3, installed: 0.18.1]
-│   │   │       ├── ptyprocess [required: Any, installed: 0.7.0]
-│   │   │       └── tornado [required: >=6.1.0, installed: 6.5.2]
-│   │   ├── nbconvert [required: >=6.4.4, installed: 7.16.6]
-│   │   │   ├── beautifulsoup4 [required: Any, installed: 4.14.2]
-│   │   │   │   ├── soupsieve [required: >1.2, installed: 2.8]
-│   │   │   │   └── typing_extensions [required: >=4.0.0, installed: 4.15.0]
-│   │   │   ├── bleach [required: !=5.0.0, installed: 6.2.0]
-│   │   │   │   └── webencodings [required: Any, installed: 0.5.1]
-│   │   │   ├── defusedxml [required: Any, installed: 0.7.1]
-│   │   │   ├── Jinja2 [required: >=3.0, installed: 3.1.6]
-│   │   │   │   └── MarkupSafe [required: >=2.0, installed: 3.0.3]
-│   │   │   ├── jupyter_core [required: >=4.7, installed: 5.9.1]
-│   │   │   │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│   │   │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│   │   │   ├── jupyterlab_pygments [required: Any, installed: 0.3.0]
-│   │   │   ├── MarkupSafe [required: >=2.0, installed: 3.0.3]
-│   │   │   ├── mistune [required: >=2.0.3,<4, installed: 3.1.4]
-│   │   │   ├── nbclient [required: >=0.5.0, installed: 0.10.2]
-│   │   │   │   ├── jupyter_client [required: >=6.1.12, installed: 8.6.3]
-│   │   │   │   │   ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.9.1]
-│   │   │   │   │   │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│   │   │   │   │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│   │   │   │   │   ├── python-dateutil [required: >=2.8.2, installed: 2.9.0.post0]
-│   │   │   │   │   │   └── six [required: >=1.5, installed: 1.17.0]
-│   │   │   │   │   ├── pyzmq [required: >=23.0, installed: 27.1.0]
-│   │   │   │   │   ├── tornado [required: >=6.2, installed: 6.5.2]
-│   │   │   │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│   │   │   │   ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.9.1]
-│   │   │   │   │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│   │   │   │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│   │   │   │   ├── nbformat [required: >=5.1, installed: 5.10.4]
-│   │   │   │   │   ├── fastjsonschema [required: >=2.15, installed: 2.21.2]
-│   │   │   │   │   ├── jsonschema [required: >=2.6, installed: 4.25.1]
-│   │   │   │   │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│   │   │   │   │   │   ├── jsonschema-specifications [required: >=2023.03.6, installed: 2025.9.1]
-│   │   │   │   │   │   │   └── referencing [required: >=0.31.0, installed: 0.37.0]
-│   │   │   │   │   │   │       ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│   │   │   │   │   │   │       ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│   │   │   │   │   │   │       └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│   │   │   │   │   │   ├── referencing [required: >=0.28.4, installed: 0.37.0]
-│   │   │   │   │   │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│   │   │   │   │   │   │   ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│   │   │   │   │   │   │   └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│   │   │   │   │   │   └── rpds-py [required: >=0.7.1, installed: 0.28.0]
-│   │   │   │   │   ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.9.1]
-│   │   │   │   │   │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│   │   │   │   │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│   │   │   │   │   └── traitlets [required: >=5.1, installed: 5.14.3]
-│   │   │   │   └── traitlets [required: >=5.4, installed: 5.14.3]
-│   │   │   ├── nbformat [required: >=5.7, installed: 5.10.4]
-│   │   │   │   ├── fastjsonschema [required: >=2.15, installed: 2.21.2]
-│   │   │   │   ├── jsonschema [required: >=2.6, installed: 4.25.1]
-│   │   │   │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│   │   │   │   │   ├── jsonschema-specifications [required: >=2023.03.6, installed: 2025.9.1]
-│   │   │   │   │   │   └── referencing [required: >=0.31.0, installed: 0.37.0]
-│   │   │   │   │   │       ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│   │   │   │   │   │       ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│   │   │   │   │   │       └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│   │   │   │   │   ├── referencing [required: >=0.28.4, installed: 0.37.0]
-│   │   │   │   │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│   │   │   │   │   │   ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│   │   │   │   │   │   └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│   │   │   │   │   └── rpds-py [required: >=0.7.1, installed: 0.28.0]
-│   │   │   │   ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.9.1]
-│   │   │   │   │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│   │   │   │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│   │   │   │   └── traitlets [required: >=5.1, installed: 5.14.3]
-│   │   │   ├── packaging [required: Any, installed: 25.0]
-│   │   │   ├── pandocfilters [required: >=1.4.1, installed: 1.5.1]
-│   │   │   ├── Pygments [required: >=2.4.1, installed: 2.19.2]
-│   │   │   └── traitlets [required: >=5.1, installed: 5.14.3]
-│   │   ├── nbformat [required: >=5.3.0, installed: 5.10.4]
-│   │   │   ├── fastjsonschema [required: >=2.15, installed: 2.21.2]
-│   │   │   ├── jsonschema [required: >=2.6, installed: 4.25.1]
-│   │   │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│   │   │   │   ├── jsonschema-specifications [required: >=2023.03.6, installed: 2025.9.1]
-│   │   │   │   │   └── referencing [required: >=0.31.0, installed: 0.37.0]
-│   │   │   │   │       ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│   │   │   │   │       ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│   │   │   │   │       └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│   │   │   │   ├── referencing [required: >=0.28.4, installed: 0.37.0]
-│   │   │   │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│   │   │   │   │   ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│   │   │   │   │   └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│   │   │   │   └── rpds-py [required: >=0.7.1, installed: 0.28.0]
-│   │   │   ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.9.1]
-│   │   │   │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│   │   │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│   │   │   └── traitlets [required: >=5.1, installed: 5.14.3]
-│   │   ├── overrides [required: >=5.0, installed: ?]
-│   │   ├── packaging [required: >=22.0, installed: 25.0]
-│   │   ├── prometheus_client [required: >=0.9, installed: 0.23.1]
-│   │   ├── pyzmq [required: >=24, installed: 27.1.0]
-│   │   ├── Send2Trash [required: >=1.8.2, installed: 1.8.3]
-│   │   ├── terminado [required: >=0.8.3, installed: 0.18.1]
-│   │   │   ├── ptyprocess [required: Any, installed: 0.7.0]
-│   │   │   └── tornado [required: >=6.1.0, installed: 6.5.2]
-│   │   ├── tornado [required: >=6.2.0, installed: 6.5.2]
-│   │   ├── traitlets [required: >=5.6.0, installed: 5.14.3]
-│   │   └── websocket-client [required: >=1.7, installed: 1.9.0]
-│   ├── packaging [required: >=21.3, installed: 25.0]
-│   └── requests [required: >=2.31, installed: 2.32.5]
-│       ├── charset-normalizer [required: >=2,<4, installed: 3.4.4]
-│       ├── idna [required: >=2.5,<4, installed: 3.11]
-│       ├── urllib3 [required: >=1.21.1,<3, installed: 2.5.0]
-│       └── certifi [required: >=2017.4.17, installed: 2025.10.5]
-├── notebook_shim [required: >=0.2, installed: 0.2.4]
-│   └── jupyter_server [required: >=1.8,<3, installed: 2.17.0]
-│       ├── anyio [required: >=3.1.0, installed: 4.11.0]
-│       │   ├── idna [required: >=2.8, installed: 3.11]
-│       │   ├── sniffio [required: >=1.1, installed: 1.3.1]
-│       │   └── typing_extensions [required: >=4.5, installed: 4.15.0]
-│       ├── argon2-cffi [required: >=21.1, installed: 25.1.0]
-│       │   └── argon2-cffi-bindings [required: Any, installed: 25.1.0]
-│       │       └── cffi [required: >=1.0.1, installed: 2.0.0]
-│       │           └── pycparser [required: Any, installed: 2.23]
-│       ├── Jinja2 [required: >=3.0.3, installed: 3.1.6]
-│       │   └── MarkupSafe [required: >=2.0, installed: 3.0.3]
-│       ├── jupyter_client [required: >=7.4.4, installed: 8.6.3]
-│       │   ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.9.1]
-│       │   │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│       │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│       │   ├── python-dateutil [required: >=2.8.2, installed: 2.9.0.post0]
-│       │   │   └── six [required: >=1.5, installed: 1.17.0]
-│       │   ├── pyzmq [required: >=23.0, installed: 27.1.0]
-│       │   ├── tornado [required: >=6.2, installed: 6.5.2]
-│       │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│       ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.9.1]
-│       │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│       │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│       ├── jupyter-events [required: >=0.11.0, installed: 0.12.0]
-│       │   ├── jsonschema [required: >=4.18.0, installed: 4.25.1]
-│       │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│       │   │   ├── jsonschema-specifications [required: >=2023.03.6, installed: 2025.9.1]
-│       │   │   │   └── referencing [required: >=0.31.0, installed: 0.37.0]
-│       │   │   │       ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│       │   │   │       ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│       │   │   │       └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│       │   │   ├── referencing [required: >=0.28.4, installed: 0.37.0]
-│       │   │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│       │   │   │   ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│       │   │   │   └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│       │   │   └── rpds-py [required: >=0.7.1, installed: 0.28.0]
-│       │   ├── packaging [required: Any, installed: 25.0]
-│       │   ├── python-json-logger [required: >=2.0.4, installed: 4.0.0]
-│       │   ├── PyYAML [required: >=5.3, installed: 6.0.3]
-│       │   ├── referencing [required: Any, installed: 0.37.0]
-│       │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│       │   │   ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│       │   │   └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│       │   ├── rfc3339-validator [required: Any, installed: 0.1.4]
-│       │   │   └── six [required: Any, installed: 1.17.0]
-│       │   ├── rfc3986-validator [required: >=0.1.1, installed: 0.1.1]
-│       │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│       ├── jupyter_server_terminals [required: >=0.4.4, installed: 0.5.3]
-│       │   └── terminado [required: >=0.8.3, installed: 0.18.1]
-│       │       ├── ptyprocess [required: Any, installed: 0.7.0]
-│       │       └── tornado [required: >=6.1.0, installed: 6.5.2]
-│       ├── nbconvert [required: >=6.4.4, installed: 7.16.6]
-│       │   ├── beautifulsoup4 [required: Any, installed: 4.14.2]
-│       │   │   ├── soupsieve [required: >1.2, installed: 2.8]
-│       │   │   └── typing_extensions [required: >=4.0.0, installed: 4.15.0]
-│       │   ├── bleach [required: !=5.0.0, installed: 6.2.0]
-│       │   │   └── webencodings [required: Any, installed: 0.5.1]
-│       │   ├── defusedxml [required: Any, installed: 0.7.1]
-│       │   ├── Jinja2 [required: >=3.0, installed: 3.1.6]
-│       │   │   └── MarkupSafe [required: >=2.0, installed: 3.0.3]
-│       │   ├── jupyter_core [required: >=4.7, installed: 5.9.1]
-│       │   │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│       │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│       │   ├── jupyterlab_pygments [required: Any, installed: 0.3.0]
-│       │   ├── MarkupSafe [required: >=2.0, installed: 3.0.3]
-│       │   ├── mistune [required: >=2.0.3,<4, installed: 3.1.4]
-│       │   ├── nbclient [required: >=0.5.0, installed: 0.10.2]
-│       │   │   ├── jupyter_client [required: >=6.1.12, installed: 8.6.3]
-│       │   │   │   ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.9.1]
-│       │   │   │   │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│       │   │   │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│       │   │   │   ├── python-dateutil [required: >=2.8.2, installed: 2.9.0.post0]
-│       │   │   │   │   └── six [required: >=1.5, installed: 1.17.0]
-│       │   │   │   ├── pyzmq [required: >=23.0, installed: 27.1.0]
-│       │   │   │   ├── tornado [required: >=6.2, installed: 6.5.2]
-│       │   │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│       │   │   ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.9.1]
-│       │   │   │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│       │   │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│       │   │   ├── nbformat [required: >=5.1, installed: 5.10.4]
-│       │   │   │   ├── fastjsonschema [required: >=2.15, installed: 2.21.2]
-│       │   │   │   ├── jsonschema [required: >=2.6, installed: 4.25.1]
-│       │   │   │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│       │   │   │   │   ├── jsonschema-specifications [required: >=2023.03.6, installed: 2025.9.1]
-│       │   │   │   │   │   └── referencing [required: >=0.31.0, installed: 0.37.0]
-│       │   │   │   │   │       ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│       │   │   │   │   │       ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│       │   │   │   │   │       └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│       │   │   │   │   ├── referencing [required: >=0.28.4, installed: 0.37.0]
-│       │   │   │   │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│       │   │   │   │   │   ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│       │   │   │   │   │   └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│       │   │   │   │   └── rpds-py [required: >=0.7.1, installed: 0.28.0]
-│       │   │   │   ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.9.1]
-│       │   │   │   │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│       │   │   │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│       │   │   │   └── traitlets [required: >=5.1, installed: 5.14.3]
-│       │   │   └── traitlets [required: >=5.4, installed: 5.14.3]
-│       │   ├── nbformat [required: >=5.7, installed: 5.10.4]
-│       │   │   ├── fastjsonschema [required: >=2.15, installed: 2.21.2]
-│       │   │   ├── jsonschema [required: >=2.6, installed: 4.25.1]
-│       │   │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│       │   │   │   ├── jsonschema-specifications [required: >=2023.03.6, installed: 2025.9.1]
-│       │   │   │   │   └── referencing [required: >=0.31.0, installed: 0.37.0]
-│       │   │   │   │       ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│       │   │   │   │       ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│       │   │   │   │       └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│       │   │   │   ├── referencing [required: >=0.28.4, installed: 0.37.0]
-│       │   │   │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│       │   │   │   │   ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│       │   │   │   │   └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│       │   │   │   └── rpds-py [required: >=0.7.1, installed: 0.28.0]
-│       │   │   ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.9.1]
-│       │   │   │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│       │   │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│       │   │   └── traitlets [required: >=5.1, installed: 5.14.3]
-│       │   ├── packaging [required: Any, installed: 25.0]
-│       │   ├── pandocfilters [required: >=1.4.1, installed: 1.5.1]
-│       │   ├── Pygments [required: >=2.4.1, installed: 2.19.2]
-│       │   └── traitlets [required: >=5.1, installed: 5.14.3]
-│       ├── nbformat [required: >=5.3.0, installed: 5.10.4]
-│       │   ├── fastjsonschema [required: >=2.15, installed: 2.21.2]
-│       │   ├── jsonschema [required: >=2.6, installed: 4.25.1]
-│       │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│       │   │   ├── jsonschema-specifications [required: >=2023.03.6, installed: 2025.9.1]
-│       │   │   │   └── referencing [required: >=0.31.0, installed: 0.37.0]
-│       │   │   │       ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│       │   │   │       ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│       │   │   │       └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│       │   │   ├── referencing [required: >=0.28.4, installed: 0.37.0]
-│       │   │   │   ├── attrs [required: >=22.2.0, installed: 25.4.0]
-│       │   │   │   ├── rpds-py [required: >=0.7.0, installed: 0.28.0]
-│       │   │   │   └── typing_extensions [required: >=4.4.0, installed: 4.15.0]
-│       │   │   └── rpds-py [required: >=0.7.1, installed: 0.28.0]
-│       │   ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.9.1]
-│       │   │   ├── platformdirs [required: >=2.5, installed: 4.5.0]
-│       │   │   └── traitlets [required: >=5.3, installed: 5.14.3]
-│       │   └── traitlets [required: >=5.1, installed: 5.14.3]
-│       ├── overrides [required: >=5.0, installed: ?]
-│       ├── packaging [required: >=22.0, installed: 25.0]
-│       ├── prometheus_client [required: >=0.9, installed: 0.23.1]
-│       ├── pyzmq [required: >=24, installed: 27.1.0]
-│       ├── Send2Trash [required: >=1.8.2, installed: 1.8.3]
-│       ├── terminado [required: >=0.8.3, installed: 0.18.1]
-│       │   ├── ptyprocess [required: Any, installed: 0.7.0]
-│       │   └── tornado [required: >=6.1.0, installed: 6.5.2]
-│       ├── tornado [required: >=6.2.0, installed: 6.5.2]
-│       ├── traitlets [required: >=5.6.0, installed: 5.14.3]
-│       └── websocket-client [required: >=1.7, installed: 1.9.0]
-├── packaging [required: Any, installed: 25.0]
-├── setuptools [required: >=41.1.0, installed: 80.9.0]
-├── tornado [required: >=6.2.0, installed: 6.5.2]
-└── traitlets [required: Any, installed: 5.14.3]
-plotly==6.3.1
-├── narwhals [required: >=1.15.1, installed: 2.9.0]
-└── packaging [required: Any, installed: 25.0]
-pre_commit==4.3.0
-├── cfgv [required: >=2.0.0, installed: 3.4.0]
+matplotlib==3.10.8
+├── contourpy [required: >=1.0.1, installed: 1.3.3]
+│   └── numpy [required: >=1.25, installed: 2.4.1]
+├── cycler [required: >=0.10, installed: 0.12.1]
+├── fonttools [required: >=4.22.0, installed: 4.61.1]
+├── kiwisolver [required: >=1.3.1, installed: 1.4.9]
+├── numpy [required: >=1.23, installed: 2.4.1]
+├── packaging [required: >=20.0, installed: 25.0]
+├── pillow [required: >=8, installed: 12.1.0]
+├── pyparsing [required: >=3, installed: 3.3.1]
+└── python-dateutil [required: >=2.7, installed: 2.9.0.post0]
+    └── six [required: >=1.5, installed: 1.17.0]
+pandas==2.3.3
+├── numpy [required: >=1.23.2, installed: 2.4.1]
+├── python-dateutil [required: >=2.8.2, installed: 2.9.0.post0]
+│   └── six [required: >=1.5, installed: 1.17.0]
+├── pytz [required: >=2020.1, installed: 2025.2]
+└── tzdata [required: >=2022.7, installed: 2025.3]
+pre_commit==4.5.1
+├── cfgv [required: >=2.0.0, installed: 3.5.0]
 ├── identify [required: >=1.0.0, installed: 2.6.15]
-├── nodeenv [required: >=0.11.1, installed: 1.9.1]
+├── nodeenv [required: >=0.11.1, installed: 1.10.0]
 ├── PyYAML [required: >=5.1, installed: 6.0.3]
-└── virtualenv [required: >=20.10.0, installed: 20.35.3]
+└── virtualenv [required: >=20.10.0, installed: 20.36.1]
     ├── distlib [required: >=0.3.7,<1, installed: 0.4.0]
-    ├── filelock [required: >=3.12.2,<4, installed: 3.20.0]
-    └── platformdirs [required: >=3.9.1,<5, installed: 4.5.0]
-pyarrow==22.0.0
-python-dotenv==1.1.1
-rfc3987-syntax==1.1.0
-└── lark [required: >=1.2.2, installed: 1.3.0]
-seaborn==0.13.2
-├── numpy [required: >=1.20,!=1.24.0, installed: 2.3.4]
-├── pandas [required: >=1.2, installed: 2.3.3]
-│   ├── numpy [required: >=1.23.2, installed: 2.3.4]
-│   ├── python-dateutil [required: >=2.8.2, installed: 2.9.0.post0]
-│   │   └── six [required: >=1.5, installed: 1.17.0]
-│   ├── pytz [required: >=2020.1, installed: 2025.2]
-│   └── tzdata [required: >=2022.7, installed: 2025.2]
-└── matplotlib [required: >=3.4,!=3.6.1, installed: 3.10.7]
-    ├── contourpy [required: >=1.0.1, installed: 1.3.3]
-    │   └── numpy [required: >=1.25, installed: 2.3.4]
-    ├── cycler [required: >=0.10, installed: 0.12.1]
-    ├── fonttools [required: >=4.22.0, installed: 4.60.1]
-    ├── kiwisolver [required: >=1.3.1, installed: 1.4.9]
-    ├── numpy [required: >=1.23, installed: 2.3.4]
-    ├── packaging [required: >=20.0, installed: 25.0]
-    ├── pillow [required: >=8, installed: 12.0.0]
-    ├── pyparsing [required: >=3, installed: 3.2.5]
-    └── python-dateutil [required: >=2.7, installed: 2.9.0.post0]
-        └── six [required: >=1.5, installed: 1.17.0]
-tinycss2==1.4.0
-└── webencodings [required: >=0.4, installed: 0.5.1]
-tokenize_rt==6.2.0
-uri-template==1.3.0
-webcolors==24.11.1
-wordcloud==1.9.4
-├── numpy [required: >=1.6.1, installed: 2.3.4]
-├── pillow [required: Any, installed: 12.0.0]
-└── matplotlib [required: Any, installed: 3.10.7]
-    ├── contourpy [required: >=1.0.1, installed: 1.3.3]
-    │   └── numpy [required: >=1.25, installed: 2.3.4]
-    ├── cycler [required: >=0.10, installed: 0.12.1]
-    ├── fonttools [required: >=4.22.0, installed: 4.60.1]
-    ├── kiwisolver [required: >=1.3.1, installed: 1.4.9]
-    ├── numpy [required: >=1.23, installed: 2.3.4]
-    ├── packaging [required: >=20.0, installed: 25.0]
-    ├── pillow [required: >=8, installed: 12.0.0]
-    ├── pyparsing [required: >=3, installed: 3.2.5]
-    └── python-dateutil [required: >=2.7, installed: 2.9.0.post0]
-        └── six [required: >=1.5, installed: 1.17.0]
+    ├── filelock [required: >=3.20.1,<4, installed: 3.20.3]
+    └── platformdirs [required: >=3.9.1,<5, installed: 4.5.1]
+Pygments==2.19.2

Tests

Command:

pipenv run ./dev/test_scripts_help.sh

Output:

Loading .env environment variables...
✅ scripts/1-fetch/arxiv_fetch.py
✅ scripts/1-fetch/europeana_fetch.py
✅ scripts/1-fetch/gcs_fetch.py
✅ scripts/1-fetch/github_fetch.py
✅ scripts/1-fetch/openverse_fetch.py
✅ scripts/1-fetch/smithsonian_fetch.py
✅ scripts/1-fetch/wikipedia_fetch.py
✅ scripts/2-process/gcs_process.py
✅ scripts/2-process/github_process.py
✅ scripts/2-process/wikipedia_process.py
✅ scripts/3-report/gcs_report.py
✅ scripts/3-report/github_report.py
✅ scripts/3-report/notes.py
✅ scripts/3-report/wikipedia_report.py
exit status: 0

Checklist

  • I have read and understood the Developer Certificate of Origin (DCO), below, which covers the contents of this pull request (PR).
  • My pull request doesn't include code or content generated with AI.
  • My pull request has a descriptive title (not a vague title like Update index.md).
  • My pull request targets the default branch of the repository (main or master).
  • My commit messages follow best practices.
  • My code follows the established code style of the repository.
  • I added or updated unit tests and/or test scripts for the changes I made (if applicable).
  • I added or updated documentation (if applicable).
  • I tried running the project locally and verified that there are no
    visible errors.

Developer Certificate of Origin

For the purposes of this DCO, "license" is equivalent to "license or public domain dedication," and "open source license" is equivalent to "open content license or public domain dedication."

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.


Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

- remove unused/unneeded Python modules
  - only kept modules needed by scripts in dev/ and scripts/
  - python-dotenv is redundant with pipenv: https://pipenv.pypa.io/en/stable/shell.html#automatic-loading-of-env-files
    - removed from scripts
  - process
    1. modified `Pipfile`
    2. `pipenv clean`
- update Python modules
  - `pipenv update --dev`
@TimidRobot TimidRobot self-assigned this Jan 12, 2026
@TimidRobot TimidRobot requested review from a team as code owners January 12, 2026 06:40
@github-project-automation github-project-automation bot moved this to Triage in TimidRobot Jan 12, 2026
@TimidRobot TimidRobot merged commit 925e721 into main Jan 12, 2026
2 checks passed
@TimidRobot TimidRobot deleted the update-cleanup-python-modules branch January 12, 2026 14:05
@github-project-automation github-project-automation bot moved this from Triage to Done in TimidRobot Jan 12, 2026
@TimidRobot
Copy link
Member Author

@oree-xx you'll probably want to run pipenv sync --dev after you fetch/merge these changes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants