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.
Files changed (32) hide show
  1. pyadps-0.3.3b0/LICENSE +8 -0
  2. pyadps-0.3.3b0/PKG-INFO +172 -0
  3. pyadps-0.3.3b0/README.md +140 -0
  4. pyadps-0.3.3b0/pyproject.toml +45 -0
  5. pyadps-0.3.3b0/src/pyadps/Home_Page.py +42 -0
  6. pyadps-0.3.3b0/src/pyadps/__init__.py +8 -0
  7. pyadps-0.3.3b0/src/pyadps/__main__.py +15 -0
  8. pyadps-0.3.3b0/src/pyadps/pages/01_Read_File.py +458 -0
  9. pyadps-0.3.3b0/src/pyadps/pages/02_View_Raw_Data.py +164 -0
  10. pyadps-0.3.3b0/src/pyadps/pages/03_Download_Raw_File.py +298 -0
  11. pyadps-0.3.3b0/src/pyadps/pages/04_Sensor_Health.py +905 -0
  12. pyadps-0.3.3b0/src/pyadps/pages/05_QC_Test.py +476 -0
  13. pyadps-0.3.3b0/src/pyadps/pages/06_Profile_Test.py +970 -0
  14. pyadps-0.3.3b0/src/pyadps/pages/07_Velocity_Test.py +600 -0
  15. pyadps-0.3.3b0/src/pyadps/pages/08_Write_File.py +574 -0
  16. pyadps-0.3.3b0/src/pyadps/pages/09_Auto_process.py +62 -0
  17. pyadps-0.3.3b0/src/pyadps/pages/__init__.py +0 -0
  18. pyadps-0.3.3b0/src/pyadps/utils/__init__.py +12 -0
  19. pyadps-0.3.3b0/src/pyadps/utils/autoprocess.py +530 -0
  20. pyadps-0.3.3b0/src/pyadps/utils/metadata/config.ini +99 -0
  21. pyadps-0.3.3b0/src/pyadps/utils/metadata/demo.000 +0 -0
  22. pyadps-0.3.3b0/src/pyadps/utils/metadata/flmeta.json +422 -0
  23. pyadps-0.3.3b0/src/pyadps/utils/metadata/vlmeta.json +567 -0
  24. pyadps-0.3.3b0/src/pyadps/utils/plotgen.py +728 -0
  25. pyadps-0.3.3b0/src/pyadps/utils/profile_test.py +556 -0
  26. pyadps-0.3.3b0/src/pyadps/utils/pyreadrdi.py +969 -0
  27. pyadps-0.3.3b0/src/pyadps/utils/readrdi.py +1610 -0
  28. pyadps-0.3.3b0/src/pyadps/utils/script.py +201 -0
  29. pyadps-0.3.3b0/src/pyadps/utils/sensor_health.py +120 -0
  30. pyadps-0.3.3b0/src/pyadps/utils/signal_quality.py +455 -0
  31. pyadps-0.3.3b0/src/pyadps/utils/velocity_test.py +200 -0
  32. 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.
@@ -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
+
@@ -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,8 @@
1
+ #import utils.pyreadrdi
2
+ #import utils.readrdi
3
+ # pyadps/__init__.py
4
+
5
+ # Importing main modules and functions to simplify access
6
+ from pyadps.Home_Page import main as show_home_page
7
+ from pyadps.pages import *
8
+ from pyadps.utils import *
@@ -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()