cboettig commited on
Commit
1aa7583
1 Parent(s): eac0cee
Files changed (3) hide show
  1. app.py +40 -35
  2. requirements.txt +435 -3
  3. static-maps.ipynb +98 -59
app.py CHANGED
@@ -1,44 +1,30 @@
 
 
 
 
 
 
 
 
1
  '''
2
  # LandVote Prototype
3
 
4
  '''
5
 
6
- import ibis
7
- from ibis import _
8
- import streamlit as st
9
 
10
- conn = ibis.duckdb.connect(extensions=["spatial"])
11
 
12
- state_boundaries = "https://data.source.coop/cboettig/us-boundaries/us-state-territory.parquet"
13
- county_boundaries = "https://data.source.coop/cboettig/us-boundaries/us-county.parquet"
14
- states = conn.read_parquet(state_boundaries).rename(state_id = "STUSPS", state = "NAME")
15
- county = conn.read_parquet(county_boundaries).rename(county = "NAMELSAD", state = "STATE_NAME")
16
 
17
- votes = conn.read_csv("landvote.csv")
18
- votes.count().execute()
19
 
20
- vote = (votes
21
- .filter(_["Jurisdiction Type"] == "County")
22
- .rename(county = "Jurisdiction Name", state_id = "State")
23
- .mutate(key = _.county + ibis.literal('-') + _.state_id)
24
- .rename(amount = 'Conservation Funds at Stake', yes = '% Yes')
25
- .mutate(amount_n=_.amount.replace('$', '').replace(',', '').cast('float'))
26
- .mutate(log_amount=_.amount_n.log())
27
- .mutate(year=_['Date'].year().cast('int32'))
28
- .select('key', 'Status', 'yes', 'year', 'amount', 'log_amount', )
29
- )
30
- df = (county
31
- .join(states.select("state", "state_id"), "state")
32
- .mutate(key = _.county + ibis.literal('-') + _.state_id)
33
- .select('key', 'geometry')
34
- .right_join(vote, "key")
35
- .drop('key_right')
36
- )
37
 
38
- year = st.slider("Select a year", min_value=1988, max_value=2024, value=2022, step=1)
39
- gdf = df.filter(_.year==year).execute()
40
 
 
41
 
 
 
42
 
