basin3d 0.4.0__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.
Files changed (35) hide show
  1. basin3d-0.4.0/LICENSE +43 -0
  2. basin3d-0.4.0/MANIFEST.in +6 -0
  3. basin3d-0.4.0/PKG-INFO +146 -0
  4. basin3d-0.4.0/README.md +76 -0
  5. basin3d-0.4.0/basin3d/__init__.py +9 -0
  6. basin3d-0.4.0/basin3d/core/__init__.py +0 -0
  7. basin3d-0.4.0/basin3d/core/access.py +48 -0
  8. basin3d-0.4.0/basin3d/core/catalog.py +649 -0
  9. basin3d-0.4.0/basin3d/core/connection.py +414 -0
  10. basin3d-0.4.0/basin3d/core/logging.yaml +17 -0
  11. basin3d-0.4.0/basin3d/core/models.py +1581 -0
  12. basin3d-0.4.0/basin3d/core/monitor.py +229 -0
  13. basin3d-0.4.0/basin3d/core/plugin.py +224 -0
  14. basin3d-0.4.0/basin3d/core/schema/__init__.py +0 -0
  15. basin3d-0.4.0/basin3d/core/schema/enum.py +183 -0
  16. basin3d-0.4.0/basin3d/core/schema/query.py +205 -0
  17. basin3d-0.4.0/basin3d/core/synthesis.py +383 -0
  18. basin3d-0.4.0/basin3d/core/translate.py +405 -0
  19. basin3d-0.4.0/basin3d/core/types.py +34 -0
  20. basin3d-0.4.0/basin3d/data/__init__.py +0 -0
  21. basin3d-0.4.0/basin3d/data/basin3d_observed_property_vocabulary.csv +169 -0
  22. basin3d-0.4.0/basin3d/monitor.py +25 -0
  23. basin3d-0.4.0/basin3d/plugins/__init__.py +0 -0
  24. basin3d-0.4.0/basin3d/plugins/usgs.py +723 -0
  25. basin3d-0.4.0/basin3d/plugins/usgs_huc_codes.py +2901 -0
  26. basin3d-0.4.0/basin3d/plugins/usgs_mapping.csv +54 -0
  27. basin3d-0.4.0/basin3d/synthesis.py +306 -0
  28. basin3d-0.4.0/basin3d.egg-info/PKG-INFO +146 -0
  29. basin3d-0.4.0/basin3d.egg-info/SOURCES.txt +33 -0
  30. basin3d-0.4.0/basin3d.egg-info/dependency_links.txt +1 -0
  31. basin3d-0.4.0/basin3d.egg-info/requires.txt +22 -0
  32. basin3d-0.4.0/basin3d.egg-info/top_level.txt +1 -0
  33. basin3d-0.4.0/docs/conf.py +345 -0
  34. basin3d-0.4.0/pyproject.toml +71 -0
  35. basin3d-0.4.0/setup.cfg +4 -0
