svc-processing 0.1.4__tar.gz → 0.1.5__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 (28) hide show
  1. {svc_processing-0.1.4 → svc_processing-0.1.5}/PKG-INFO +18 -13
  2. {svc_processing-0.1.4 → svc_processing-0.1.5}/README.md +16 -12
  3. svc_processing-0.1.5/pipeline/notebook.py +1229 -0
  4. {svc_processing-0.1.4 → svc_processing-0.1.5}/pyproject.toml +4 -2
  5. {svc_processing-0.1.4 → svc_processing-0.1.5}/svc_processing.egg-info/PKG-INFO +18 -13
  6. {svc_processing-0.1.4 → svc_processing-0.1.5}/svc_processing.egg-info/SOURCES.txt +1 -0
  7. {svc_processing-0.1.4 → svc_processing-0.1.5}/svc_processing.egg-info/requires.txt +1 -0
  8. svc_processing-0.1.5/tests/test_pipeline_demo.py +153 -0
  9. svc_processing-0.1.4/tests/test_pipeline_demo.py +0 -107
  10. {svc_processing-0.1.4 → svc_processing-0.1.5}/LICENSE +0 -0
  11. {svc_processing-0.1.4 → svc_processing-0.1.5}/pipeline/__init__.py +0 -0
  12. {svc_processing-0.1.4 → svc_processing-0.1.5}/pipeline/cli.py +0 -0
  13. {svc_processing-0.1.4 → svc_processing-0.1.5}/pipeline/processor.py +0 -0
  14. {svc_processing-0.1.4 → svc_processing-0.1.5}/pipeline/resampler.py +0 -0
  15. {svc_processing-0.1.4 → svc_processing-0.1.5}/pipeline/run_config.py +0 -0
  16. {svc_processing-0.1.4 → svc_processing-0.1.5}/pipeline/runner.py +0 -0
  17. {svc_processing-0.1.4 → svc_processing-0.1.5}/pipeline/sig_processor.py +0 -0
  18. {svc_processing-0.1.4 → svc_processing-0.1.5}/setup.cfg +0 -0
  19. {svc_processing-0.1.4 → svc_processing-0.1.5}/svc_processing.egg-info/dependency_links.txt +0 -0
  20. {svc_processing-0.1.4 → svc_processing-0.1.5}/svc_processing.egg-info/entry_points.txt +0 -0
  21. {svc_processing-0.1.4 → svc_processing-0.1.5}/svc_processing.egg-info/top_level.txt +0 -0
  22. {svc_processing-0.1.4 → svc_processing-0.1.5}/tests/test_cli.py +0 -0
  23. {svc_processing-0.1.4 → svc_processing-0.1.5}/tests/test_processor.py +0 -0
  24. {svc_processing-0.1.4 → svc_processing-0.1.5}/tests/test_resampler_parity.py +0 -0
  25. {svc_processing-0.1.4 → svc_processing-0.1.5}/tests/test_resampler_public_api.py +0 -0
  26. {svc_processing-0.1.4 → svc_processing-0.1.5}/tests/test_run_config.py +0 -0
  27. {svc_processing-0.1.4 → svc_processing-0.1.5}/tests/test_runner.py +0 -0
  28. {svc_processing-0.1.4 → svc_processing-0.1.5}/tests/test_sig_processor.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: svc-processing
3
- Version: 0.1.4
3
+ Version: 0.1.5
4
4
  Summary: Pure-Python SVC HR-1024i hyperspectral .sig processing pipeline
5
5
  Author: Gold Lab (GrapeSPEC project), Cornell University
6
6
  Author-email: Cole Regnier <nr466@cornell.edu>
@@ -20,6 +20,7 @@ Requires-Dist: numpy
20
20
  Requires-Dist: pandas
21
21
  Requires-Dist: scipy
22
22
  Provides-Extra: demo
23
+ Requires-Dist: ipykernel; extra == "demo"
23
24
  Requires-Dist: matplotlib; extra == "demo"
24
25
  Requires-Dist: nbclient; extra == "demo"
25
26
  Requires-Dist: nbconvert; extra == "demo"
@@ -81,7 +82,7 @@ svc-pipeline
81
82
  setup script once, then activate the environment it created:
82
83
 