43
  outcome = [
44
  'match',
@@ -51,12 +37,31 @@ paint = {"fill-extrusion-color": outcome,
51
  "fill-extrusion-opacity": 0.7,
52
  "fill-extrusion-height": ["*", ["get", "log_amount"], 5000],
53
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54
 
55
- #m.add_geojson("vote.geojson")
56
- import leafmap.maplibregl as leafmap
57
- m = leafmap.Map(style="positron")
58
- m.add_gdf(gdf, "fill-extrusion", paint = paint)
 
 
 
 
 
59
  m.to_streamlit()
60
 
61
-
62
-
 
1
+ import ibis
2
+ from ibis import _
3
+ import streamlit as st
4
+
5
+ st.set_page_config(layout="wide",
6
+ page_title="TPL LandVote",
7
+ page_icon=":globe:")
8
+
9
  '''
10
  # LandVote Prototype
11
 
12
  '''
13
 
 
 
 
14
 
 
15
 
 
 
 
 
16
 
17
+ year = st.slider("Select a year", min_value=1988, max_value=2024, value=2022, step=2)
18
+ #gdf = df.filter(_.year==year).execute()
19
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
 
21
+ import leafmap.maplibregl as leafmap
22
+ m = leafmap.Map(style="positron")
23
 
24
+ url = "https://huggingface.co/datasets/boettiger-lab/landvote/resolve/main/vote.pmtiles"
25
 
26
+ #gdf = df.filter(_.year==1988).execute()
27
+ #gdf.to_file("vote.geojson")
28
 
29
  outcome = [
30
  'match',
 
37
  "fill-extrusion-opacity": 0.7,
38
  "fill-extrusion-height": ["*", ["get", "log_amount"], 5000],
39
  }
40
+ style = {
41
+ "layers": [
42
+ {
43
+ "id": "votes",
44
+ "source": "vote",
45
+ "source-layer": "vote",
46
+ "type": "fill-extrusion",
47
+ "filter": [
48
+ "==",
49
+ ["get", "year"],
50
+ year,
51
+ ], # only show buildings with height info
52
+ "paint": paint
53
+ },
54
+ ],
55
+ }
56
 
57
+ m.add_pmtiles(
58
+ url,
59
+ style=style,
60
+ visible=True,
61
+ opacity=1.0,
62
+ tooltip=True,
63
+ fit_bounds=True,
64
+ )
65
+ #m.add_layer_control()
66
  m.to_streamlit()
67
 
 
 
requirements.txt CHANGED
@@ -1,3 +1,435 @@
1
- leafmap[maplibre]
2
- ibis-framework[duckdb]
3
- streamlit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ absl-py==2.1.0
2
+ affine @ file:///home/conda/feedstock_root/build_artifacts/affine_1674245120525/work
3
+ aiobotocore @ file:///home/conda/feedstock_root/build_artifacts/aiobotocore_1726992157054/work
4
+ aiohappyeyeballs @ file:///home/conda/feedstock_root/build_artifacts/aiohappyeyeballs_1727779797566/work
5
+ aiohttp @ file:///home/conda/feedstock_root/build_artifacts/aiohttp_1728629009175/work
6
+ aioitertools @ file:///home/conda/feedstock_root/build_artifacts/aioitertools_1727030270694/work
7
+ aiosignal @ file:///home/conda/feedstock_root/build_artifacts/aiosignal_1667935791922/work
8
+ aiosqlite @ file:///home/conda/feedstock_root/build_artifacts/aiosqlite_1682491975081/work
9
+ alembic @ file:///home/conda/feedstock_root/build_artifacts/alembic_1727122811080/work
10
+ altair @ file:///home/conda/feedstock_root/build_artifacts/altair-split_1727892028500/work
11
+ aniso8601 @ file:///home/conda/feedstock_root/build_artifacts/aniso8601_1618789466884/work
12
+ annotated-types @ file:///home/conda/feedstock_root/build_artifacts/annotated-types_1716290248287/work
13
+ anyio @ file:///home/conda/feedstock_root/build_artifacts/anyio_1726931217849/work
14
+ anywidget @ file:///home/conda/feedstock_root/build_artifacts/anywidget_1719028522224/work
15
+ appdirs @ file:///home/conda/feedstock_root/build_artifacts/appdirs_1603108395799/work
16
+ archspec @ file:///home/conda/feedstock_root/build_artifacts/archspec_1708969572489/work
17
+ argcomplete @ file:///home/conda/feedstock_root/build_artifacts/argcomplete_1728338986254/work
18
+ argon2-cffi @ file:///home/conda/feedstock_root/build_artifacts/argon2-cffi_1692818318753/work
19
+ argon2-cffi-bindings @ file:///home/conda/feedstock_root/build_artifacts/argon2-cffi-bindings_1725356582126/work
20
+ arrow @ file:///home/conda/feedstock_root/build_artifacts/arrow_1696128962909/work
21
+ asciitree==0.3.3
22
+ asgiref @ file:///home/conda/feedstock_root/build_artifacts/asgiref_1711268871457/work
23
+ asttokens @ file:///home/conda/feedstock_root/build_artifacts/asttokens_1698341106958/work
24
+ async-lru @ file:///home/conda/feedstock_root/build_artifacts/async-lru_1690563019058/work
25
+ async-timeout @ file:///home/conda/feedstock_root/build_artifacts/async-timeout_1691763562544/work
26
+ async_generator @ file:///home/conda/feedstock_root/build_artifacts/async_generator_1722652753231/work
27
+ atpublic @ file:///home/conda/feedstock_root/build_artifacts/atpublic_1725678963787/work
28
+ attrs @ file:///home/conda/feedstock_root/build_artifacts/attrs_1722977137225/work
29
+ awscliv2 @ file:///home/conda/feedstock_root/build_artifacts/awscliv2_1725547372644/work
30
+ Babel @ file:///home/conda/feedstock_root/build_artifacts/babel_1702422572539/work
31
+ beautifulsoup4 @ file:///home/conda/feedstock_root/build_artifacts/beautifulsoup4_1705564648255/work
32
+ bidict @ file:///home/conda/feedstock_root/build_artifacts/bidict_1708298236075/work
33
+ bleach @ file:///home/conda/feedstock_root/build_artifacts/bleach_1696630167146/work
34
+ blinker @ file:///home/conda/feedstock_root/build_artifacts/blinker_1715091184126/work
35
+ bokeh @ file:///home/conda/feedstock_root/build_artifacts/bokeh_1724417487351/work
36
+ boltons @ file:///home/conda/feedstock_root/build_artifacts/boltons_1711936407380/work
37
+ botocore @ file:///home/conda/feedstock_root/build_artifacts/botocore_1726816805788/work
38
+ Bottleneck @ file:///home/conda/feedstock_root/build_artifacts/bottleneck_1725351331395/work
39
+ bounded-pool-executor @ file:///home/conda/feedstock_root/build_artifacts/bounded-pool-executor_1635175150479/work
40
+ bqplot @ file:///home/conda/feedstock_root/build_artifacts/bqplot_1708360961663/work
41
+ branca @ file:///home/conda/feedstock_root/build_artifacts/branca_1714071803448/work
42
+ Brotli @ file:///home/conda/feedstock_root/build_artifacts/brotli-split_1725267488082/work
43
+ cached-property @ file:///home/conda/feedstock_root/build_artifacts/cached_property_1615209429212/work
44
+ cachelib @ file:///home/conda/feedstock_root/build_artifacts/cachelib_1656415443171/work
45
+ cachetools @ file:///home/conda/feedstock_root/build_artifacts/cachetools_1724028158384/work
46
+ certifi @ file:///home/conda/feedstock_root/build_artifacts/certifi_1725278078093/work/certifi
47
+ certipy @ file:///home/conda/feedstock_root/build_artifacts/certipy_1726467183730/work
48
+ cffi @ file:///home/conda/feedstock_root/build_artifacts/cffi_1725560564262/work
49
+ cftime @ file:///home/conda/feedstock_root/build_artifacts/cftime_1725400458727/work
50
+ chardet @ file:///home/conda/feedstock_root/build_artifacts/chardet_1724954797915/work
51
+ charset-normalizer @ file:///home/conda/feedstock_root/build_artifacts/charset-normalizer_1728479282467/work
52
+ click @ file:///home/conda/feedstock_root/build_artifacts/click_1692311806742/work
53
+ click-plugins==1.1.1
54
+ cligj @ file:///home/conda/feedstock_root/build_artifacts/cligj_1633637764473/work
55
+ cloudpickle @ file:///home/conda/feedstock_root/build_artifacts/cloudpickle_1697464713350/work
56
+ color-operations @ file:///home/conda/feedstock_root/build_artifacts/color-operations_1726725548781/work
57
+ colorama @ file:///home/conda/feedstock_root/build_artifacts/colorama_1666700638685/work
58
+ colorlog @ file:///home/conda/feedstock_root/build_artifacts/colorlog_1724959707979/work
59
+ colour @ file:///home/conda/feedstock_root/build_artifacts/colour_1700634653969/work
60
+ comm @ file:///home/conda/feedstock_root/build_artifacts/comm_1710320294760/work
61
+ conda @ file:///home/conda/feedstock_root/build_artifacts/conda_1727884739218/work
62
+ conda-libmamba-solver @ file:///home/conda/feedstock_root/build_artifacts/conda-libmamba-solver_1727359833193/work/src
63
+ conda-package-handling @ file:///home/conda/feedstock_root/build_artifacts/conda-package-handling_1717678605937/work
64
+ conda_package_streaming @ file:///home/conda/feedstock_root/build_artifacts/conda-package-streaming_1717678526951/work
65
+ contourpy @ file:///home/conda/feedstock_root/build_artifacts/contourpy_1727293532078/work
66
+ cryptography @ file:///home/conda/feedstock_root/build_artifacts/cryptography-split_1725443043614/work
67
+ cycler @ file:///home/conda/feedstock_root/build_artifacts/cycler_1696677705766/work
68
+ Cython @ file:///home/conda/feedstock_root/build_artifacts/cython_1727455855473/work
69
+ cytoolz @ file:///home/conda/feedstock_root/build_artifacts/cytoolz_1728334993796/work
70
+ dask @ file:///home/conda/feedstock_root/build_artifacts/dask-core_1727485660488/work
71
+ dask-expr @ file:///home/conda/feedstock_root/build_artifacts/dask-expr_1727489950073/work
72
+ dataclasses-json @ file:///home/conda/feedstock_root/build_artifacts/dataclasses-json_1717969336599/work
73
+ debugpy @ file:///home/conda/feedstock_root/build_artifacts/debugpy_1727240597731/work
74
+ decorator @ file:///home/conda/feedstock_root/build_artifacts/decorator_1641555617451/work
75
+ deepmerge @ file:///home/conda/feedstock_root/build_artifacts/deepmerge_1702941685750/work
76
+ defusedxml @ file:///home/conda/feedstock_root/build_artifacts/defusedxml_1615232257335/work
77
+ dill @ file:///home/conda/feedstock_root/build_artifacts/dill_1727594984357/work
78
+ distlib @ file:///home/conda/feedstock_root/build_artifacts/distlib_1728557174656/work
79
+ distributed @ file:///home/conda/feedstock_root/build_artifacts/distributed_1727489907026/work
80
+ distro @ file:///home/conda/feedstock_root/build_artifacts/distro_1704321475663/work
81
+ dm-tree==0.1.8
82
+ duckdb @ file:///home/conda/feedstock_root/build_artifacts/python-duckdb-split_1727810932838/work/tools/pythonpkg
83
+ earthaccess @ file:///home/conda/feedstock_root/build_artifacts/earthaccess_1727892006910/work
84
+ entrypoints @ file:///home/conda/feedstock_root/build_artifacts/entrypoints_1643888246732/work
85
+ et-xmlfile @ file:///home/conda/feedstock_root/build_artifacts/et_xmlfile_1674664118162/work
86
+ exceptiongroup @ file:///home/conda/feedstock_root/build_artifacts/exceptiongroup_1720869315914/work
87
+ executing @ file:///home/conda/feedstock_root/build_artifacts/executing_1725214404607/work
88
+ faiss-cpu==1.8.0
89
+ Farama-Notifications==0.0.4
90
+ fasteners @ file:///home/conda/feedstock_root/build_artifacts/fasteners_1643971550063/work
91
+ fastjsonschema @ file:///home/conda/feedstock_root/build_artifacts/python-fastjsonschema_1718477020893/work/dist
92
+ filelock @ file:///home/conda/feedstock_root/build_artifacts/filelock_1726613473834/work
93
+ fiona @ file:///home/conda/feedstock_root/build_artifacts/fiona_1726664258422/work
94
+ Flask @ file:///home/conda/feedstock_root/build_artifacts/flask_1712667726126/work
95
+ Flask-Caching @ file:///home/conda/feedstock_root/build_artifacts/flask-caching_1696798305574/work
96
+ Flask-Cors @ file:///home/conda/feedstock_root/build_artifacts/flask-cors_1725086079197/work
97
+ flask-restx @ file:///home/conda/feedstock_root/build_artifacts/flask-restx_1676969126994/work
98
+ folium @ file:///home/conda/feedstock_root/build_artifacts/folium_1718605969954/work
99
+ fonttools @ file:///home/conda/feedstock_root/build_artifacts/fonttools_1727206321705/work
100
+ fqdn @ file:///home/conda/feedstock_root/build_artifacts/fqdn_1638810296540/work/dist
101
+ frozendict @ file:///home/conda/feedstock_root/build_artifacts/frozendict_1728299932037/work
102
+ frozenlist @ file:///home/conda/feedstock_root/build_artifacts/frozenlist_1725395662429/work
103
+ fsspec @ file:///home/conda/feedstock_root/build_artifacts/fsspec_1725543257300/work
104
+ GDAL @ file:///home/conda/feedstock_root/build_artifacts/libgdal-core_1728291243981/work/build/swig/python
105
+ gdown @ file:///home/conda/feedstock_root/build_artifacts/gdown_1715510831822/work
106
+ geocube @ file:///home/conda/feedstock_root/build_artifacts/geocube_1719371881765/work
107
+ geojson @ file:///home/conda/feedstock_root/build_artifacts/geojson_1699269511365/work
108
+ geopandas @ file:///home/conda/feedstock_root/build_artifacts/geopandas_1714335488963/work
109
+ gh-scoped-creds @ file:///home/conda/feedstock_root/build_artifacts/gh-scoped-creds_1650577679206/work
110
+ gitdb @ file:///home/conda/feedstock_root/build_artifacts/gitdb_1697791558612/work
111
+ GitPython @ file:///home/conda/feedstock_root/build_artifacts/gitpython_1711991025291/work
112
+ Glances @ file:///home/conda/feedstock_root/build_artifacts/glances_1711289176734/work
113
+ gmpy2 @ file:///home/conda/feedstock_root/build_artifacts/gmpy2_1725379831219/work
114
+ graphviz @ file:///home/conda/feedstock_root/build_artifacts/python-graphviz_1727718607478/work
115
+ greenlet @ file:///home/conda/feedstock_root/build_artifacts/greenlet_1726922179729/work
116
+ grpcio==1.66.2
117
+ gymnasium==0.28.1
118
+ h11 @ file:///home/conda/feedstock_root/build_artifacts/h11_1664132893548/work
119
+ h2 @ file:///home/conda/feedstock_root/build_artifacts/h2_1634280454336/work
120
+ h5py @ file:///home/conda/feedstock_root/build_artifacts/h5py_1717664837666/work
121
+ hpack==4.0.0
122
+ htmltools @ file:///home/conda/feedstock_root/build_artifacts/htmltools_1721404317281/work
123
+ httpcore @ file:///home/conda/feedstock_root/build_artifacts/httpcore_1727820890233/work
124
+ httpx @ file:///home/conda/feedstock_root/build_artifacts/httpx_1724778349782/work
125
+ huggingface-sb3==3.0
126
+ huggingface_hub @ file:///home/conda/feedstock_root/build_artifacts/huggingface_hub_1728485344216/work
127
+ humanize @ file:///home/conda/feedstock_root/build_artifacts/humanize_1728149921008/work
128
+ hyperframe @ file:///home/conda/feedstock_root/build_artifacts/hyperframe_1619110129307/work
129
+ ibis-framework @ file:///home/conda/feedstock_root/build_artifacts/ibis-framework-ext_1726155380758/work
130
+ idna @ file:///home/conda/feedstock_root/build_artifacts/idna_1726459485162/work
131
+ imagecodecs @ file:///home/conda/feedstock_root/build_artifacts/imagecodecs_1728267279537/work
132
+ imageio @ file:///home/conda/feedstock_root/build_artifacts/imageio_1724069053555/work
133
+ importlib_metadata @ file:///home/conda/feedstock_root/build_artifacts/importlib-metadata_1719171233697/work
134
+ importlib_resources @ file:///home/conda/feedstock_root/build_artifacts/importlib_resources_1725921340658/work
135
+ iniconfig @ file:///home/conda/feedstock_root/build_artifacts/iniconfig_1673103042956/work
136
+ ipyevents @ file:///home/conda/feedstock_root/build_artifacts/ipyevents_1692625602943/work
137
+ ipyfilechooser @ file:///home/conda/feedstock_root/build_artifacts/ipyfilechooser_1631745918830/work
138
+ ipykernel @ file:///home/conda/feedstock_root/build_artifacts/ipykernel_1719845459717/work
139
+ ipyleaflet @ file:///home/conda/feedstock_root/build_artifacts/ipyleaflet-packages_1721650855317/work/ipyleaflet
140
+ ipympl @ file:///home/conda/feedstock_root/build_artifacts/ipympl_1713251546026/work
141
+ ipysheet @ file:///home/conda/feedstock_root/build_artifacts/ipysheet_1669647249569/work
142
+ ipython @ file:///home/conda/feedstock_root/build_artifacts/ipython_1727944696411/work
143
+ ipython_genutils @ file:///home/conda/feedstock_root/build_artifacts/ipython_genutils_1716278396992/work
144
+ ipytree @ file:///home/conda/feedstock_root/build_artifacts/ipytree_1661272736017/work
145
+ ipyvue @ file:///home/conda/feedstock_root/build_artifacts/ipyvue_1713517262033/work
146
+ ipyvuetify @ file:///home/conda/feedstock_root/build_artifacts/ipyvuetify_1722630078727/work
147
+ ipywidgets @ file:///home/conda/feedstock_root/build_artifacts/ipywidgets_1724334859652/work
148
+ isoduration @ file:///home/conda/feedstock_root/build_artifacts/isoduration_1638811571363/work/dist
149
+ itsdangerous @ file:///home/conda/feedstock_root/build_artifacts/itsdangerous_1713372668944/work
150
+ jax-jumpy==1.0.0
151
+ jedi @ file:///home/conda/feedstock_root/build_artifacts/jedi_1696326070614/work
152
+ Jinja2 @ file:///home/conda/feedstock_root/build_artifacts/jinja2_1715127149914/work
153
+ jiter==0.6.1
154
+ jmespath @ file:///home/conda/feedstock_root/build_artifacts/jmespath_1655568249366/work
155
+ joblib @ file:///home/conda/feedstock_root/build_artifacts/joblib_1714665484399/work
156
+ json5 @ file:///home/conda/feedstock_root/build_artifacts/json5_1712986206667/work
157
+ jsonpatch @ file:///home/conda/feedstock_root/build_artifacts/jsonpatch_1695536281965/work
158
+ jsonpath-ng @ file:///home/conda/feedstock_root/build_artifacts/jsonpath-ng_1705008192957/work
159
+ jsonpointer @ file:///home/conda/feedstock_root/build_artifacts/jsonpointer_1725302941992/work
160
+ jsonschema @ file:///home/conda/feedstock_root/build_artifacts/jsonschema_1720529478715/work
161
+ jsonschema-specifications @ file:///tmp/tmpvslgxhz5/src
162
+ jupyter-events @ file:///home/conda/feedstock_root/build_artifacts/jupyter_events_1710805637316/work
163
+ jupyter-leaflet @ file:///home/conda/feedstock_root/build_artifacts/ipyleaflet-packages_1721650855317/work/jupyter_leaflet
164
+ jupyter-lsp @ file:///home/conda/feedstock_root/build_artifacts/jupyter-lsp-meta_1712707420468/work/jupyter-lsp
165
+ jupyter-resource-usage @ file:///home/conda/feedstock_root/build_artifacts/jupyter-resource-usage_1722428608354/work
166
+ jupyter-server-mathjax @ file:///home/conda/feedstock_root/build_artifacts/jupyter-server-mathjax_1672324512570/work
167
+ jupyter-tensorboard-proxy==0.1.1
168
+ jupyter_ai @ file:///home/conda/feedstock_root/build_artifacts/jupyter-ai_1726085544017/work
169
+ jupyter_ai_magics @ file:///home/conda/feedstock_root/build_artifacts/jupyter-ai-magics_1726083421803/work
170
+ jupyter_ai_nrp @ git+https://gitlab.nrp-nautilus.io/prp/jupyter-ai-nrp@9d10744ad3b9f8de9dece3fd1899f1a2d9d41a77
171
+ jupyter_client @ file:///home/conda/feedstock_root/build_artifacts/jupyter_client_1726610684920/work
172
+ jupyter_core @ file:///home/conda/feedstock_root/build_artifacts/jupyter_core_1727163409502/work
173
+ jupyter_server @ file:///home/conda/feedstock_root/build_artifacts/jupyter_server_1720816649297/work
174
+ jupyter_server_proxy @ file:///home/conda/feedstock_root/build_artifacts/jupyter-server-proxy_1724937722970/work
175
+ jupyter_server_terminals @ file:///home/conda/feedstock_root/build_artifacts/jupyter_server_terminals_1710262634903/work
176
+ jupyter_vscode_proxy @ file:///home/conda/feedstock_root/build_artifacts/jupyter-vscode-proxy_1715196357373/work
177
+ jupyterhub @ file:///home/conda/feedstock_root/build_artifacts/jupyterhub-feedstock_1727865753330/work
178
+ jupyterlab @ file:///home/conda/feedstock_root/build_artifacts/jupyterlab_1724745148804/work
179
+ jupyterlab_git @ file:///home/conda/feedstock_root/build_artifacts/jupyterlab-git_1720358782306/work
180
+ jupyterlab_myst @ file:///home/conda/feedstock_root/build_artifacts/jupyterlab-myst_1714145952661/work
181
+ jupyterlab_pygments @ file:///home/conda/feedstock_root/build_artifacts/jupyterlab_pygments_1707149102966/work
182
+ jupyterlab_server @ file:///home/conda/feedstock_root/build_artifacts/jupyterlab_server-split_1721163288448/work
183
+ jupyterlab_widgets @ file:///home/conda/feedstock_root/build_artifacts/jupyterlab_widgets_1724331334887/work
184
+ kiwisolver @ file:///home/conda/feedstock_root/build_artifacts/kiwisolver_1725459263097/work
185
+ langchain @ file:///home/conda/feedstock_root/build_artifacts/langchain_1725420070071/work
186
+ langchain-community @ file:///home/conda/feedstock_root/build_artifacts/langchain-community_1725440093359/work
187
+ langchain-core @ file:///home/conda/feedstock_root/build_artifacts/langchain-core_1726420054763/work
188
+ langchain-ollama==0.1.3
189
+ langchain-openai==0.1.25
190
+ langchain-text-splitters @ file:///home/conda/feedstock_root/build_artifacts/langchain-text-splitters_1726389202049/work
191
+ langsmith @ file:///home/conda/feedstock_root/build_artifacts/langsmith_1727415227475/work
192
+ lazy_loader @ file:///home/conda/feedstock_root/build_artifacts/lazy-loader_1723774329602/work
193
+ leafmap @ file:///home/conda/feedstock_root/build_artifacts/leafmap_1728457262216/work
194
+ libmambapy @ file:///home/conda/feedstock_root/build_artifacts/mamba-split_1727883551957/work/libmambapy
195
+ linkify-it-py @ file:///home/conda/feedstock_root/build_artifacts/linkify-it-py_1707129103613/work
196
+ llvmlite==0.43.0
197
+ localtileserver @ file:///home/conda/feedstock_root/build_artifacts/localtileserver_1715949430986/work
198
+ locket @ file:///home/conda/feedstock_root/build_artifacts/locket_1650660393415/work
199
+ lz4 @ file:///home/conda/feedstock_root/build_artifacts/lz4_1725089410218/work
200
+ Mako @ file:///home/conda/feedstock_root/build_artifacts/mako_1715711344987/work
201
+ mamba @ file:///home/conda/feedstock_root/build_artifacts/mamba-split_1727883551957/work/mamba
202
+ mapclassify @ file:///home/conda/feedstock_root/build_artifacts/mapclassify_1727220737966/work
203
+ maplibre @ file:///home/conda/feedstock_root/build_artifacts/maplibre_1719930313407/work
204
+ Markdown==3.7
205
+ markdown-it-py @ file:///home/conda/feedstock_root/build_artifacts/markdown-it-py_1686175045316/work
206
+ MarkupSafe @ file:///home/conda/feedstock_root/build_artifacts/markupsafe_1728433796036/work
207
+ marshmallow @ file:///home/conda/feedstock_root/build_artifacts/marshmallow_1724260952329/work
208
+ matplotlib==3.9.2
209
+ matplotlib-inline @ file:///home/conda/feedstock_root/build_artifacts/matplotlib-inline_1713250518406/work
210
+ mdit-py-plugins @ file:///home/conda/feedstock_root/build_artifacts/mdit-py-plugins_1725995206295/work
211
+ mdurl @ file:///home/conda/feedstock_root/build_artifacts/mdurl_1704317613764/work
212
+ menuinst @ file:///home/conda/feedstock_root/build_artifacts/menuinst_1725359023560/work
213
+ minio @ file:///home/conda/feedstock_root/build_artifacts/minio_1727158703964/work
214
+ mistune @ file:///home/conda/feedstock_root/build_artifacts/mistune_1698947099619/work
215
+ mizani @ file:///home/conda/feedstock_root/build_artifacts/mizani_1716556324931/work
216
+ morecantile @ file:///home/conda/feedstock_root/build_artifacts/morecantile_1724999091726/work
217
+ mpmath @ file:///home/conda/feedstock_root/build_artifacts/mpmath_1678228039184/work
218
+ msgpack @ file:///home/conda/feedstock_root/build_artifacts/msgpack-python_1725974992554/work
219
+ multidict @ file:///home/conda/feedstock_root/build_artifacts/multidict_1725953647540/work
220
+ multimethod @ file:///home/conda/feedstock_root/build_artifacts/multimethod_1720447581385/work
221
+ multipledispatch @ file:///home/conda/feedstock_root/build_artifacts/multipledispatch_1721907546485/work
222
+ munkres==1.1.4
223
+ mypy-extensions @ file:///home/conda/feedstock_root/build_artifacts/mypy_extensions_1675543315189/work
224
+ narwhals @ file:///home/conda/feedstock_root/build_artifacts/narwhals_1728477072018/work
225
+ nbclassic @ file:///home/conda/feedstock_root/build_artifacts/nbclassic_1716838762700/work
226
+ nbclient @ file:///home/conda/feedstock_root/build_artifacts/nbclient_1710317608672/work
227
+ nbconvert @ file:///home/conda/feedstock_root/build_artifacts/nbconvert-meta_1718135430380/work
228
+ nbdime @ file:///home/conda/feedstock_root/build_artifacts/nbdime_1725627669057/work
229
+ nbformat @ file:///home/conda/feedstock_root/build_artifacts/nbformat_1712238998817/work
230
+ nest_asyncio @ file:///home/conda/feedstock_root/build_artifacts/nest-asyncio_1705850609492/work
231
+ netCDF4 @ file:///home/conda/feedstock_root/build_artifacts/netcdf4_1725449913715/work
232
+ networkx @ file:///home/conda/feedstock_root/build_artifacts/networkx_1712540363324/work
233
+ notebook @ file:///home/conda/feedstock_root/build_artifacts/notebook_1724861303656/work
234
+ notebook_shim @ file:///home/conda/feedstock_root/build_artifacts/notebook-shim_1707957777232/work
235
+ nox @ file:///home/conda/feedstock_root/build_artifacts/nox_1728497574251/work
236
+ numba @ file:///home/conda/feedstock_root/build_artifacts/numba_1718888020163/work
237
+ numcodecs @ file:///home/conda/feedstock_root/build_artifacts/numcodecs_1728547499021/work
238
+ numexpr @ file:///home/conda/feedstock_root/build_artifacts/numexpr_1716812153765/work
239
+ numpy @ file:///home/conda/feedstock_root/build_artifacts/numpy_1707225376651/work/dist/numpy-1.26.4-cp311-cp311-linux_x86_64.whl#sha256=d08e1c9e5833ae7780563812aa73e2497db1ee3bd5510d3becb8aa18aa2d0c7c
240
+ nvidia-cublas-cu12==12.1.3.1
241
+ nvidia-cuda-cupti-cu12==12.1.105
242
+ nvidia-cuda-nvrtc-cu12==12.1.105
243
+ nvidia-cuda-runtime-cu12==12.1.105
244
+ nvidia-cudnn-cu12==9.1.0.70
245
+ nvidia-cufft-cu12==11.0.2.54
246
+ nvidia-curand-cu12==10.3.2.106
247
+ nvidia-cusolver-cu12==11.4.5.107
248
+ nvidia-cusparse-cu12==12.1.0.106
249
+ nvidia-ml-py @ file:///home/conda/feedstock_root/build_artifacts/nvidia-ml-py_1698947663801/work
250
+ nvidia-nccl-cu12==2.20.5
251
+ nvidia-nvjitlink-cu12==12.6.77
252
+ nvidia-nvtx-cu12==12.1.105
253
+ nvitop @ file:///home/conda/feedstock_root/build_artifacts/nvitop_1726070220625/work
254
+ oauthlib @ file:///home/conda/feedstock_root/build_artifacts/oauthlib_1666056362788/work
255
+ odc-geo @ file:///home/conda/feedstock_root/build_artifacts/odc-geo_1721211098604/work
256
+ odc-stac @ file:///home/conda/feedstock_root/build_artifacts/odc-stac_1719873181514/work
257
+ ollama==0.3.3
258
+ openai==1.51.2
259
+ openpyxl @ file:///home/conda/feedstock_root/build_artifacts/openpyxl_1725460837567/work
260
+ orjson @ file:///home/conda/feedstock_root/build_artifacts/orjson_1723206074585/work/target/wheels/orjson-3.10.7-cp311-cp311-linux_x86_64.whl#sha256=a1f03bf5b58941a9f71b3a25fd9c439871d736c255820bef2a986de687b15eda
261
+ overrides @ file:///home/conda/feedstock_root/build_artifacts/overrides_1706394519472/work
262
+ packaging @ file:///home/conda/feedstock_root/build_artifacts/packaging_1718189413536/work
263
+ pamela @ file:///home/conda/feedstock_root/build_artifacts/pamela_1723212587578/work
264
+ pandas @ file:///home/conda/feedstock_root/build_artifacts/pandas_1726878443020/work
265
+ pandocfilters @ file:///home/conda/feedstock_root/build_artifacts/pandocfilters_1631603243851/work
266
+ parso @ file:///home/conda/feedstock_root/build_artifacts/parso_1712320355065/work
267
+ parsy @ file:///home/conda/feedstock_root/build_artifacts/parsy_1677097220753/work
268
+ partd @ file:///home/conda/feedstock_root/build_artifacts/partd_1715026491486/work
269
+ patsy @ file:///home/conda/feedstock_root/build_artifacts/patsy_1704469236901/work
270
+ pexpect @ file:///home/conda/feedstock_root/build_artifacts/pexpect_1706113125309/work
271
+ pickleshare @ file:///home/conda/feedstock_root/build_artifacts/pickleshare_1602536217715/work
272
+ pillow @ file:///home/conda/feedstock_root/build_artifacts/pillow_1726075068638/work
273
+ pins @ file:///home/conda/feedstock_root/build_artifacts/pins_1715736000621/work
274
+ pkgutil_resolve_name @ file:///home/conda/feedstock_root/build_artifacts/pkgutil-resolve-name_1694617248815/work
275
+ planetary-computer @ file:///home/conda/feedstock_root/build_artifacts/planetary-computer_1689072433734/work
276
+ platformdirs @ file:///home/conda/feedstock_root/build_artifacts/platformdirs_1726613481435/work
277
+ plotly @ file:///home/conda/feedstock_root/build_artifacts/plotly_1726179518483/work
278
+ plotnine @ file:///home/conda/feedstock_root/build_artifacts/plotnine_1726827764925/work
279
+ pluggy @ file:///home/conda/feedstock_root/build_artifacts/pluggy_1713667077545/work
280
+ ply @ file:///home/conda/feedstock_root/build_artifacts/ply_1712242996588/work
281
+ pmtiles @ file:///home/conda/feedstock_root/build_artifacts/pmtiles_1724312791842/work
282
+ polars @ file:///home/conda/feedstock_root/build_artifacts/polars_1727892410155/work
283
+ pqdm @ file:///home/conda/feedstock_root/build_artifacts/pqdm_1686398029783/work
284
+ prometheus_client @ file:///home/conda/feedstock_root/build_artifacts/prometheus_client_1726901976720/work
285
+ prompt_toolkit @ file:///home/conda/feedstock_root/build_artifacts/prompt-toolkit_1727341649933/work
286
+ propcache @ file:///home/conda/feedstock_root/build_artifacts/propcache_1728545730318/work
287
+ protobuf @ file:///home/conda/feedstock_root/build_artifacts/protobuf_1727108809943/work/bazel-bin/python/dist/protobuf-5.27.5-cp311-abi3-linux_x86_64.whl#sha256=c48e8756e6238c9f7cfb54d45193673fec655d8b1bb54bb384b47adef82d3e5e
288
+ pscript @ file:///home/conda/feedstock_root/build_artifacts/pscript_1664225804687/work
289
+ psutil @ file:///home/conda/feedstock_root/build_artifacts/psutil_1705722403006/work
290
+ psygnal @ file:///home/conda/feedstock_root/build_artifacts/psygnal_1715085582749/work
291
+ ptyprocess @ file:///home/conda/feedstock_root/build_artifacts/ptyprocess_1609419310487/work/dist/ptyprocess-0.7.0-py2.py3-none-any.whl
292
+ pure_eval @ file:///home/conda/feedstock_root/build_artifacts/pure_eval_1721585709575/work
293
+ py-cpuinfo @ file:///home/conda/feedstock_root/build_artifacts/py-cpuinfo_1666774466606/work
294
+ pyaml @ file:///home/conda/feedstock_root/build_artifacts/pyaml_1727538843841/work
295
+ pyarrow==17.0.0
296
+ pyarrow-hotfix @ file:///home/conda/feedstock_root/build_artifacts/pyarrow-hotfix_1700596371886/work
297
+ pycosat @ file:///home/conda/feedstock_root/build_artifacts/pycosat_1696355758146/work
298
+ pycparser @ file:///home/conda/feedstock_root/build_artifacts/pycparser_1711811537435/work
299
+ PyCRS==1.0.2
300
+ pycryptodome @ file:///home/conda/feedstock_root/build_artifacts/pycryptodome_1727030783890/work
301
+ pycurl @ file:///home/conda/feedstock_root/build_artifacts/pycurl_1725361486756/work
302
+ pydantic @ file:///home/conda/feedstock_root/build_artifacts/pydantic_1726601062926/work
303
+ pydantic_core @ file:///home/conda/feedstock_root/build_artifacts/pydantic-core_1726524968762/work
304
+ pydeck @ file:///home/conda/feedstock_root/build_artifacts/pydeck_1667589451974/work
305
+ Pygments @ file:///home/conda/feedstock_root/build_artifacts/pygments_1714846767233/work
306
+ PyJWT @ file:///home/conda/feedstock_root/build_artifacts/pyjwt_1722701264352/work
307
+ pyogrio @ file:///home/conda/feedstock_root/build_artifacts/pyogrio_1727771595379/work
308
+ pyparsing @ file:///home/conda/feedstock_root/build_artifacts/pyparsing_1724616129934/work
309
+ pypdf @ file:///home/conda/feedstock_root/build_artifacts/pypdf_1727703728433/work/dist
310
+ pyproj @ file:///home/conda/feedstock_root/build_artifacts/pyproj_1727795327778/work
311
+ pyproject-api @ file:///home/conda/feedstock_root/build_artifacts/pyproject-api_1726749917781/work
312
+ pyshp @ file:///home/conda/feedstock_root/build_artifacts/pyshp_1659002966020/work
313
+ PySocks @ file:///home/conda/feedstock_root/build_artifacts/pysocks_1661604839144/work
314
+ pystac @ file:///home/conda/feedstock_root/build_artifacts/pystac_1728046805313/work
315
+ pystac-client @ file:///home/conda/feedstock_root/build_artifacts/pystac-client_1721721334713/work
316
+ pytest @ file:///home/conda/feedstock_root/build_artifacts/pytest_1725977232342/work
317
+ python-box @ file:///home/conda/feedstock_root/build_artifacts/python-box_1718251525529/work
318
+ python-cmr @ file:///home/conda/feedstock_root/build_artifacts/python-cmr_1726315335886/work
319
+ python-dateutil @ file:///home/conda/feedstock_root/build_artifacts/python-dateutil_1709299778482/work
320
+ python-dotenv @ file:///home/conda/feedstock_root/build_artifacts/python-dotenv-split_1706018097647/work
321
+ python-json-logger @ file:///home/conda/feedstock_root/build_artifacts/python-json-logger_1677079630776/work
322
+ python-multipart @ file:///home/conda/feedstock_root/build_artifacts/python-multipart_1727678737599/work
323
+ pytz @ file:///home/conda/feedstock_root/build_artifacts/pytz_1706886791323/work
324
+ PyWavelets==1.7.0
325
+ PyYAML @ file:///home/conda/feedstock_root/build_artifacts/pyyaml_1725456139051/work
326
+ pyzmq @ file:///home/conda/feedstock_root/build_artifacts/pyzmq_1725448927736/work
327
+ questionary @ file:///home/conda/feedstock_root/build_artifacts/questionary_1694185122745/work
328
+ rasterio @ file:///home/conda/feedstock_root/build_artifacts/rasterio_1727779744125/work
329
+ rasterstats @ file:///home/conda/feedstock_root/build_artifacts/rasterstats_1727684515773/work
330
+ ray==2.37.0
331
+ referencing @ file:///home/conda/feedstock_root/build_artifacts/referencing_1714619483868/work
332
+ regex @ file:///home/conda/feedstock_root/build_artifacts/regex_1726095583891/work
333
+ requests @ file:///home/conda/feedstock_root/build_artifacts/requests_1717057054362/work
334
+ rfc3339-validator @ file:///home/conda/feedstock_root/build_artifacts/rfc3339-validator_1638811747357/work
335
+ rfc3986-validator @ file:///home/conda/feedstock_root/build_artifacts/rfc3986-validator_1598024191506/work
336
+ rich @ file:///home/conda/feedstock_root/build_artifacts/rich_1728057819683/work/dist
337
+ rio-cogeo @ file:///home/conda/feedstock_root/build_artifacts/rio-cogeo_1728046060301/work
338
+ rio-tiler @ file:///home/conda/feedstock_root/build_artifacts/rio-tiler_1725540277566/work
339
+ rioxarray @ file:///home/conda/feedstock_root/build_artifacts/rioxarray_1721411995887/work
340
+ rpds-py @ file:///home/conda/feedstock_root/build_artifacts/rpds-py_1725327039958/work
341
+ Rtree @ file:///home/conda/feedstock_root/build_artifacts/rtree_1725321001135/work
342
+ ruamel.yaml @ file:///home/conda/feedstock_root/build_artifacts/ruamel.yaml_1707298093865/work
343
+ ruamel.yaml.clib @ file:///home/conda/feedstock_root/build_artifacts/ruamel.yaml.clib_1707314491256/work
344
+ s3fs @ file:///home/conda/feedstock_root/build_artifacts/s3fs_1725639782863/work
345
+ sb3_contrib==2.3.0
346
+ scikit-image @ file:///home/conda/feedstock_root/build_artifacts/scikit-image_1723842196846/work/dist/scikit_image-0.24.0-cp311-cp311-linux_x86_64.whl#sha256=c3407d28796dd3aec9370816604e9e58a66f2df233de265b91b9cedaa5a709f4
347
+ scikit-learn @ file:///home/conda/feedstock_root/build_artifacts/scikit-learn_1726082671679/work/dist/scikit_learn-1.5.2-cp311-cp311-linux_x86_64.whl#sha256=6753395e01c95ce652a857cadd5d2ef87d7e19d2863954ada137ff60e7a181c1
348
+ scikit-optimize @ file:///home/conda/feedstock_root/build_artifacts/scikit-optimize_1717589676915/work
349
+ scipy @ file:///home/conda/feedstock_root/build_artifacts/scipy-split_1724327058754/work/dist/scipy-1.14.1-cp311-cp311-linux_x86_64.whl#sha256=ff8d4f27d1702c9e092c5325489afd2bcb2052209dd223c32b3117415a533a18
350
+ scooby @ file:///home/conda/feedstock_root/build_artifacts/scooby_1714897440316/work
351
+ seaborn @ file:///home/conda/feedstock_root/build_artifacts/seaborn-split_1714494649443/work
352
+ Send2Trash @ file:///home/conda/feedstock_root/build_artifacts/send2trash_1712584999685/work
353
+ server-thread @ file:///home/conda/feedstock_root/build_artifacts/server-thread_1659016507919/work
354
+ shapely @ file:///home/conda/feedstock_root/build_artifacts/shapely_1727273422653/work
355
+ shellingham==1.5.4
356
+ shiny @ file:///home/conda/feedstock_root/build_artifacts/shiny_1725402425170/work
357
+ simpervisor @ file:///home/conda/feedstock_root/build_artifacts/simpervisor_1684441099342/work
358
+ simplejson @ file:///home/conda/feedstock_root/build_artifacts/simplejson_1724955051377/work
359
+ six @ file:///home/conda/feedstock_root/build_artifacts/six_1620240208055/work
360
+ smmap @ file:///home/conda/feedstock_root/build_artifacts/smmap_1634310307496/work
361
+ sniffio @ file:///home/conda/feedstock_root/build_artifacts/sniffio_1708952932303/work
362
+ snuggs @ file:///home/conda/feedstock_root/build_artifacts/snuggs_1722610615774/work
363
+ sortedcontainers @ file:///home/conda/feedstock_root/build_artifacts/sortedcontainers_1621217038088/work
364
+ soupsieve @ file:///home/conda/feedstock_root/build_artifacts/soupsieve_1693929250441/work
365
+ SQLAlchemy @ file:///home/conda/feedstock_root/build_artifacts/sqlalchemy_1726596181667/work
366
+ sqlglot @ file:///home/conda/feedstock_root/build_artifacts/sqlglot_1725660219720/work
367
+ stable_baselines3==2.3.2
368
+ stack-data @ file:///home/conda/feedstock_root/build_artifacts/stack_data_1669632077133/work
369
+ stackstac @ file:///home/conda/feedstock_root/build_artifacts/stackstac_1723457457779/work
370
+ starlette @ file:///home/conda/feedstock_root/build_artifacts/starlette-recipe_1727704425870/work
371
+ statsmodels @ file:///home/conda/feedstock_root/build_artifacts/statsmodels_1727986709728/work
372
+ streamlit @ file:///home/conda/feedstock_root/build_artifacts/streamlit_1727818352917/work
373
+ sympy @ file:///home/conda/feedstock_root/build_artifacts/sympy_1727529700862/work
374
+ tables @ file:///home/conda/feedstock_root/build_artifacts/pytables_1724161064612/work
375
+ tblib @ file:///home/conda/feedstock_root/build_artifacts/tblib_1702066284995/work
376
+ tenacity @ file:///home/conda/feedstock_root/build_artifacts/tenacity_1720351771156/work
377
+ tensorboard==2.18.0
378
+ tensorboard-data-server==0.7.2
379
+ tensorboardX==2.6.2.2
380
+ termcolor @ file:///home/conda/feedstock_root/build_artifacts/termcolor_1728288976871/work
381
+ terminado @ file:///home/conda/feedstock_root/build_artifacts/terminado_1710262609923/work
382
+ threadpoolctl @ file:///home/conda/feedstock_root/build_artifacts/threadpoolctl_1714400101435/work
383
+ tifffile @ file:///home/conda/feedstock_root/build_artifacts/tifffile_1727250434425/work
384
+ tiktoken==0.8.0
385
+ tinycss2 @ file:///home/conda/feedstock_root/build_artifacts/tinycss2_1713974937325/work
386
+ tinynetrc @ file:///home/conda/feedstock_root/build_artifacts/tinynetrc_1651262908904/work
387
+ toml @ file:///home/conda/feedstock_root/build_artifacts/toml_1604308577558/work
388
+ tomli @ file:///home/conda/feedstock_root/build_artifacts/tomli_1727974628237/work
389
+ toolz @ file:///home/conda/feedstock_root/build_artifacts/toolz_1706112571092/work
390
+ torch==2.4.1+cu121
391
+ torchaudio==2.4.1+cu121
392
+ torchvision==0.19.1+cu121
393
+ tornado @ file:///home/conda/feedstock_root/build_artifacts/tornado_1724956126282/work
394
+ tox @ file:///home/conda/feedstock_root/build_artifacts/tox_1728002942083/work
395
+ tqdm @ file:///home/conda/feedstock_root/build_artifacts/tqdm_1722737464726/work
396
+ traitlets @ file:///home/conda/feedstock_root/build_artifacts/traitlets_1713535121073/work
397
+ traittypes @ file:///home/conda/feedstock_root/build_artifacts/traittypes_1600843364635/work
398
+ triton==3.0.0
399
+ truststore @ file:///home/conda/feedstock_root/build_artifacts/truststore_1724770958874/work
400
+ typer==0.12.5
401
+ types-python-dateutil @ file:///home/conda/feedstock_root/build_artifacts/types-python-dateutil_1727940235703/work
402
+ typing-inspect @ file:///home/conda/feedstock_root/build_artifacts/typing_inspect_1685820062773/work
403
+ typing-utils @ file:///home/conda/feedstock_root/build_artifacts/typing_utils_1622899189314/work
404
+ typing_extensions @ file:///home/conda/feedstock_root/build_artifacts/typing_extensions_1717802530399/work
405
+ tzdata @ file:///home/conda/feedstock_root/build_artifacts/python-tzdata_1727140567071/work
406
+ tzlocal @ file:///home/conda/feedstock_root/build_artifacts/tzlocal_1724952013706/work
407
+ uc-micro-py @ file:///home/conda/feedstock_root/build_artifacts/uc-micro-py_1707507364877/work
408
+ ujson @ file:///home/conda/feedstock_root/build_artifacts/ujson_1724954423406/work
409
+ uri-template @ file:///home/conda/feedstock_root/build_artifacts/uri-template_1688655812972/work/dist
410
+ urllib3 @ file:///home/conda/feedstock_root/build_artifacts/urllib3_1726496430923/work
411
+ uvicorn @ file:///home/conda/feedstock_root/build_artifacts/uvicorn-split_1728547372073/work
412
+ validators @ file:///home/conda/feedstock_root/build_artifacts/validators_1725433541799/work
413
+ virtualenv @ file:///home/conda/feedstock_root/build_artifacts/virtualenv_1727513735030/work
414
+ wasabi==1.1.3
415
+ watchdog @ file:///home/conda/feedstock_root/build_artifacts/watchdog_1727641318602/work
416
+ watchfiles @ file:///home/conda/feedstock_root/build_artifacts/watchfiles_1725347054433/work
417
+ wcwidth @ file:///home/conda/feedstock_root/build_artifacts/wcwidth_1704731205417/work
418
+ webcolors @ file:///home/conda/feedstock_root/build_artifacts/webcolors_1723294704277/work
419
+ webencodings @ file:///home/conda/feedstock_root/build_artifacts/webencodings_1694681268211/work
420
+ websocket-client @ file:///home/conda/feedstock_root/build_artifacts/websocket-client_1713923384721/work
421
+ websockets @ file:///home/conda/feedstock_root/build_artifacts/websockets_1727013334584/work
422
+ Werkzeug @ file:///home/conda/feedstock_root/build_artifacts/werkzeug_1724330738730/work
423
+ whitebox @ file:///home/conda/feedstock_root/build_artifacts/whitebox_1721112900965/work
424
+ whiteboxgui @ file:///home/conda/feedstock_root/build_artifacts/whiteboxgui_1680061160584/work
425
+ widgetsnbextension @ file:///home/conda/feedstock_root/build_artifacts/widgetsnbextension_1724331337528/work
426
+ wrapt @ file:///home/conda/feedstock_root/build_artifacts/wrapt_1724957910886/work
427
+ xarray @ file:///home/conda/feedstock_root/build_artifacts/xarray_1728453175552/work
428
+ xlrd @ file:///home/conda/feedstock_root/build_artifacts/xlrd_1610224409810/work
429
+ xxhash @ file:///home/conda/feedstock_root/build_artifacts/python-xxhash_1725272033556/work
430
+ xyzservices @ file:///home/conda/feedstock_root/build_artifacts/xyzservices_1725366347586/work
431
+ yarl @ file:///home/conda/feedstock_root/build_artifacts/yarl_1728556272173/work
432
+ zarr @ file:///home/conda/feedstock_root/build_artifacts/zarr_1725539761754/work
433
+ zict @ file:///home/conda/feedstock_root/build_artifacts/zict_1681770155528/work
434
+ zipp @ file:///home/conda/feedstock_root/build_artifacts/zipp_1726248574750/work
435
+ zstandard==0.23.0
static-maps.ipynb CHANGED
@@ -2,7 +2,7 @@
2
  "cells": [
3
  {
4
  "cell_type": "code",
5
- "execution_count": 124,
6
  "id": "b313a218-4778-4d5b-9036-f0370d4212a0",
7
  "metadata": {},
8
  "outputs": [],
@@ -43,48 +43,80 @@
43
  },
44
  {
45
  "cell_type": "code",
46
- "execution_count": 133,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
47
  "id": "fa397626-6e94-4ab9-a3bb-2bcbd14e8d40",
48
  "metadata": {
49
  "scrolled": true
50
  },
51
- "outputs": [
52
- {
53
- "data": {
54
- "application/vnd.jupyter.widget-view+json": {
55
- "model_id": "e447c30d35374eb4a1d0a28b83b78159",
56
- "version_major": 2,
57
- "version_minor": 0
58
- },
59
- "text/plain": [
60
- "FloatProgress(value=0.0, layout=Layout(width='auto'), style=ProgressStyle(bar_color='black'))"
61
- ]
62
- },
63
- "metadata": {},
64
- "output_type": "display_data"
65
- },
66
- {
67
- "data": {
68
- "application/vnd.jupyter.widget-view+json": {
69
- "model_id": "b325fe101b644a36a48fb1ec7bc0fcd2",
70
- "version_major": 2,
71
- "version_minor": 1
72
- },
73
- "text/plain": [
74
- "Map(height='600px', map_options={'bearing': 0, 'center': (0, 20), 'pitch': 0, 'style': 'https://tiles.openfree…"
75
- ]
76
- },
77
- "execution_count": 133,
78
- "metadata": {},
79
- "output_type": "execute_result"
80
- }
81
- ],
82
  "source": [
83
  "import leafmap.maplibregl as leafmap\n",
84
  "m = leafmap.Map(style=\"positron\")\n",
85
  "\n",
 
86
  "\n",
87
- "gdf = df.filter(_.year==2022).execute()\n",
 
88
  "\n",
89
  "outcome = [\n",
90
  " 'match',\n",
@@ -97,32 +129,39 @@
97
  " \"fill-extrusion-opacity\": 0.7,\n",
98
  " \"fill-extrusion-height\": [\"*\", [\"get\", \"log_amount\"], 5000],\n",
99
  " }\n",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
100
  "\n",
101
- "#m.add_geojson(\"vote.geojson\")\n",
102
- "m.add_gdf(gdf, \"fill-extrusion\", paint = paint)\n",
103
- "m"
104
- ]
105
- },
106
- {
107
- "cell_type": "code",
108
- "execution_count": 129,
109
- "id": "4f46a96e-e8ca-4c38-9164-08ab159e3832",
110
- "metadata": {},
111
- "outputs": [
112
- {
113
- "data": {
114
- "text/plain": [
115
- "19.90228528487658"
116
- ]
117
- },
118
- "execution_count": 129,
119
- "metadata": {},
120
- "output_type": "execute_result"
121
- }
122
- ],
123
- "source": [
124
- "import numpy as np \n",
125
- "np.log(440000000)"
126
  ]
127
  }
128
  ],
 
2
  "cells": [
3
  {
4
  "cell_type": "code",
5
+ "execution_count": null,
6
  "id": "b313a218-4778-4d5b-9036-f0370d4212a0",
7
  "metadata": {},
8
  "outputs": [],
 
43
  },
44
  {
45
  "cell_type": "code",
46
+ "execution_count": null,
47
+ "id": "5d3bee26-7ca8-490c-be5b-fc69a6c3db2a",
48
+ "metadata": {},
49
+ "outputs": [],
50
+ "source": [
51
+ "import subprocess\n",
52
+ "import os\n",
53
+ "from huggingface_hub import HfApi, login\n",
54
+ "import streamlit as st\n",
55
+ "\n",
56
+ "login(st.secrets[\"HF_TOKEN\"])\n",
57
+ "api = HfApi(add_to_git_credential=False)\n",
58
+ "\n",
59
+ "def hf_upload(file, repo_id):\n",
60
+ " info = api.upload_file(\n",
61
+ " path_or_fileobj=file,\n",
62
+ " path_in_repo=file,\n",
63
+ " repo_id=repo_id,\n",
64
+ " repo_type=\"dataset\",\n",
65
+ " )\n",
66
+ "def generate_pmtiles(input_file, output_file, max_zoom=12):\n",
67
+ " # Ensure Tippecanoe is installed\n",
68
+ " if subprocess.call([\"which\", \"tippecanoe\"], stdout=subprocess.DEVNULL) != 0:\n",
69
+ " raise RuntimeError(\"Tippecanoe is not installed or not in PATH\")\n",
70
+ "\n",
71
+ " # Construct the Tippecanoe command\n",
72
+ " command = [\n",
73
+ " \"tippecanoe\",\n",
74
+ " \"-o\", output_file,\n",
75
+ " \"-z\", str(max_zoom),\n",
76
+ " \"--drop-densest-as-needed\",\n",
77
+ " \"--extend-zooms-if-still-dropping\",\n",
78
+ " \"--force\",\n",
79
+ " input_file\n",
80
+ " ]\n",
81
+ "\n",
82
+ " # Run Tippecanoe\n",
83
+ " try:\n",
84
+ " subprocess.run(command, check=True)\n",
85
+ " print(f\"Successfully generated PMTiles file: {output_file}\")\n",
86
+ " except subprocess.CalledProcessError as e:\n",
87
+ " print(f\"Error running Tippecanoe: {e}\")\n",
88
+ "\n"
89
+ ]
90
+ },
91
+ {
92
+ "cell_type": "code",
93
+ "execution_count": null,
94
+ "id": "ac91a627-70a8-4e60-b3ef-66e9c1e02762",
95
+ "metadata": {},
96
+ "outputs": [],
97
+ "source": [
98
+ "df.execute().to_file(\"vote.geojson\")\n",
99
+ "generate_pmtiles(\"vote.geojson\", \"vote.pmtiles\")\n",
100
+ "hf_upload(\"vote.pmtiles\", \"boettiger-lab/landvote\")\n",
101
+ "\n"
102
+ ]
103
+ },
104
+ {
105
+ "cell_type": "code",
106
+ "execution_count": null,
107
  "id": "fa397626-6e94-4ab9-a3bb-2bcbd14e8d40",
108
  "metadata": {
109
  "scrolled": true
110
  },
111
+ "outputs": [],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
112
  "source": [
113
  "import leafmap.maplibregl as leafmap\n",
114
  "m = leafmap.Map(style=\"positron\")\n",
115
  "\n",
116
+ "url = \"https://huggingface.co/datasets/boettiger-lab/landvote/resolve/main/vote.pmtiles\"\n",
117
  "\n",
118
+ "#gdf = df.filter(_.year==1988).execute()\n",
119
+ "#gdf.to_file(\"vote.geojson\")\n",
120
  "\n",
121
  "outcome = [\n",
122
  " 'match',\n",
 
129
  " \"fill-extrusion-opacity\": 0.7,\n",
130
  " \"fill-extrusion-height\": [\"*\", [\"get\", \"log_amount\"], 5000],\n",
131
  " }\n",
132
+ "style = {\n",
133
+ " \"layers\": [\n",
134
+ " {\n",
135
+ " \"id\": \"votes\",\n",
136
+ " \"source\": \"vote\",\n",
137
+ " \"source-layer\": \"vote\",\n",
138
+ " \"type\": \"fill-extrusion\",\n",
139
+ " \"filter\": [\n",
140
+ " \"==\",\n",
141
+ " [\"get\", \"year\"],\n",
142
+ " 1988,\n",
143
+ " ], # only show buildings with height info\n",
144
+ " \"paint\": paint\n",
145
+ " },\n",
146
+ " ],\n",
147
+ "}\n",
148
  "\n",
149
+ "m.add_pmtiles(\n",
150
+ " url,\n",
151
+ " style=style,\n",
152
+ " visible=True,\n",
153
+ " opacity=1.0,\n",
154
+ " tooltip=True,\n",
155
+ " fit_bounds=False,\n",
156
+ ")\n",
157
+ "#m.add_layer_control()\n",
158
+ "m\n",
159
+ "\n",
160
+ "\n",
161
+ "\n",
162
+ "#m.add_geojson(\"vote.geojson\", \"fill-extrusion\", paint = paint)\n",
163
+ "#m.add_gdf(gdf, \"fill-extrusion\", paint = paint)\n",
164
+ "#m"
 
 
 
 
 
 
 
 
 
165
  ]
166
  }
167
  ],