basin3d-0.4.0/LICENSE ADDED
@@ -0,0 +1,43 @@
1
+ Broker for Assimilation, Synthesis and Integration of eNvironmental Diverse, Distributed Datasets (BASIN-3D) Copyright (c) 2019, The
2
+ Regents of the University of California, through Lawrence Berkeley National
3
+ Laboratory (subject to receipt of any required approvals from the U.S.
4
+ Dept. of Energy). All rights reserved.
5
+
6
+ Redistribution and use in source and binary forms, with or without
7
+ modification, are permitted provided that the following conditions are met:
8
+
9
+ (1) Redistributions of source code must retain the above copyright notice,
10
+ this list of conditions and the following disclaimer.
11
+
12
+ (2) Redistributions in binary form must reproduce the above copyright
13
+ notice, this list of conditions and the following disclaimer in the
14
+ documentation and/or other materials provided with the distribution.
15
+
16
+ (3) Neither the name of the University of California, Lawrence Berkeley
17
+ National Laboratory, U.S. Dept. of Energy nor the names of its contributors
18
+ may be used to endorse or promote products derived from this software
19
+ without specific prior written permission.
20
+
21
+
22
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
26
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
27
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
28
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
29
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
30
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
31
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32
+ POSSIBILITY OF SUCH DAMAGE.
33
+
34
+ You are under no obligation whatsoever to provide any bug fixes, patches,
35
+ or upgrades to the features, functionality or performance of the source
36
+ code ("Enhancements") to anyone; however, if you choose to make your
37
+ Enhancements available either publicly, or directly to Lawrence Berkeley
38
+ National Laboratory, without imposing a separate written license agreement
39
+ for such Enhancements, then you hereby grant the following license: a
40
+ non-exclusive, royalty-free perpetual license to install, use, modify,
41
+ prepare derivative works, incorporate into other computer software,
42
+ distribute, and sublicense such enhancements or derivative works thereof,
43
+ in binary and source code form.
@@ -0,0 +1,6 @@
1
+ include LICENSE
2
+ include README.md
3
+ include basin3d/core/logging.yaml
4
+ include basin3d/data/basin3d_variables_hydrology.csv
5
+ include basin3d/plugins/usgs_mapping.csv
6
+ prune tests
basin3d-0.4.0/PKG-INFO ADDED
@@ -0,0 +1,146 @@
1
+ Metadata-Version: 2.1
2
+ Name: basin3d
3
+ Version: 0.4.0
4
+ Summary: BASIN-3D Core Framework
5
+ Author-email: Valerie C Hendrix <vchendrix@lbl.gov>, Danielle Svehla Christianson <dschristianson@lbl.gov>, Charuleka Varadharajan <cvaradharajan@lbl.gov>, Catherine Wong <catwong@lbl.gov>
6
+ Maintainer-email: Valerie C Hendrix <vchendrix@lbl.gov>, Danielle Svehla Christianson <dschristianson@lbl.gov>
7
+ License: Broker for Assimilation, Synthesis and Integration of eNvironmental Diverse, Distributed Datasets (BASIN-3D) Copyright (c) 2019, The
8
+ Regents of the University of California, through Lawrence Berkeley National
9
+ Laboratory (subject to receipt of any required approvals from the U.S.
10
+ Dept. of Energy). All rights reserved.
11
+
12
+ Redistribution and use in source and binary forms, with or without
13
+ modification, are permitted provided that the following conditions are met:
14
+
15
+ (1) Redistributions of source code must retain the above copyright notice,
16
+ this list of conditions and the following disclaimer.
17
+
18
+ (2) Redistributions in binary form must reproduce the above copyright
19
+ notice, this list of conditions and the following disclaimer in the
20
+ documentation and/or other materials provided with the distribution.
21
+
22
+ (3) Neither the name of the University of California, Lawrence Berkeley
23
+ National Laboratory, U.S. Dept. of Energy nor the names of its contributors
24
+ may be used to endorse or promote products derived from this software
25
+ without specific prior written permission.
26
+
27
+
28
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
29
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
30
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
31
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
32
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
33
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
34
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
35
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
36
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38
+ POSSIBILITY OF SUCH DAMAGE.
39
+
40
+ You are under no obligation whatsoever to provide any bug fixes, patches,
41
+ or upgrades to the features, functionality or performance of the source
42
+ code ("Enhancements") to anyone; however, if you choose to make your
43
+ Enhancements available either publicly, or directly to Lawrence Berkeley
44
+ National Laboratory, without imposing a separate written license agreement
45
+ for such Enhancements, then you hereby grant the following license: a
46
+ non-exclusive, royalty-free perpetual license to install, use, modify,
47
+ prepare derivative works, incorporate into other computer software,
48
+ distribute, and sublicense such enhancements or derivative works thereof,
49
+ in binary and source code form.
50
+
51
+ Project-URL: homepage, https://github.com/BASIN-3D/basin3d
52
+ Project-URL: documentation, https://basin3d.readthedocs.io/
53
+ Project-URL: repository, https://github.com/BASIN-3D
54
+ Project-URL: changelog, https://github.com/BASIN-3D/basin3d/blob/main/CHANGES.md
55
+ Classifier: Development Status :: 3 - Alpha
56
+ Classifier: Programming Language :: Python
57
+ Classifier: License :: OSI Approved :: BSD License
58
+ Classifier: Intended Audience :: Science/Research
59
+ Classifier: Intended Audience :: Developers
60
+ Classifier: Programming Language :: Python :: 3.8
61
+ Classifier: Programming Language :: Python :: 3.9
62
+ Classifier: Programming Language :: Python :: 3.10
63
+ Classifier: Topic :: Scientific/Engineering
64
+ Classifier: Topic :: Scientific/Engineering :: Hydrology
65
+ Requires-Python: <3.11,>=3.8
66
+ Description-Content-Type: text/markdown
67
+ Provides-Extra: dev
68
+ Provides-Extra: docs
69
+ License-File: LICENSE
70
+
71
+ # basin3d
72
+ Broker for Assimilation, Synthesis and Integration of eNvironmental Diverse, Distributed Datasets.
73
+
74
+ ![basin3d](https://user-images.githubusercontent.com/20212666/112556236-ff1a9b80-8d86-11eb-9009-25b658ce41e0.png)
75
+
76
+ BASIN-3D is a software ecosystem that synthesizes diverse earth science data from a variety of remote data sources on-demand, without the need for storing data in a single database. It is designed to parse, translate, and synthesize diverse observations from well-curated repositories into standardized formats for scientific uses such as analysis and visualization.
77
+
78
+ basin3d is the core BASIN-3D application that uses a generalized data synthesis model that applies across a variety of earth science observation types (hydrology, geochemistry, climate etc.).
79
+
80
+ basin3d has available plugins that can connect to specific data sources of interest, and map the data source vocabularies to the basin3d synthesis models.
81
+
82
+
83
+
84
+ ## Getting Started
85
+
86
+ ### Install
87
+
88
+ Install a source distribution with pip:
89
+
90
+ $ pip install basin3d
91
+
92
+ Make sure your installation was successful:
93
+
94
+ $ python
95
+ >>> import basin3d
96
+ >>>
97
+
98
+ ## Documentation
99
+
100
+ See latest basin3d documentation [here](https://basin3d.readthedocs.io/en/latest/)
101
+
102
+
103
+ ## Contributing
104
+
105
+ If you’re interested in contributing to basin3d, check out out our [contributing guidelines](CONTRIBUTING.md). It will help explain why, what, and how to get started.
106
+
107
+
108
+ ## Changelog
109
+ See the [changelog](https://basin3d.readthedocs.io/en/stable/changelog.html) for a history of updates and changes to basin3d
110
+
111
+ ## Authors
112
+
113
+ * **Charuleka Varadharajan** - [LBL](https://eesa.lbl.gov/profiles/charuleka-varadharajan/)
114
+ * **Valerie Hendrix** - [LBL](https://crd.lbl.gov/departments/data-science-and-technology/uss/staff/valerie-hendrix)
115
+ * **Danielle Svehla Christianson** - [LBL](https://crd.lbl.gov/departments/data-science-and-technology/uss/staff/danielle-christianson/)
116
+ * **Catherine Wong** - [LBL](https://crd.lbl.gov/departments/data-science-and-technology/uss)
117
+
118
+
119
+ ## Copyright
120
+
121
+ Broker for Assimilation, Synthesis and Integration of eNvironmental Diverse, Distributed Datasets (BASIN-3D) Copyright (c) 2019, The
122
+ Regents of the University of California, through Lawrence Berkeley National
123
+ Laboratory (subject to receipt of any required approvals from the U.S.
124
+ Dept. of Energy). All rights reserved.
125
+
126
+ If you have questions about your rights to use or distribute this software,
127
+ please contact Berkeley Lab's Intellectual Property Office at
128
+ IPO@lbl.gov.
129
+
130
+ NOTICE. This Software was developed under funding from the U.S. Department
131
+ of Energy and the U.S. Government consequently retains certain rights. As
132
+ such, the U.S. Government has been granted for itself and others acting on
133
+ its behalf a paid-up, nonexclusive, irrevocable, worldwide license in the
134
+ Software to reproduce, distribute copies to the public, prepare derivative
135
+ works, and perform publicly and display publicly, and to permit other to do
136
+ so.
137
+
138
+ ## License
139
+
140
+ See [LICENSE](https://basin3d.readthedocs.io/en/stable/license_agreement.html) file for licensing details
141
+
142
+ ## Acknowledgments
143
+
144
+ This research is supported as part of the Watershed Function Scientific Focus Area and a DOE Early Career Project funded by the U.S. Department of Energy, Office of Science, Office of Biological and Environmental Research under Award no. DE-AC02-05CH11231. This research used resources of the National Energy Research Scientific Computing Center (NERSC), a U.S. Department of Energy Office of Science User Facility operated under Contract No. DE-AC02-05CH11231.
145
+
146
+
@@ -0,0 +1,76 @@
1
+ # basin3d
2
+ Broker for Assimilation, Synthesis and Integration of eNvironmental Diverse, Distributed Datasets.
3
+
4
+ ![basin3d](https://user-images.githubusercontent.com/20212666/112556236-ff1a9b80-8d86-11eb-9009-25b658ce41e0.png)
5
+
6
+ BASIN-3D is a software ecosystem that synthesizes diverse earth science data from a variety of remote data sources on-demand, without the need for storing data in a single database. It is designed to parse, translate, and synthesize diverse observations from well-curated repositories into standardized formats for scientific uses such as analysis and visualization.
7
+
8
+ basin3d is the core BASIN-3D application that uses a generalized data synthesis model that applies across a variety of earth science observation types (hydrology, geochemistry, climate etc.).
9
+
10
+ basin3d has available plugins that can connect to specific data sources of interest, and map the data source vocabularies to the basin3d synthesis models.
11
+
12
+
13
+
14
+ ## Getting Started
15
+
16
+ ### Install
17
+
18
+ Install a source distribution with pip:
19
+
20
+ $ pip install basin3d
21
+
22
+ Make sure your installation was successful:
23
+
24
+ $ python
25
+ >>> import basin3d
26
+ >>>
27
+
28
+ ## Documentation
29
+
30
+ See latest basin3d documentation [here](https://basin3d.readthedocs.io/en/latest/)
31
+
32
+
33
+ ## Contributing
34
+
35
+ If you’re interested in contributing to basin3d, check out out our [contributing guidelines](CONTRIBUTING.md). It will help explain why, what, and how to get started.
36
+
37
+
38
+ ## Changelog
39
+ See the [changelog](https://basin3d.readthedocs.io/en/stable/changelog.html) for a history of updates and changes to basin3d
40
+
41
+ ## Authors
42
+
43
+ * **Charuleka Varadharajan** - [LBL](https://eesa.lbl.gov/profiles/charuleka-varadharajan/)
44
+ * **Valerie Hendrix** - [LBL](https://crd.lbl.gov/departments/data-science-and-technology/uss/staff/valerie-hendrix)
45
+ * **Danielle Svehla Christianson** - [LBL](https://crd.lbl.gov/departments/data-science-and-technology/uss/staff/danielle-christianson/)
46
+ * **Catherine Wong** - [LBL](https://crd.lbl.gov/departments/data-science-and-technology/uss)
47
+
48
+
49
+ ## Copyright
50
+
51
+ Broker for Assimilation, Synthesis and Integration of eNvironmental Diverse, Distributed Datasets (BASIN-3D) Copyright (c) 2019, The
52
+ Regents of the University of California, through Lawrence Berkeley National
53
+ Laboratory (subject to receipt of any required approvals from the U.S.
54
+ Dept. of Energy). All rights reserved.
55
+
56
+ If you have questions about your rights to use or distribute this software,
57
+ please contact Berkeley Lab's Intellectual Property Office at
58
+ IPO@lbl.gov.
59
+
60
+ NOTICE. This Software was developed under funding from the U.S. Department
61
+ of Energy and the U.S. Government consequently retains certain rights. As
62
+ such, the U.S. Government has been granted for itself and others acting on
63
+ its behalf a paid-up, nonexclusive, irrevocable, worldwide license in the
64
+ Software to reproduce, distribute copies to the public, prepare derivative
65
+ works, and perform publicly and display publicly, and to permit other to do
66
+ so.
67
+
68
+ ## License
69
+
70
+ See [LICENSE](https://basin3d.readthedocs.io/en/stable/license_agreement.html) file for licensing details
71
+
72
+ ## Acknowledgments
73
+
74
+ This research is supported as part of the Watershed Function Scientific Focus Area and a DOE Early Career Project funded by the U.S. Department of Energy, Office of Science, Office of Biological and Environmental Research under Award no. DE-AC02-05CH11231. This research used resources of the National Energy Research Scientific Computing Center (NERSC), a U.S. Department of Energy Office of Science User Facility operated under Contract No. DE-AC02-05CH11231.
75
+
76
+
@@ -0,0 +1,9 @@
1
+ from basin3d import monitor, synthesis
2
+ from importlib.metadata import version, PackageNotFoundError
3
+
4
+ try:
5
+ __version__ = version("basin3d")
6
+ except PackageNotFoundError:
7
+ # package is not installed
8
+ pass
9
+ __all__ = ['monitor', 'synthesis']
File without changes
@@ -0,0 +1,48 @@
1
+ """
2
+
3
+ .. currentmodule:: basin3d.core.access
4
+
5
+ :platform: Unix, Mac
6
+ :synopsis: BASIN-3D ``DataSource`` access classes
7
+ :module author: Val Hendrix <vhendrix@lbl.gov>
8
+ :module author: Danielle Svehla Christianson <dschristianson@lbl.gov>
9
+
10
+ .. contents:: Contents
11
+ :local:
12
+ :backlinks: top
13
+
14
+ """
15
+ from basin3d.core import monitor
16
+
17
+ logger = monitor.get_logger(__name__)
18
+
19
+
20
+ def get_url(url, params=None, headers=None, verify=True, **kwargs):
21
+ """
22
+ Send a GET request to the specified URL. Note look up extra
23
+ `kwargs` in `requests.get`
24
+ :param url:
25
+ :param params: request parameters
26
+ :param headers: request headers
27
+ :param verify: verify SSL connection
28
+ :return: Response
29
+ """
30
+ import requests
31
+ response = requests.get(url, params=params, verify=verify, headers=headers, **kwargs)
32
+ logger.info("url:{}".format(response.url))
33
+ return response
34
+
35
+
36
+ def post_url(url, params=None, headers=None, verify=True):
37
+ """
38
+ Send a POST request to the specified URL
39
+ :param url:
40
+ :param params: request parameters
41
+ :param headers: request headers
42
+ :param verify: verify SSL connection
43
+ :return: Response
44
+ """
45
+ import requests
46
+ response = requests.post(url, params=params, verify=verify, headers=headers)
47
+ logger.info("url:{}".format(response.url))
48
+ return response