83
84
  ```bash
84
- ./setup.sh # creates .venv, installs everything, stages the demo data
85
+ ./setup.sh # creates .venv and installs the project + notebook tools
85
86
  # ./setup.sh --dev # add the test & lint tools for development
86
87
 
87
88
  source .venv/bin/activate # macOS / Linux
@@ -211,6 +212,7 @@ The most-used entry points (all importable from their concrete modules — `pipe
211
212
  ```python
212
213
  from pipeline.sig_processor import SigFileProcessor # truncation + instrument inspection
213
214
  from pipeline.resampler import process_sig_file, resample_spectra
215
+ from pipeline.notebook import Spectrum, SpectraCollection, build_config
214
216
  from pipeline.processor import (
215
217
  SVCDataProcessor, # chainable load/group/average
216
218
  SigSpectraAverager, # facade — pass a DataFrame, get aggregated DataFrame back
@@ -235,18 +237,21 @@ Detailed signatures and behavioural notes in [`pipeline/README.md`](pipeline/REA
235
237
 
236
238
  ## Demo Notebook
237
239
 
238
- The demo notebook uses an external 15-file `.sig` artifact because raw headers
239
- contain GPS/location metadata. Prepare local demo data with:
240
-
241
- ```bash
242
- python3 scripts/prepare_demo_data.py \
243
- --source-dir data/a4any_sb_2025-cn_ch-svc-aviris_bottom
244
- ```
245
-
246
- The notebook is config-driven: edit the settings cell (`DATA_FOLDER`,
247
- `OUTPUT_FOLDER`, `INSTRUMENT`) to run it on your own data and instrument. See
240
+ [`notebooks/pipeline_demo.ipynb`](notebooks/pipeline_demo.ipynb) is designed to
241
+ be shared as a standalone file: its first code cell checks for the notebook
242
+ helpers, installs `svc-processing[demo]>=0.1.5` into the current kernel when
243
+ needed, and falls back to the public GitHub source archive while that release is
244
+ not yet on PyPI. The tutorial assumes you have an authorized folder of raw
245
+ `.sig` scans; set `DATA_FOLDER`, `OUTPUT_FOLDER`, `INSTRUMENT`, and `END_LINE` in
246
+ the opening cells. Raw field scans are not shipped in the public repository
247
+ because their headers can contain time and GPS metadata.
248
+ See
248
249
  [`notebooks/pipeline_demo/README.md`](notebooks/pipeline_demo/README.md).
249
250
 
251
+ Authorized parity work can still stage the separate external field dataset with
252
+ [`scripts/prepare_demo_data.py`](scripts/prepare_demo_data.py); those raw files
253
+ never enter the package or default notebook path.
254
+
250
255
  ---
251
256
 
252
257
  ## Requirements
@@ -255,7 +260,7 @@ Python 3.11 is the supported runtime. Runtime, demo, and development
255
260
  dependencies are declared in [`pyproject.toml`](pyproject.toml).
256
261
 
257
262
  - `numpy`, `scipy`, `pandas` — numerical core.
258
- - `matplotlib` — demo notebook plotting.
263
+ - `matplotlib`, `ipykernel` — demo notebook plotting and execution.
259
264
  - `pytest>=8.3.0` — test runner for local verification.
260
265
 
261
266
  Install with `python -m pip install -e ".[dev,demo]"` for local development and
@@ -48,7 +48,7 @@ svc-pipeline
48
48
  setup script once, then activate the environment it created:
49
49
 
50
50
  ```bash
51
- ./setup.sh # creates .venv, installs everything, stages the demo data
51
+ ./setup.sh # creates .venv and installs the project + notebook tools
52
52
  # ./setup.sh --dev # add the test & lint tools for development
53
53
 
54
54
  source .venv/bin/activate # macOS / Linux
@@ -178,6 +178,7 @@ The most-used entry points (all importable from their concrete modules — `pipe
178
178
  ```python
179
179
  from pipeline.sig_processor import SigFileProcessor # truncation + instrument inspection
180
180
  from pipeline.resampler import process_sig_file, resample_spectra
181
+ from pipeline.notebook import Spectrum, SpectraCollection, build_config
181
182
  from pipeline.processor import (
182
183
  SVCDataProcessor, # chainable load/group/average
183
184
  SigSpectraAverager, # facade — pass a DataFrame, get aggregated DataFrame back
@@ -202,18 +203,21 @@ Detailed signatures and behavioural notes in [`pipeline/README.md`](pipeline/REA
202
203
 
203
204
  ## Demo Notebook
204
205
 
205
- The demo notebook uses an external 15-file `.sig` artifact because raw headers
206
- contain GPS/location metadata. Prepare local demo data with:
207
-
208
- ```bash
209
- python3 scripts/prepare_demo_data.py \
210
- --source-dir data/a4any_sb_2025-cn_ch-svc-aviris_bottom
211
- ```
212
-
213
- The notebook is config-driven: edit the settings cell (`DATA_FOLDER`,
214
- `OUTPUT_FOLDER`, `INSTRUMENT`) to run it on your own data and instrument. See
206
+ [`notebooks/pipeline_demo.ipynb`](notebooks/pipeline_demo.ipynb) is designed to
207
+ be shared as a standalone file: its first code cell checks for the notebook
208
+ helpers, installs `svc-processing[demo]>=0.1.5` into the current kernel when
209
+ needed, and falls back to the public GitHub source archive while that release is
210
+ not yet on PyPI. The tutorial assumes you have an authorized folder of raw
211
+ `.sig` scans; set `DATA_FOLDER`, `OUTPUT_FOLDER`, `INSTRUMENT`, and `END_LINE` in
212
+ the opening cells. Raw field scans are not shipped in the public repository
213
+ because their headers can contain time and GPS metadata.
214
+ See
215
215
  [`notebooks/pipeline_demo/README.md`](notebooks/pipeline_demo/README.md).
216
216
 
217
+ Authorized parity work can still stage the separate external field dataset with
218
+ [`scripts/prepare_demo_data.py`](scripts/prepare_demo_data.py); those raw files
219
+ never enter the package or default notebook path.
220
+
217
221
  ---
218
222
 
219
223
  ## Requirements
@@ -222,7 +226,7 @@ Python 3.11 is the supported runtime. Runtime, demo, and development
222
226
  dependencies are declared in [`pyproject.toml`](pyproject.toml).
223
227
 
224
228
  - `numpy`, `scipy`, `pandas` — numerical core.
225
- - `matplotlib` — demo notebook plotting.
229
+ - `matplotlib`, `ipykernel` — demo notebook plotting and execution.
226
230
  - `pytest>=8.3.0` — test runner for local verification.
227
231
 
228
232
  Install with `python -m pip install -e ".[dev,demo]"` for local development and