pyadps 0.3.3b0__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.
- pyadps-0.3.3b0/LICENSE +8 -0
- pyadps-0.3.3b0/PKG-INFO +172 -0
- pyadps-0.3.3b0/README.md +140 -0
- pyadps-0.3.3b0/pyproject.toml +45 -0
- pyadps-0.3.3b0/src/pyadps/Home_Page.py +42 -0
- pyadps-0.3.3b0/src/pyadps/__init__.py +8 -0
- pyadps-0.3.3b0/src/pyadps/__main__.py +15 -0
- pyadps-0.3.3b0/src/pyadps/pages/01_Read_File.py +458 -0
- pyadps-0.3.3b0/src/pyadps/pages/02_View_Raw_Data.py +164 -0
- pyadps-0.3.3b0/src/pyadps/pages/03_Download_Raw_File.py +298 -0
- pyadps-0.3.3b0/src/pyadps/pages/04_Sensor_Health.py +905 -0
- pyadps-0.3.3b0/src/pyadps/pages/05_QC_Test.py +476 -0
- pyadps-0.3.3b0/src/pyadps/pages/06_Profile_Test.py +970 -0
- pyadps-0.3.3b0/src/pyadps/pages/07_Velocity_Test.py +600 -0
- pyadps-0.3.3b0/src/pyadps/pages/08_Write_File.py +574 -0
- pyadps-0.3.3b0/src/pyadps/pages/09_Auto_process.py +62 -0
- pyadps-0.3.3b0/src/pyadps/pages/__init__.py +0 -0
- pyadps-0.3.3b0/src/pyadps/utils/__init__.py +12 -0
- pyadps-0.3.3b0/src/pyadps/utils/autoprocess.py +530 -0
- pyadps-0.3.3b0/src/pyadps/utils/metadata/config.ini +99 -0
- pyadps-0.3.3b0/src/pyadps/utils/metadata/demo.000 +0 -0
- pyadps-0.3.3b0/src/pyadps/utils/metadata/flmeta.json +422 -0
- pyadps-0.3.3b0/src/pyadps/utils/metadata/vlmeta.json +567 -0
- pyadps-0.3.3b0/src/pyadps/utils/plotgen.py +728 -0
- pyadps-0.3.3b0/src/pyadps/utils/profile_test.py +556 -0
- pyadps-0.3.3b0/src/pyadps/utils/pyreadrdi.py +969 -0
- pyadps-0.3.3b0/src/pyadps/utils/readrdi.py +1610 -0
- pyadps-0.3.3b0/src/pyadps/utils/script.py +201 -0
- pyadps-0.3.3b0/src/pyadps/utils/sensor_health.py +120 -0
- pyadps-0.3.3b0/src/pyadps/utils/signal_quality.py +455 -0
- pyadps-0.3.3b0/src/pyadps/utils/velocity_test.py +200 -0
- pyadps-0.3.3b0/src/pyadps/utils/writenc.py +339 -0
pyadps-0.3.3b0/LICENSE
ADDED
@@ -0,0 +1,8 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
Copyright © 2024 <copyright holders>
|
3
|
+
|
4
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
5
|
+
|
6
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
7
|
+
|
8
|
+
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
pyadps-0.3.3b0/PKG-INFO
ADDED
@@ -0,0 +1,172 @@
|
|
1
|
+
Metadata-Version: 2.3
|
2
|
+
Name: pyadps
|
3
|
+
Version: 0.3.3b0
|
4
|
+
Summary: A Python package for ADCP data processing
|
5
|
+
Home-page: https://example.com
|
6
|
+
License: MIT
|
7
|
+
Keywords: adcp,data-processing,oceanography
|
8
|
+
Author: P. Amol
|
9
|
+
Author-email: prakashamol@gmail.com
|
10
|
+
Requires-Python: >=3.12,<4.0.0
|
11
|
+
Classifier: License :: OSI Approved :: MIT License
|
12
|
+
Classifier: Operating System :: OS Independent
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
14
|
+
Classifier: Programming Language :: Python :: 3.12
|
15
|
+
Classifier: Programming Language :: Python :: 3.13
|
16
|
+
Provides-Extra: tests
|
17
|
+
Requires-Dist: cmake (>=3.30.2)
|
18
|
+
Requires-Dist: matplotlib (>=3.8.4)
|
19
|
+
Requires-Dist: meson (>=1.4.1)
|
20
|
+
Requires-Dist: netCDF4 (>=1.7.1)
|
21
|
+
Requires-Dist: numpy (>=1.26.4)
|
22
|
+
Requires-Dist: pandas (>=2.2.2)
|
23
|
+
Requires-Dist: plotly (>=5.22.0)
|
24
|
+
Requires-Dist: plotly-resampler (>=0.10.0)
|
25
|
+
Requires-Dist: pygeomag (>=1.1.0,<2.0.0)
|
26
|
+
Requires-Dist: scipy (>=1.14.0)
|
27
|
+
Requires-Dist: streamlit (>=1.36.0)
|
28
|
+
Project-URL: Documentation, https://example.com/docs
|
29
|
+
Project-URL: Repository, https://github.com/p-amol/pyadps
|
30
|
+
Description-Content-Type: text/markdown
|
31
|
+
|
32
|
+
# pyadps
|
33
|
+
|
34
|
+
`pyadps` is a Python package for processing moored Acoustic Doppler
|
35
|
+
Current Profiler (ADCP) data. It provides various functionalities
|
36
|
+
such as data reading, quality control tests, NetCDF file creation,
|
37
|
+
and visualization.
|
38
|
+
|
39
|
+
This software offers both a graphical interface (`Streamlit`) for
|
40
|
+
those new to Python and direct Python package access for experienced
|
41
|
+
users. Please note that `pyadps` is primarily designed for Teledyne
|
42
|
+
RDI workhorse ADCPs. Other company's ADCP files are not compatible,
|
43
|
+
and while some other RDI models may work, they might require additional
|
44
|
+
considerations.
|
45
|
+
|
46
|
+
- Documentation: <https://pyadps.readthedocs.io>
|
47
|
+
- Source code: <https://github.com/p-amol/pyadps>
|
48
|
+
- Bug reports: <https://github.com/p-amol/pyadps/issues>
|
49
|
+
|
50
|
+
## Table of Contents
|
51
|
+
|
52
|
+
- [Installation](#installation)
|
53
|
+
- [Quick Start](#quick-start)
|
54
|
+
- [License](#license)
|
55
|
+
|
56
|
+
## Installation
|
57
|
+
|
58
|
+
We recommend installing the package within a virtual environment.
|
59
|
+
At present, the package is compatible exclusively with Python version 3.12.
|
60
|
+
You can create a Python environment using tools like `venv` or `conda`.
|
61
|
+
Below are instructions for both methods.
|
62
|
+
|
63
|
+
### 1. Using `venv` (Built-in Python Tool)
|
64
|
+
|
65
|
+
#### Step 1: Install Python version 3.12 (if not already installed)
|
66
|
+
|
67
|
+
Ensure you have Python installed. You can download the latest version from [python.org](https://www.python.org/downloads/).
|
68
|
+
|
69
|
+
#### Step 2: Create a Virtual Environment
|
70
|
+
|
71
|
+
- Open your terminal or command prompt.
|
72
|
+
- Navigate to your project folder:
|
73
|
+
|
74
|
+
```bash
|
75
|
+
cd /path/to/your/project
|
76
|
+
```
|
77
|
+
|
78
|
+
- Run the following command to create a virtual environment
|
79
|
+
(replace adpsenv with your preferred environment name):
|
80
|
+
|
81
|
+
```bash
|
82
|
+
python -m venv adpsenv
|
83
|
+
```
|
84
|
+
|
85
|
+
#### Step 3: Activate the Environment
|
86
|
+
|
87
|
+
- On Windows:
|
88
|
+
|
89
|
+
```bash
|
90
|
+
adpsenv\Scripts\activate
|
91
|
+
```
|
92
|
+
|
93
|
+
- On macOS/Linux:
|
94
|
+
|
95
|
+
```bash
|
96
|
+
source adpsenv/bin/activate
|
97
|
+
```
|
98
|
+
|
99
|
+
You’ll see the environment name in your terminal prompt
|
100
|
+
indicating the environment is active.
|
101
|
+
|
102
|
+
#### Step 4: Install Dependencies
|
103
|
+
|
104
|
+
Now you can install packages like this:
|
105
|
+
|
106
|
+
```bash
|
107
|
+
pip install pyadps
|
108
|
+
```
|
109
|
+
|
110
|
+
#### Step 5: Deactivate the Environment
|
111
|
+
|
112
|
+
When you’re done working in the environment, deactivate it by running:
|
113
|
+
|
114
|
+
```bash
|
115
|
+
deactivate
|
116
|
+
```
|
117
|
+
|
118
|
+
### 2. Using `conda` (Anaconda/Miniconda)
|
119
|
+
|
120
|
+
#### Step 1: Install Conda
|
121
|
+
|
122
|
+
First, you need to have Conda installed on your system. You can either install:
|
123
|
+
|
124
|
+
- [Anaconda (Full Distribution)](https://www.anaconda.com/products/individual)
|
125
|
+
- [Miniconda (Lightweight Version)](https://docs.conda.io/en/latest/miniconda.html)
|
126
|
+
|
127
|
+
#### Step 2: Create a Conda Environment with Python 3.12
|
128
|
+
|
129
|
+
Once Conda is installed, open a terminal or command prompt and run
|
130
|
+
the following to create a new environment (replace `adpsenv` with
|
131
|
+
your preferred environment name):
|
132
|
+
|
133
|
+
```bash
|
134
|
+
conda create --name adpsenv python=3.12
|
135
|
+
```
|
136
|
+
|
137
|
+
#### Step 3: Activate the Conda Environment
|
138
|
+
|
139
|
+
```bash
|
140
|
+
conda activate adpsenv
|
141
|
+
```
|
142
|
+
|
143
|
+
#### Step 4: Install pyadps Dependencies
|
144
|
+
|
145
|
+
You can install packages with pip inside Conda environments.
|
146
|
+
|
147
|
+
```bash
|
148
|
+
pip install pyadps
|
149
|
+
```
|
150
|
+
|
151
|
+
#### Step 5: Deactivate the Conda Environment
|
152
|
+
|
153
|
+
When done working in the environment, deactivate the environment by running:
|
154
|
+
|
155
|
+
```bash
|
156
|
+
conda deactivate
|
157
|
+
```
|
158
|
+
|
159
|
+
## Quick Start
|
160
|
+
|
161
|
+
### Streamlit web interface
|
162
|
+
|
163
|
+
Open a terminal or command prompt, activate the environment, and run the command.
|
164
|
+
|
165
|
+
```bash
|
166
|
+
run-pyadps
|
167
|
+
```
|
168
|
+
|
169
|
+
## License
|
170
|
+
|
171
|
+
This project is licensed under the MIT License. See the LICENSE file for details.
|
172
|
+
|
pyadps-0.3.3b0/README.md
ADDED
@@ -0,0 +1,140 @@
|
|
1
|
+
# pyadps
|
2
|
+
|
3
|
+
`pyadps` is a Python package for processing moored Acoustic Doppler
|
4
|
+
Current Profiler (ADCP) data. It provides various functionalities
|
5
|
+
such as data reading, quality control tests, NetCDF file creation,
|
6
|
+
and visualization.
|
7
|
+
|
8
|
+
This software offers both a graphical interface (`Streamlit`) for
|
9
|
+
those new to Python and direct Python package access for experienced
|
10
|
+
users. Please note that `pyadps` is primarily designed for Teledyne
|
11
|
+
RDI workhorse ADCPs. Other company's ADCP files are not compatible,
|
12
|
+
and while some other RDI models may work, they might require additional
|
13
|
+
considerations.
|
14
|
+
|
15
|
+
- Documentation: <https://pyadps.readthedocs.io>
|
16
|
+
- Source code: <https://github.com/p-amol/pyadps>
|
17
|
+
- Bug reports: <https://github.com/p-amol/pyadps/issues>
|
18
|
+
|
19
|
+
## Table of Contents
|
20
|
+
|
21
|
+
- [Installation](#installation)
|
22
|
+
- [Quick Start](#quick-start)
|
23
|
+
- [License](#license)
|
24
|
+
|
25
|
+
## Installation
|
26
|
+
|
27
|
+
We recommend installing the package within a virtual environment.
|
28
|
+
At present, the package is compatible exclusively with Python version 3.12.
|
29
|
+
You can create a Python environment using tools like `venv` or `conda`.
|
30
|
+
Below are instructions for both methods.
|
31
|
+
|
32
|
+
### 1. Using `venv` (Built-in Python Tool)
|
33
|
+
|
34
|
+
#### Step 1: Install Python version 3.12 (if not already installed)
|
35
|
+
|
36
|
+
Ensure you have Python installed. You can download the latest version from [python.org](https://www.python.org/downloads/).
|
37
|
+
|
38
|
+
#### Step 2: Create a Virtual Environment
|
39
|
+
|
40
|
+
- Open your terminal or command prompt.
|
41
|
+
- Navigate to your project folder:
|
42
|
+
|
43
|
+
```bash
|
44
|
+
cd /path/to/your/project
|
45
|
+
```
|
46
|
+
|
47
|
+
- Run the following command to create a virtual environment
|
48
|
+
(replace adpsenv with your preferred environment name):
|
49
|
+
|
50
|
+
```bash
|
51
|
+
python -m venv adpsenv
|
52
|
+
```
|
53
|
+
|
54
|
+
#### Step 3: Activate the Environment
|
55
|
+
|
56
|
+
- On Windows:
|
57
|
+
|
58
|
+
```bash
|
59
|
+
adpsenv\Scripts\activate
|
60
|
+
```
|
61
|
+
|
62
|
+
- On macOS/Linux:
|
63
|
+
|
64
|
+
```bash
|
65
|
+
source adpsenv/bin/activate
|
66
|
+
```
|
67
|
+
|
68
|
+
You’ll see the environment name in your terminal prompt
|
69
|
+
indicating the environment is active.
|
70
|
+
|
71
|
+
#### Step 4: Install Dependencies
|
72
|
+
|
73
|
+
Now you can install packages like this:
|
74
|
+
|
75
|
+
```bash
|
76
|
+
pip install pyadps
|
77
|
+
```
|
78
|
+
|
79
|
+
#### Step 5: Deactivate the Environment
|
80
|
+
|
81
|
+
When you’re done working in the environment, deactivate it by running:
|
82
|
+
|
83
|
+
```bash
|
84
|
+
deactivate
|
85
|
+
```
|
86
|
+
|
87
|
+
### 2. Using `conda` (Anaconda/Miniconda)
|
88
|
+
|
89
|
+
#### Step 1: Install Conda
|
90
|
+
|
91
|
+
First, you need to have Conda installed on your system. You can either install:
|
92
|
+
|
93
|
+
- [Anaconda (Full Distribution)](https://www.anaconda.com/products/individual)
|
94
|
+
- [Miniconda (Lightweight Version)](https://docs.conda.io/en/latest/miniconda.html)
|
95
|
+
|
96
|
+
#### Step 2: Create a Conda Environment with Python 3.12
|
97
|
+
|
98
|
+
Once Conda is installed, open a terminal or command prompt and run
|
99
|
+
the following to create a new environment (replace `adpsenv` with
|
100
|
+
your preferred environment name):
|
101
|
+
|
102
|
+
```bash
|
103
|
+
conda create --name adpsenv python=3.12
|
104
|
+
```
|
105
|
+
|
106
|
+
#### Step 3: Activate the Conda Environment
|
107
|
+
|
108
|
+
```bash
|
109
|
+
conda activate adpsenv
|
110
|
+
```
|
111
|
+
|
112
|
+
#### Step 4: Install pyadps Dependencies
|
113
|
+
|
114
|
+
You can install packages with pip inside Conda environments.
|
115
|
+
|
116
|
+
```bash
|
117
|
+
pip install pyadps
|
118
|
+
```
|
119
|
+
|
120
|
+
#### Step 5: Deactivate the Conda Environment
|
121
|
+
|
122
|
+
When done working in the environment, deactivate the environment by running:
|
123
|
+
|
124
|
+
```bash
|
125
|
+
conda deactivate
|
126
|
+
```
|
127
|
+
|
128
|
+
## Quick Start
|
129
|
+
|
130
|
+
### Streamlit web interface
|
131
|
+
|
132
|
+
Open a terminal or command prompt, activate the environment, and run the command.
|
133
|
+
|
134
|
+
```bash
|
135
|
+
run-pyadps
|
136
|
+
```
|
137
|
+
|
138
|
+
## License
|
139
|
+
|
140
|
+
This project is licensed under the MIT License. See the LICENSE file for details.
|
@@ -0,0 +1,45 @@
|
|
1
|
+
[tool.poetry]
|
2
|
+
name = "pyadps"
|
3
|
+
version = "0.3.3-beta"
|
4
|
+
description = "A Python package for ADCP data processing"
|
5
|
+
authors = ["P. Amol <prakashamol@gmail.com>"]
|
6
|
+
readme = "README.md"
|
7
|
+
license = "MIT"
|
8
|
+
homepage = "https://example.com" # You can add your homepage URL or GitHub URL here
|
9
|
+
repository = "https://github.com/p-amol/pyadps" # Replace with your repository link
|
10
|
+
documentation = "https://example.com/docs" # Optional documentation link
|
11
|
+
keywords = ["adcp", "data-processing", "oceanography"]
|
12
|
+
include = ["utils/metadata/*.json"]
|
13
|
+
classifiers = [
|
14
|
+
"Programming Language :: Python :: 3",
|
15
|
+
"License :: OSI Approved :: MIT License",
|
16
|
+
"Operating System :: OS Independent",
|
17
|
+
]
|
18
|
+
|
19
|
+
|
20
|
+
[tool.poetry.dependencies]
|
21
|
+
python = "<4.0.0,>=3.12"
|
22
|
+
streamlit = ">=1.36.0"
|
23
|
+
numpy = ">=1.26.4"
|
24
|
+
matplotlib = ">=3.8.4"
|
25
|
+
scipy = ">=1.14.0"
|
26
|
+
cmake = ">=3.30.2"
|
27
|
+
pandas = ">=2.2.2"
|
28
|
+
netCDF4 = ">=1.7.1"
|
29
|
+
plotly = ">=5.22.0"
|
30
|
+
plotly-resampler = ">=0.10.0"
|
31
|
+
meson = ">=1.4.1"
|
32
|
+
pygeomag = "^1.1.0"
|
33
|
+
|
34
|
+
|
35
|
+
[tool.poetry.extras]
|
36
|
+
tests = ["pytest"]
|
37
|
+
|
38
|
+
[tool.poetry.scripts]
|
39
|
+
run-pyadps = "pyadps.__main__:main"
|
40
|
+
run-auto = "pyadps.utils.autoprocess:main"
|
41
|
+
run-script = "pyadps.utils.script:main"
|
42
|
+
|
43
|
+
[build-system]
|
44
|
+
requires = ["poetry-core>=1.0.0"]
|
45
|
+
build-backend = "poetry.core.masonry.api"
|
@@ -0,0 +1,42 @@
|
|
1
|
+
import streamlit as st
|
2
|
+
|
3
|
+
|
4
|
+
def main():
|
5
|
+
st.set_page_config(
|
6
|
+
page_title="ADCP Data Processing Software",
|
7
|
+
page_icon=":world_map:️",
|
8
|
+
layout="wide",
|
9
|
+
initial_sidebar_state="auto",
|
10
|
+
menu_items={
|
11
|
+
"Get Help": "http://github.com/p-amol/adps",
|
12
|
+
"Report a bug": "http://github.com/adps/issues",
|
13
|
+
"About": "# Python ADCP Data Processing Software (PyADPS)",
|
14
|
+
},
|
15
|
+
)
|
16
|
+
|
17
|
+
"""
|
18
|
+
# **Python ADCP Data Processing Software (pyadps)**
|
19
|
+
`pyadps` is a software for processing Teledyne RDI Acoustic Doppler Current Profiler (ADCP) PD0 files. Currently the software can process the data from Workhorse ADCPs.
|
20
|
+
|
21
|
+
## Features
|
22
|
+
|
23
|
+
* Access RDI ADCP binary files using Python 3
|
24
|
+
* Convert RDI binary files to netcdf
|
25
|
+
* Process ADCP data
|
26
|
+
|
27
|
+
## Contribute
|
28
|
+
Issue Tracker: http://github.com/adps/issues
|
29
|
+
Source Code: http://github.com/p-amol/adps
|
30
|
+
|
31
|
+
## Support
|
32
|
+
If you are having issues, please let us know.
|
33
|
+
We have a mailing list located at: adps-python@google-groups.com
|
34
|
+
|
35
|
+
## License
|
36
|
+
The project is licensed under the MIT license.
|
37
|
+
|
38
|
+
"""
|
39
|
+
|
40
|
+
|
41
|
+
if __name__ == "__main__":
|
42
|
+
main()
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# pyadps/__main__.py
|
2
|
+
|
3
|
+
import subprocess
|
4
|
+
import os
|
5
|
+
|
6
|
+
def main():
|
7
|
+
# Get the absolute path to Home_Page.py
|
8
|
+
current_dir = os.path.dirname(os.path.abspath(__file__))
|
9
|
+
home_page_path = os.path.join(current_dir, 'Home_Page.py')
|
10
|
+
|
11
|
+
# Run the Streamlit app
|
12
|
+
subprocess.run(["streamlit", "run", home_page_path])
|
13
|
+
|
14
|
+
if __name__ == "__main__":
|
15
|
+
main()
|