terndata.ecoplots 0.0.3b0__tar.gz → 0.0.4b0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/LICENSE +1 -1
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/PKG-INFO +25 -15
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/README.md +23 -13
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/docs/conf.py +13 -3
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/docs/index.rst +5 -4
- terndata_ecoplots-0.0.4b0/docs/requirements.txt +13 -0
- terndata_ecoplots-0.0.4b0/examples/demo.ipynb +3184 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/requirements.txt +1 -1
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/src/terndata/ecoplots/__init__.py +2 -1
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/src/terndata/ecoplots/_base.py +112 -53
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/src/terndata/ecoplots/_config.py +2 -1
- terndata_ecoplots-0.0.4b0/src/terndata/ecoplots/_exceptions.py +52 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/src/terndata/ecoplots/_gui/spatial_selector.py +98 -16
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/src/terndata/ecoplots/_nlp_utils.py +40 -32
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/src/terndata/ecoplots/_utils.py +5 -3
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/src/terndata/ecoplots/ecoplots.py +67 -20
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/src/terndata/ecoplots/version.py +3 -3
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/src/terndata.ecoplots.egg-info/PKG-INFO +25 -15
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/src/terndata.ecoplots.egg-info/SOURCES.txt +2 -1
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/src/terndata.ecoplots.egg-info/requires.txt +1 -1
- terndata_ecoplots-0.0.3b0/demo.ipynb +0 -4759
- terndata_ecoplots-0.0.3b0/docs/requirements.txt +0 -4
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/.github/workflows/publish.yml +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/.github/workflows/test.yml +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/.gitignore +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/.readthedocs.yaml +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/Makefile +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/NOTICE +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/docs/Makefile +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/docs/_static/brand.css +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/docs/_static/img/TERN-logo-primary.png +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/docs/_static/img/TERN-logo-reversed.png +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/docs/_static/img/ecoplots-logo-base.svg +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/docs/_static/img/ecoplots-logo-dark.svg +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/docs/_static/img/ecoplots-logo-light.svg +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/docs/_static/img/github-mark.svg +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/docs/api/async_ecoplots_class.rst +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/docs/api/ecoplots_class.rst +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/docs/api/modules.rst +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/docs/api/overview.rst +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/docs/api.rst +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/docs/internals.rst +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/pyproject.toml +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/requirements-flake8.txt +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/requirements-mypy.txt +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/requirements-test.txt +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/requirements-tox.txt +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/setup.cfg +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/src/terndata/ecoplots/_flatten_response/__init__.py +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/src/terndata/ecoplots/_flatten_response/_streaming.py +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/src/terndata/ecoplots/_flatten_response/_workers.py +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/src/terndata/ecoplots/_gui/__init__.py +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/src/terndata/ecoplots/assets/TERN_logo.png +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/src/terndata/ecoplots/assets/ecoplots_logo.svg +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/src/terndata.ecoplots.egg-info/dependency_links.txt +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/src/terndata.ecoplots.egg-info/top_level.txt +0 -0
- {terndata_ecoplots-0.0.3b0 → terndata_ecoplots-0.0.4b0}/tox.ini +0 -0
|
@@ -187,7 +187,7 @@
|
|
|
187
187
|
same "printed page" as the copyright notice for easier
|
|
188
188
|
identification within third-party archives.
|
|
189
189
|
|
|
190
|
-
Copyright
|
|
190
|
+
Copyright 2025 TERN Data Services and Analytics (TDSA)
|
|
191
191
|
|
|
192
192
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
193
193
|
you may not use this file except in compliance with the License.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: terndata.ecoplots
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.4b0
|
|
4
4
|
Summary: TERN ecoplots data access library
|
|
5
5
|
Author-email: Avinash Chandra <avinash.chandra@uq.edu.au>
|
|
6
6
|
Maintainer-email: "TERN Data Services and Analytics (TDSA)" <esupport@tern.org.au>
|
|
@@ -26,9 +26,9 @@ Requires-Dist: numpy
|
|
|
26
26
|
Requires-Dist: pandas
|
|
27
27
|
Requires-Dist: geopandas
|
|
28
28
|
Requires-Dist: requests
|
|
29
|
+
Requires-Dist: aiohttp<4.0.0,>=3.11.12
|
|
29
30
|
Requires-Dist: python-dateutil
|
|
30
31
|
Requires-Dist: pytz
|
|
31
|
-
Requires-Dist: httpx<1.0.0,>=0.28.1
|
|
32
32
|
Requires-Dist: rapidfuzz<4.0.0,>=3.13.0
|
|
33
33
|
Requires-Dist: orjson<4.0.0,>=3.10.15
|
|
34
34
|
Requires-Dist: diskcache<6.0.0,>=5.6.3
|
|
@@ -77,25 +77,35 @@ Supported Python: 3.10+
|
|
|
77
77
|
|
|
78
78
|
## Quick start
|
|
79
79
|
|
|
80
|
-
|
|
80
|
+
```python
|
|
81
|
+
from terndata.ecoplots import EcoPlots
|
|
81
82
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
83
|
+
ec = EcoPlots()
|
|
84
|
+
ec.select(site_id="TCFTNS0002") # add validated filters
|
|
85
|
+
preview = ec.preview().head() # quick look (first page)
|
|
86
|
+
gdf = ec.get_data() # full pull (GeoDataFrame)
|
|
87
|
+
```
|
|
86
88
|
|
|
87
89
|
### Async
|
|
88
90
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
+
```python
|
|
92
|
+
import asyncio
|
|
93
|
+
from terndata.ecoplots import AsyncEcoPlots
|
|
91
94
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
95
|
+
async def main():
|
|
96
|
+
ec = AsyncEcoPlots()
|
|
97
|
+
ec.select(site_id="TCFTNS0002")
|
|
98
|
+
gdf = await ec.get_data()
|
|
99
|
+
return gdf
|
|
97
100
|
|
|
98
|
-
|
|
101
|
+
# asyncio.run(main())
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Demo
|
|
107
|
+
|
|
108
|
+
For example usage, please refer to the [demo notebook](examples/demo.ipynb).
|
|
99
109
|
|
|
100
110
|
---
|
|
101
111
|
|
|
@@ -36,25 +36,35 @@ Supported Python: 3.10+
|
|
|
36
36
|
|
|
37
37
|
## Quick start
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
```python
|
|
40
|
+
from terndata.ecoplots import EcoPlots
|
|
40
41
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
ec = EcoPlots()
|
|
43
|
+
ec.select(site_id="TCFTNS0002") # add validated filters
|
|
44
|
+
preview = ec.preview().head() # quick look (first page)
|
|
45
|
+
gdf = ec.get_data() # full pull (GeoDataFrame)
|
|
46
|
+
```
|
|
45
47
|
|
|
46
48
|
### Async
|
|
47
49
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
+
```python
|
|
51
|
+
import asyncio
|
|
52
|
+
from terndata.ecoplots import AsyncEcoPlots
|
|
50
53
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
async def main():
|
|
55
|
+
ec = AsyncEcoPlots()
|
|
56
|
+
ec.select(site_id="TCFTNS0002")
|
|
57
|
+
gdf = await ec.get_data()
|
|
58
|
+
return gdf
|
|
56
59
|
|
|
57
|
-
|
|
60
|
+
# asyncio.run(main())
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Demo
|
|
66
|
+
|
|
67
|
+
For example usage, please refer to the [demo notebook](examples/demo.ipynb).
|
|
58
68
|
|
|
59
69
|
---
|
|
60
70
|
|
|
@@ -8,6 +8,18 @@ SRC = ROOT / "src"
|
|
|
8
8
|
if str(SRC) not in sys.path:
|
|
9
9
|
sys.path.insert(0, str(SRC))
|
|
10
10
|
|
|
11
|
+
# Debug: Print Python path for troubleshooting
|
|
12
|
+
print(f"[DEBUG] Python path: {sys.path[:3]}")
|
|
13
|
+
print(f"[DEBUG] ROOT: {ROOT}")
|
|
14
|
+
print(f"[DEBUG] SRC: {SRC}")
|
|
15
|
+
|
|
16
|
+
# Test import to catch errors early
|
|
17
|
+
try:
|
|
18
|
+
import terndata.ecoplots
|
|
19
|
+
print(f"[DEBUG] Successfully imported terndata.ecoplots from {terndata.ecoplots.__file__}")
|
|
20
|
+
except ImportError as e:
|
|
21
|
+
print(f"[ERROR] Failed to import terndata.ecoplots: {e}")
|
|
22
|
+
|
|
11
23
|
project = "terndata.ecoplots"
|
|
12
24
|
author = "Avinash Chandra"
|
|
13
25
|
|
|
@@ -15,7 +27,7 @@ START_YEAR = 2025
|
|
|
15
27
|
YEAR = datetime.now(timezone.utc).year
|
|
16
28
|
years = f"{START_YEAR}-{YEAR}" if YEAR > START_YEAR else f"{YEAR}"
|
|
17
29
|
copyright = f"{years}, TDSA (TERN Data Services and Analytics)" # noqa: A001
|
|
18
|
-
release = "0.
|
|
30
|
+
release = "0.0.4-beta"
|
|
19
31
|
|
|
20
32
|
extensions = [
|
|
21
33
|
"sphinx.ext.autodoc",
|
|
@@ -89,8 +101,6 @@ autodoc_mock_imports = [
|
|
|
89
101
|
"fiona",
|
|
90
102
|
"pyproj",
|
|
91
103
|
"rtree",
|
|
92
|
-
"numpy",
|
|
93
|
-
"pandas",
|
|
94
104
|
]
|
|
95
105
|
|
|
96
106
|
exclude_patterns = ["api/modules.rst"]
|
|
@@ -32,16 +32,16 @@
|
|
|
32
32
|
</div>
|
|
33
33
|
</div>
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
About EcoPlots
|
|
36
|
+
==============
|
|
37
37
|
TERN EcoPlots is a platform designed for searching, discovering, and accessing ecological observations—both from systematic site-based surveys and opportunistic surveys—as well as specimen samples collected during field surveys from various data sources. With TERN EcoPlots, users can search for observation data and specimen samples from systematic surveys across Australia. The platform allows users to integrate data from multiple sources and access it as a comprehensive, ready-to-use data package. Additionally, users can search for specimen samples and request access to these samples for further research.
|
|
38
38
|
|
|
39
39
|
TERN EcoPlots is developed based on a semantic data integration approach. Datasets are generally received from custodians in various forms, including PostgreSQL databases and CSV file formats. In the data ingestion process, each source dataset is mapped to a `TERN Plot ontology <https://linkeddata.tern.org.au/information-models/tern-ontology>`_ including the identification and mapping of domain feature types, parameters, and categorical values to controlled vocabularies, as well as the performance of data validation routines and the resolution of taxonomic names. All data are organised in Resource Description Framework (RDF) and stored in a triple store.
|
|
40
40
|
|
|
41
41
|
See also: `EcoPlots Portal <https://ecoplots.tern.org.au>`_.
|
|
42
42
|
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
EcoPlots Python library
|
|
44
|
+
=======================
|
|
45
45
|
The EcoPlots Python library provides a small, Pythonic client for the EcoPlots REST API, so you can programmatically discover datasets, apply validated filters, preview results, and retrieve analysis-ready data.
|
|
46
46
|
|
|
47
47
|
Key capabilities:
|
|
@@ -63,6 +63,7 @@ Installation
|
|
|
63
63
|
|
|
64
64
|
Next steps
|
|
65
65
|
==========
|
|
66
|
+
- `Demo Notebook <https://github.com/ternaustralia/terndata.ecoplots/blob/main/examples/demo.ipynb>`_ - Interactive examples and usage patterns
|
|
66
67
|
- :doc:`Package overview <api/overview>`
|
|
67
68
|
- :doc:`EcoPlots Client <api/ecoplots_class>`
|
|
68
69
|
- :doc:`Async EcoPlots client <api/async_ecoplots_class>`
|