hyper-py-photometry 0.1.3__tar.gz → 0.1.4__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 (79) hide show
  1. {hyper_py_photometry-0.1.3/src/hyper_py_photometry.egg-info → hyper_py_photometry-0.1.4}/PKG-INFO +69 -39
  2. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/README.md +68 -38
  3. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/requirements.txt +2 -1
  4. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/src/hyper_py/__init__.py +1 -1
  5. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4/src/hyper_py_photometry.egg-info}/PKG-INFO +69 -39
  6. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/.github/workflows/Hyper-py_paper.yml +0 -0
  7. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/.github/workflows/pypi-publish.yml +0 -0
  8. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/.gitignore +0 -0
  9. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/.vscode/launch.json +0 -0
  10. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/IDL_comparison/Gaussian_comparison_Hyper_py_IDL_ALL.py +0 -0
  11. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/IDL_comparison/ellipses_map_500_Gaussians_1_centroids.reg +0 -0
  12. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/IDL_comparison/ellipses_map_500_Gaussians_1_ellipses.reg +0 -0
  13. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/IDL_comparison/ellipses_map_500_Gaussians_2_centroids.reg +0 -0
  14. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/IDL_comparison/ellipses_map_500_Gaussians_2_ellipses.reg +0 -0
  15. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/IDL_comparison/hyper_output_map_500_Gaussians_1.txt +0 -0
  16. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/IDL_comparison/hyper_output_map_500_Gaussians_2.txt +0 -0
  17. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/IDL_comparison/map_500_Gaussians_1.fits +0 -0
  18. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/IDL_comparison/map_500_Gaussians_2.fits +0 -0
  19. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/IDL_comparison/matched_flux_comparison_table.txt +0 -0
  20. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/IDL_comparison/output/Flux_Comparison_Hyper_IDL_Int_1.png +0 -0
  21. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/IDL_comparison/output/Flux_Comparison_Hyper_IDL_Int_2.png +0 -0
  22. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/IDL_comparison/output/Flux_Comparison_Hyper_IDL_Peak_1.png +0 -0
  23. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/IDL_comparison/output/Flux_Comparison_Hyper_IDL_Peak_2.png +0 -0
  24. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/IDL_comparison/output/Flux_Comparison_Hyper_IDL_vs_py_Int_1.png +0 -0
  25. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/IDL_comparison/output/Flux_Comparison_Hyper_IDL_vs_py_Int_2.png +0 -0
  26. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/IDL_comparison/output/Flux_Comparison_Hyper_IDL_vs_py_Peak_1.png +0 -0
  27. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/IDL_comparison/output/Flux_Comparison_Hyper_IDL_vs_py_Peak_2.png +0 -0
  28. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/IDL_comparison/output/Flux_Comparison_Hyper_py_Int_1.png +0 -0
  29. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/IDL_comparison/output/Flux_Comparison_Hyper_py_Int_2.png +0 -0
  30. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/IDL_comparison/output/Flux_Comparison_Hyper_py_Peak_1.png +0 -0
  31. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/IDL_comparison/output/Flux_Comparison_Hyper_py_Peak_2.png +0 -0
  32. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/IDL_comparison/output/Flux_Diff_Histogram_Int.png +0 -0
  33. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/IDL_comparison/output/Flux_Diff_Histogram_Peak.png +0 -0
  34. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/IDL_comparison/output/combined_source_counts_comparison.txt +0 -0
  35. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/IDL_comparison/output/matched_flux_comparison_table.txt +0 -0
  36. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/IDL_comparison/photometry_sources_1300_ellipses_1300_polynomial_background_4sigma_ipac_1.txt +0 -0
  37. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/IDL_comparison/photometry_sources_1300_ellipses_1300_polynomial_background_4sigma_ipac_2.txt +0 -0
  38. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/IDL_comparison/table_500_Gaussians_1.txt +0 -0
  39. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/IDL_comparison/table_500_Gaussians_2.txt +0 -0
  40. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/LICENSE +0 -0
  41. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/environment.yml +0 -0
  42. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/paper/Figures/Flux_Diff_Histogram_Int.png +0 -0
  43. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/paper/Figures/Flux_Diff_Histogram_Peak.png +0 -0
  44. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/paper/paper.bib +0 -0
  45. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/paper/paper.md +0 -0
  46. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/pyproject.toml +0 -0
  47. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/setup.cfg +0 -0
  48. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/src/hyper_py/__main__.py +0 -0
  49. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/src/hyper_py/assets/default_config.yaml +0 -0
  50. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/src/hyper_py/bkg_multigauss.py +0 -0
  51. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/src/hyper_py/bkg_single.py +0 -0
  52. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/src/hyper_py/config.py +0 -0
  53. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/src/hyper_py/create_background_slices.py +0 -0
  54. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/src/hyper_py/data_output.py +0 -0
  55. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/src/hyper_py/detection.py +0 -0
  56. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/src/hyper_py/extract_cubes.py +0 -0
  57. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/src/hyper_py/fitting.py +0 -0
  58. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/src/hyper_py/gaussfit.py +0 -0
  59. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/src/hyper_py/groups.py +0 -0
  60. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/src/hyper_py/hyper.py +0 -0
  61. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/src/hyper_py/logger.py +0 -0
  62. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/src/hyper_py/map_io.py +0 -0
  63. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/src/hyper_py/paths_io.py +0 -0
  64. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/src/hyper_py/photometry.py +0 -0
  65. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/src/hyper_py/run_hyper.py +0 -0
  66. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/src/hyper_py/single_map.py +0 -0
  67. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/src/hyper_py/survey.py +0 -0
  68. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/src/hyper_py/visualization.py +0 -0
  69. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/src/hyper_py_photometry.egg-info/SOURCES.txt +0 -0
  70. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/src/hyper_py_photometry.egg-info/dependency_links.txt +0 -0
  71. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/src/hyper_py_photometry.egg-info/entry_points.txt +0 -0
  72. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/src/hyper_py_photometry.egg-info/requires.txt +0 -0
  73. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/src/hyper_py_photometry.egg-info/top_level.txt +0 -0
  74. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/test/maps/test_2d_map_1.fits +0 -0
  75. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/test/maps/test_2d_map_2.fits +0 -0
  76. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/test/maps/test_2dmap.txt +0 -0
  77. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/test/maps/test_datacube.fits +0 -0
  78. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/test/maps/test_datacube.txt +0 -0
  79. {hyper_py_photometry-0.1.3 → hyper_py_photometry-0.1.4}/test/test_hyper.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hyper-py-photometry
3
- Version: 0.1.3
3
+ Version: 0.1.4
4
4
  Summary: HYPER: Hybrid Photometry Photometry and Extraction Routine
5
5
  Author-email: Alessio Traficante <alessio.traficante@inaf.it>
6
6
  Project-URL: Homepage, https://github.com/alessio-traficante/hyper-py
@@ -62,7 +62,7 @@ Hyper-py now supports **parallel execution** over multiple maps or datacube slic
62
62
  - Maintain **individual log files** for each map
63
63
  - Merge the final outputs (tables and diagnostics) into a single, combined summary
64
64
 
65
- To enable parallelism, set the following parameters in your `config.yaml` file under the `control` section:
65
+ To enable parallelism, set the following parameters in your `hyper_config.yaml` file under the `control` section:
66
66
 
67
67
  ```yaml
68
68
  control:
@@ -73,30 +73,16 @@ control:
73
73
  If `parallel_maps` is set to `false`, the pipeline will run in serial mode.
74
74
 
75
75
 
76
+ ## 🛠️ Installation
77
+ You can install and use `Hyper-py` in two different ways, depending on your needs:
76
78
 
77
- ## 🚀 Prerequisites
78
-
79
- Before using `Hyper-py`, make sure you have all the necessary Python dependencies installed. The following core libraries are required:
80
- • astropy
81
- • photutils
82
- • matplotlib
83
- • lmfit
84
- • pyyaml
85
- • numpy
86
- • scipy
87
- • scikit-learn>=1.4,<1.6
88
-
89
- This will install the necessary packages using `pip`:
90
-
79
+ ### Option 1: Install via `pip` (for direct usage)
80
+ Install via PyPI:
91
81
  ```bash
92
- astropy photutils matplotlib lmfit
82
+ pip install hyper-py-photometry
93
83
  ```
94
84
 
95
-
96
- ## 🛠️ Installation
97
- You can install and use `Hyper-py` in two different ways, depending on your needs:
98
-
99
- ### Option 1: Use the Source Code (for development or integration)
85
+ ### Option 2: Use the Source Code (for development or integration)
100
86
 
101
87
  If you want to modify, extend, or integrate `Hyper-py` in your own projects:
102
88
 
@@ -116,27 +102,71 @@ export PYTHONPATH=$(pwd)/src
116
102
  import sys
117
103
  sys.path.insert(0, "/absolute/path/to/hyper_py/src")
118
104
  ```
119
- ### Option 2: Install via `pip` (for direct usage)
120
- Install via PyPI:
105
+
106
+
107
+ ## ✅ Requirements
108
+
109
+ Before using `Hyper-py`, make sure you have all the necessary Python dependencies installed.
110
+
111
+ If you have installed `Hyper-py` via pip, all the requirements are automatically installed.
112
+ Otherwise, you can use the `requirements.txt` file, this will install the necessary packages using `pip`::
121
113
  ```bash
122
- pip install hyper-py-photometry
114
+ pip install -r requirements.txt
123
115
  ```
124
116
 
125
117
 
126
- ## 🎯 Usage
118
+ ## 📄 Configuration File
119
+
120
+
121
+ `Hyper-py` requires a configuration file named **`hyper_config.yaml`** in order to run.
122
+
123
+ >The first time you run `Hyper-py` a new hyper_config.yaml will be created automatically in the CWD, then you must setup all paths and paramenters.<br>
124
+ >If you already have a configuration file ready or you have moved the new configuration file to a different folder, provide the path as argument.
125
+
126
+ If no path is provided, the application will look for it in this order:
127
+ 1. Path passed as CLI argument
128
+ 2. `hyper_config.yaml` in the current working directory (CWD)
129
+ 3. User configuration directory
130
+ - Linux/macOS: `~/.config/hyper-py/hyper_config.yaml`
131
+ - Windows: `%APPDATA%\HyperPy\hyper_config.yaml`
132
+ 4. If not found, a new `hyper_config.yaml` will be created automatically in the CWD, copied from the package template (`assets/default_config.yaml`).
127
133
 
128
- You can use `Hyper-py` either by importing and running it directly from Python, or via command line.
129
134
  > [!IMPORTANT]
130
- > `Hyper-py` needs a configuration file in order to run. If no configuration file path is provided, the default file located in the `src/` folder will be used.
135
+ > <span style="font-weight:bold;">Before running the pipeline, you <span style="color:red; font-weight:bold;">must</span> edit **`hyper_config.yaml`** and set the correct parameters and paths.</span>
136
+
137
+
138
+ ### Configuration file lookup order
139
+
140
+ | Priority | Location | Description |
141
+ |----------|--------------------------------------------|-----------------------------------------------------------------------------|
142
+ | 1 | CLI argument | Path explicitly provided by the user, e.g. `hyper-py /path/to/hyper_config.yaml`. |
143
+ | 2 | Current Working Directory (CWD) | Looks for `./hyper_config.yaml` in the folder where the command is executed. |
144
+ | 3 | User configuration directory | - **Linux/macOS:** `~/.config/hyper-py/hyper_config.yaml`<br> - **Windows:** `%APPDATA%\HyperPy\hyper_config.yaml` |
145
+ | 4 | Auto-generated in CWD if none is found | A new `hyper_config.yaml` is created, copied from the package template (`assets/default_config.yaml`). |
146
+
147
+ ### 💡 Tips & Tricks
148
+
149
+ - **Use different configs**
150
+ You can maintain multiple configuration files (e.g., `hyper_config.dev.yaml` and `hyper_config.prod.yaml`) and choose which one to run.
151
+ <br>Eg. If you have installed via pip:
152
+ ```bash
153
+ hyper-py ./hyper_config.dev.yaml
154
+ hyper-py ./hyper_config.prod.yaml
155
+ ```
156
+
157
+
158
+ ## 🚀 Usage
159
+
160
+ You can use `Hyper-py` either by importing and running it directly from Python, or via command line.
131
161
 
132
162
  ### 1. From Python
133
163
 
134
- Import and run the `start_hyper` function, passing the path to your YAML configuration file.
164
+ Import and run the `run_hyper` function, passing the path to your YAML configuration file.
135
165
 
136
166
  ```python
137
167
  from hyper_py import run_hyper
138
168
 
139
- run_hyper("path/to/config.yaml")
169
+ run_hyper("path/to/hyper_config.yaml")
140
170
  ```
141
171
  This is the recommended approach if you want to integrate `Hyper-py` into a larger Python application or workflow.
142
172
 
@@ -146,7 +176,7 @@ I) Using the source code:
146
176
 
147
177
  You can execute the tool from the terminal:
148
178
  ```bash
149
- python -m hyper_py path/to/config.yaml
179
+ python -m hyper_py path/to/hyper_config.yaml
150
180
  ```
151
181
  This runs the main process using the configuration file specified.
152
182
 
@@ -154,18 +184,18 @@ II) If installed via pip:
154
184
 
155
185
  Once the .whl package is installed (e.g., via pip install hyper_py-X.X.X-py3-none-any.whl), you can run it directly:
156
186
  ```bash
157
- hyper_py path/to/config.yaml
187
+ hyper_py path/to/hyper_config.yaml
158
188
  ```
159
189
  OR
160
190
  ```bash
161
- hyper-py path/to/config.yaml
191
+ hyper-py path/to/hyper_config.yaml
162
192
  ```
163
193
  OR
164
194
  ```bash
165
- hyper path/to/config.yaml
195
+ hyper path/to/hyper_config.yaml
166
196
  ```
167
197
 
168
- ## Using the Source Code in Visual Studio Code
198
+ ## 💻 Using the Source Code in Visual Studio Code
169
199
  To run or debug the source code using Visual Studio Code:
170
200
  ### 1. Open the project
171
201
  - Open the project folder in VS Code.
@@ -194,7 +224,7 @@ Optional: You can add this to `.vscode/launch.json` for convenience:
194
224
  "request": "launch",
195
225
  "program": "${workspaceFolder}/src/hyper_py/run_hyper.py",
196
226
  "console": "integratedTerminal",
197
- "args": ["path/to/config.yaml"], // Specify a different config file
227
+ "args": ["path/to/hyper_config.yaml"],
198
228
  }
199
229
  ]
200
230
  }
@@ -203,9 +233,9 @@ Optional: You can add this to `.vscode/launch.json` for convenience:
203
233
  <br/><br/>
204
234
 
205
235
 
206
- ## ⚙️ Configuration File Reference (`config.yaml`)
236
+ ## ⚙️ Configuration File Reference (`hyper_config.yaml`)
207
237
 
208
- The `config.yaml` file controls all aspects of the Hyper-py pipeline. Below is a detailed explanation of every entry, including its purpose, accepted values, default, and type.
238
+ The `hyper_config.yaml` file controls all aspects of the Hyper-py pipeline. Below is a detailed explanation of every entry, including its purpose, accepted values, default, and type.
209
239
 
210
240
  ### File Paths
211
241
 
@@ -355,7 +385,7 @@ The `config.yaml` file controls all aspects of the Hyper-py pipeline. Below is a
355
385
  ---
356
386
 
357
387
  **Tip:**
358
- All entries can be customized in your `config.yaml`. If an entry is omitted, the default value will be used.
388
+ All entries can be customized in your `hyper_config.yaml`. If an entry is omitted, the default value will be used.
359
389
 
360
390
 
361
391
 
@@ -42,7 +42,7 @@ Hyper-py now supports **parallel execution** over multiple maps or datacube slic
42
42
  - Maintain **individual log files** for each map
43
43
  - Merge the final outputs (tables and diagnostics) into a single, combined summary
44
44
 
45
- To enable parallelism, set the following parameters in your `config.yaml` file under the `control` section:
45
+ To enable parallelism, set the following parameters in your `hyper_config.yaml` file under the `control` section:
46
46
 
47
47
  ```yaml
48
48
  control:
@@ -53,30 +53,16 @@ control:
53
53
  If `parallel_maps` is set to `false`, the pipeline will run in serial mode.
54
54
 
55
55
 
56
+ ## 🛠️ Installation
57
+ You can install and use `Hyper-py` in two different ways, depending on your needs:
56
58
 
57
- ## 🚀 Prerequisites
58
-
59
- Before using `Hyper-py`, make sure you have all the necessary Python dependencies installed. The following core libraries are required:
60
- • astropy
61
- • photutils
62
- • matplotlib
63
- • lmfit
64
- • pyyaml
65
- • numpy
66
- • scipy
67
- • scikit-learn>=1.4,<1.6
68
-
69
- This will install the necessary packages using `pip`:
70
-
59
+ ### Option 1: Install via `pip` (for direct usage)
60
+ Install via PyPI:
71
61
  ```bash
72
- astropy photutils matplotlib lmfit
62
+ pip install hyper-py-photometry
73
63
  ```
74
64
 
75
-
76
- ## 🛠️ Installation
77
- You can install and use `Hyper-py` in two different ways, depending on your needs:
78
-
79
- ### Option 1: Use the Source Code (for development or integration)
65
+ ### Option 2: Use the Source Code (for development or integration)
80
66
 
81
67
  If you want to modify, extend, or integrate `Hyper-py` in your own projects:
82
68
 
@@ -96,27 +82,71 @@ export PYTHONPATH=$(pwd)/src
96
82
  import sys
97
83
  sys.path.insert(0, "/absolute/path/to/hyper_py/src")
98
84
  ```
99
- ### Option 2: Install via `pip` (for direct usage)
100
- Install via PyPI:
85
+
86
+
87
+ ## ✅ Requirements
88
+
89
+ Before using `Hyper-py`, make sure you have all the necessary Python dependencies installed.
90
+
91
+ If you have installed `Hyper-py` via pip, all the requirements are automatically installed.
92
+ Otherwise, you can use the `requirements.txt` file, this will install the necessary packages using `pip`::
101
93
  ```bash
102
- pip install hyper-py-photometry
94
+ pip install -r requirements.txt
103
95
  ```
104
96
 
105
97
 
106
- ## 🎯 Usage
98
+ ## 📄 Configuration File
99
+
100
+
101
+ `Hyper-py` requires a configuration file named **`hyper_config.yaml`** in order to run.
102
+
103
+ >The first time you run `Hyper-py` a new hyper_config.yaml will be created automatically in the CWD, then you must setup all paths and paramenters.<br>
104
+ >If you already have a configuration file ready or you have moved the new configuration file to a different folder, provide the path as argument.
105
+
106
+ If no path is provided, the application will look for it in this order:
107
+ 1. Path passed as CLI argument
108
+ 2. `hyper_config.yaml` in the current working directory (CWD)
109
+ 3. User configuration directory
110
+ - Linux/macOS: `~/.config/hyper-py/hyper_config.yaml`
111
+ - Windows: `%APPDATA%\HyperPy\hyper_config.yaml`
112
+ 4. If not found, a new `hyper_config.yaml` will be created automatically in the CWD, copied from the package template (`assets/default_config.yaml`).
107
113
 
108
- You can use `Hyper-py` either by importing and running it directly from Python, or via command line.
109
114
  > [!IMPORTANT]
110
- > `Hyper-py` needs a configuration file in order to run. If no configuration file path is provided, the default file located in the `src/` folder will be used.
115
+ > <span style="font-weight:bold;">Before running the pipeline, you <span style="color:red; font-weight:bold;">must</span> edit **`hyper_config.yaml`** and set the correct parameters and paths.</span>
116
+
117
+
118
+ ### Configuration file lookup order
119
+
120
+ | Priority | Location | Description |
121
+ |----------|--------------------------------------------|-----------------------------------------------------------------------------|
122
+ | 1 | CLI argument | Path explicitly provided by the user, e.g. `hyper-py /path/to/hyper_config.yaml`. |
123
+ | 2 | Current Working Directory (CWD) | Looks for `./hyper_config.yaml` in the folder where the command is executed. |
124
+ | 3 | User configuration directory | - **Linux/macOS:** `~/.config/hyper-py/hyper_config.yaml`<br> - **Windows:** `%APPDATA%\HyperPy\hyper_config.yaml` |
125
+ | 4 | Auto-generated in CWD if none is found | A new `hyper_config.yaml` is created, copied from the package template (`assets/default_config.yaml`). |
126
+
127
+ ### 💡 Tips & Tricks
128
+
129
+ - **Use different configs**
130
+ You can maintain multiple configuration files (e.g., `hyper_config.dev.yaml` and `hyper_config.prod.yaml`) and choose which one to run.
131
+ <br>Eg. If you have installed via pip:
132
+ ```bash
133
+ hyper-py ./hyper_config.dev.yaml
134
+ hyper-py ./hyper_config.prod.yaml
135
+ ```
136
+
137
+
138
+ ## 🚀 Usage
139
+
140
+ You can use `Hyper-py` either by importing and running it directly from Python, or via command line.
111
141
 
112
142
  ### 1. From Python
113
143
 
114
- Import and run the `start_hyper` function, passing the path to your YAML configuration file.
144
+ Import and run the `run_hyper` function, passing the path to your YAML configuration file.
115
145
 
116
146
  ```python
117
147
  from hyper_py import run_hyper
118
148
 
119
- run_hyper("path/to/config.yaml")
149
+ run_hyper("path/to/hyper_config.yaml")
120
150
  ```
121
151
  This is the recommended approach if you want to integrate `Hyper-py` into a larger Python application or workflow.
122
152
 
@@ -126,7 +156,7 @@ I) Using the source code:
126
156
 
127
157
  You can execute the tool from the terminal:
128
158
  ```bash
129
- python -m hyper_py path/to/config.yaml
159
+ python -m hyper_py path/to/hyper_config.yaml
130
160
  ```
131
161
  This runs the main process using the configuration file specified.
132
162
 
@@ -134,18 +164,18 @@ II) If installed via pip:
134
164
 
135
165
  Once the .whl package is installed (e.g., via pip install hyper_py-X.X.X-py3-none-any.whl), you can run it directly:
136
166
  ```bash
137
- hyper_py path/to/config.yaml
167
+ hyper_py path/to/hyper_config.yaml
138
168
  ```
139
169
  OR
140
170
  ```bash
141
- hyper-py path/to/config.yaml
171
+ hyper-py path/to/hyper_config.yaml
142
172
  ```
143
173
  OR
144
174
  ```bash
145
- hyper path/to/config.yaml
175
+ hyper path/to/hyper_config.yaml
146
176
  ```
147
177
 
148
- ## Using the Source Code in Visual Studio Code
178
+ ## 💻 Using the Source Code in Visual Studio Code
149
179
  To run or debug the source code using Visual Studio Code:
150
180
  ### 1. Open the project
151
181
  - Open the project folder in VS Code.
@@ -174,7 +204,7 @@ Optional: You can add this to `.vscode/launch.json` for convenience:
174
204
  "request": "launch",
175
205
  "program": "${workspaceFolder}/src/hyper_py/run_hyper.py",
176
206
  "console": "integratedTerminal",
177
- "args": ["path/to/config.yaml"], // Specify a different config file
207
+ "args": ["path/to/hyper_config.yaml"],
178
208
  }
179
209
  ]
180
210
  }
@@ -183,9 +213,9 @@ Optional: You can add this to `.vscode/launch.json` for convenience:
183
213
  <br/><br/>
184
214
 
185
215
 
186
- ## ⚙️ Configuration File Reference (`config.yaml`)
216
+ ## ⚙️ Configuration File Reference (`hyper_config.yaml`)
187
217
 
188
- The `config.yaml` file controls all aspects of the Hyper-py pipeline. Below is a detailed explanation of every entry, including its purpose, accepted values, default, and type.
218
+ The `hyper_config.yaml` file controls all aspects of the Hyper-py pipeline. Below is a detailed explanation of every entry, including its purpose, accepted values, default, and type.
189
219
 
190
220
  ### File Paths
191
221
 
@@ -335,7 +365,7 @@ The `config.yaml` file controls all aspects of the Hyper-py pipeline. Below is a
335
365
  ---
336
366
 
337
367
  **Tip:**
338
- All entries can be customized in your `config.yaml`. If an entry is omitted, the default value will be used.
368
+ All entries can be customized in your `hyper_config.yaml`. If an entry is omitted, the default value will be used.
339
369
 
340
370
 
341
371
 
@@ -6,4 +6,5 @@ photutils
6
6
  scipy
7
7
  lmfit
8
8
  matplotlib
9
- scikit-learn>=1.4,<1.6
9
+ scikit-learn>=1.4,<1.6
10
+ ruamel.yaml>=0.18
@@ -11,7 +11,7 @@ from importlib.metadata import version, PackageNotFoundError
11
11
  from .hyper import start_hyper
12
12
 
13
13
  try:
14
- __version__ = version("hyper-py")
14
+ __version__ = version("hyper-py-photometry")
15
15
  except PackageNotFoundError:
16
16
  __version__ = "0.0.0-dev"
17
17
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hyper-py-photometry
3
- Version: 0.1.3
3
+ Version: 0.1.4
4
4
  Summary: HYPER: Hybrid Photometry Photometry and Extraction Routine
5
5
  Author-email: Alessio Traficante <alessio.traficante@inaf.it>
6
6
  Project-URL: Homepage, https://github.com/alessio-traficante/hyper-py
@@ -62,7 +62,7 @@ Hyper-py now supports **parallel execution** over multiple maps or datacube slic
62
62
  - Maintain **individual log files** for each map
63
63
  - Merge the final outputs (tables and diagnostics) into a single, combined summary
64
64
 
65
- To enable parallelism, set the following parameters in your `config.yaml` file under the `control` section:
65
+ To enable parallelism, set the following parameters in your `hyper_config.yaml` file under the `control` section:
66
66
 
67
67
  ```yaml
68
68
  control:
@@ -73,30 +73,16 @@ control:
73
73
  If `parallel_maps` is set to `false`, the pipeline will run in serial mode.
74
74
 
75
75
 
76
+ ## 🛠️ Installation
77
+ You can install and use `Hyper-py` in two different ways, depending on your needs:
76
78
 
77
- ## 🚀 Prerequisites
78
-
79
- Before using `Hyper-py`, make sure you have all the necessary Python dependencies installed. The following core libraries are required:
80
- • astropy
81
- • photutils
82
- • matplotlib
83
- • lmfit
84
- • pyyaml
85
- • numpy
86
- • scipy
87
- • scikit-learn>=1.4,<1.6
88
-
89
- This will install the necessary packages using `pip`:
90
-
79
+ ### Option 1: Install via `pip` (for direct usage)
80
+ Install via PyPI:
91
81
  ```bash
92
- astropy photutils matplotlib lmfit
82
+ pip install hyper-py-photometry
93
83
  ```
94
84
 
95
-
96
- ## 🛠️ Installation
97
- You can install and use `Hyper-py` in two different ways, depending on your needs:
98
-
99
- ### Option 1: Use the Source Code (for development or integration)
85
+ ### Option 2: Use the Source Code (for development or integration)
100
86
 
101
87
  If you want to modify, extend, or integrate `Hyper-py` in your own projects:
102
88
 
@@ -116,27 +102,71 @@ export PYTHONPATH=$(pwd)/src
116
102
  import sys
117
103
  sys.path.insert(0, "/absolute/path/to/hyper_py/src")
118
104
  ```
119
- ### Option 2: Install via `pip` (for direct usage)
120
- Install via PyPI:
105
+
106
+
107
+ ## ✅ Requirements
108
+
109
+ Before using `Hyper-py`, make sure you have all the necessary Python dependencies installed.
110
+
111
+ If you have installed `Hyper-py` via pip, all the requirements are automatically installed.
112
+ Otherwise, you can use the `requirements.txt` file, this will install the necessary packages using `pip`::
121
113
  ```bash
122
- pip install hyper-py-photometry
114
+ pip install -r requirements.txt
123
115
  ```
124
116
 
125
117
 
126
- ## 🎯 Usage
118
+ ## 📄 Configuration File
119
+
120
+
121
+ `Hyper-py` requires a configuration file named **`hyper_config.yaml`** in order to run.
122
+
123
+ >The first time you run `Hyper-py` a new hyper_config.yaml will be created automatically in the CWD, then you must setup all paths and paramenters.<br>
124
+ >If you already have a configuration file ready or you have moved the new configuration file to a different folder, provide the path as argument.
125
+
126
+ If no path is provided, the application will look for it in this order:
127
+ 1. Path passed as CLI argument
128
+ 2. `hyper_config.yaml` in the current working directory (CWD)
129
+ 3. User configuration directory
130
+ - Linux/macOS: `~/.config/hyper-py/hyper_config.yaml`
131
+ - Windows: `%APPDATA%\HyperPy\hyper_config.yaml`
132
+ 4. If not found, a new `hyper_config.yaml` will be created automatically in the CWD, copied from the package template (`assets/default_config.yaml`).
127
133
 
128
- You can use `Hyper-py` either by importing and running it directly from Python, or via command line.
129
134
  > [!IMPORTANT]
130
- > `Hyper-py` needs a configuration file in order to run. If no configuration file path is provided, the default file located in the `src/` folder will be used.
135
+ > <span style="font-weight:bold;">Before running the pipeline, you <span style="color:red; font-weight:bold;">must</span> edit **`hyper_config.yaml`** and set the correct parameters and paths.</span>
136
+
137
+
138
+ ### Configuration file lookup order
139
+
140
+ | Priority | Location | Description |
141
+ |----------|--------------------------------------------|-----------------------------------------------------------------------------|
142
+ | 1 | CLI argument | Path explicitly provided by the user, e.g. `hyper-py /path/to/hyper_config.yaml`. |
143
+ | 2 | Current Working Directory (CWD) | Looks for `./hyper_config.yaml` in the folder where the command is executed. |
144
+ | 3 | User configuration directory | - **Linux/macOS:** `~/.config/hyper-py/hyper_config.yaml`<br> - **Windows:** `%APPDATA%\HyperPy\hyper_config.yaml` |
145
+ | 4 | Auto-generated in CWD if none is found | A new `hyper_config.yaml` is created, copied from the package template (`assets/default_config.yaml`). |
146
+
147
+ ### 💡 Tips & Tricks
148
+
149
+ - **Use different configs**
150
+ You can maintain multiple configuration files (e.g., `hyper_config.dev.yaml` and `hyper_config.prod.yaml`) and choose which one to run.
151
+ <br>Eg. If you have installed via pip:
152
+ ```bash
153
+ hyper-py ./hyper_config.dev.yaml
154
+ hyper-py ./hyper_config.prod.yaml
155
+ ```
156
+
157
+
158
+ ## 🚀 Usage
159
+
160
+ You can use `Hyper-py` either by importing and running it directly from Python, or via command line.
131
161
 
132
162
  ### 1. From Python
133
163
 
134
- Import and run the `start_hyper` function, passing the path to your YAML configuration file.
164
+ Import and run the `run_hyper` function, passing the path to your YAML configuration file.
135
165
 
136
166
  ```python
137
167
  from hyper_py import run_hyper
138
168
 
139
- run_hyper("path/to/config.yaml")
169
+ run_hyper("path/to/hyper_config.yaml")
140
170
  ```
141
171
  This is the recommended approach if you want to integrate `Hyper-py` into a larger Python application or workflow.
142
172
 
@@ -146,7 +176,7 @@ I) Using the source code:
146
176
 
147
177
  You can execute the tool from the terminal:
148
178
  ```bash
149
- python -m hyper_py path/to/config.yaml
179
+ python -m hyper_py path/to/hyper_config.yaml
150
180
  ```
151
181
  This runs the main process using the configuration file specified.
152
182
 
@@ -154,18 +184,18 @@ II) If installed via pip:
154
184
 
155
185
  Once the .whl package is installed (e.g., via pip install hyper_py-X.X.X-py3-none-any.whl), you can run it directly:
156
186
  ```bash
157
- hyper_py path/to/config.yaml
187
+ hyper_py path/to/hyper_config.yaml
158
188
  ```
159
189
  OR
160
190
  ```bash
161
- hyper-py path/to/config.yaml
191
+ hyper-py path/to/hyper_config.yaml
162
192
  ```
163
193
  OR
164
194
  ```bash
165
- hyper path/to/config.yaml
195
+ hyper path/to/hyper_config.yaml
166
196
  ```
167
197
 
168
- ## Using the Source Code in Visual Studio Code
198
+ ## 💻 Using the Source Code in Visual Studio Code
169
199
  To run or debug the source code using Visual Studio Code:
170
200
  ### 1. Open the project
171
201
  - Open the project folder in VS Code.
@@ -194,7 +224,7 @@ Optional: You can add this to `.vscode/launch.json` for convenience:
194
224
  "request": "launch",
195
225
  "program": "${workspaceFolder}/src/hyper_py/run_hyper.py",
196
226
  "console": "integratedTerminal",
197
- "args": ["path/to/config.yaml"], // Specify a different config file
227
+ "args": ["path/to/hyper_config.yaml"],
198
228
  }
199
229
  ]
200
230
  }
@@ -203,9 +233,9 @@ Optional: You can add this to `.vscode/launch.json` for convenience:
203
233
  <br/><br/>
204
234
 
205
235
 
206
- ## ⚙️ Configuration File Reference (`config.yaml`)
236
+ ## ⚙️ Configuration File Reference (`hyper_config.yaml`)
207
237
 
208
- The `config.yaml` file controls all aspects of the Hyper-py pipeline. Below is a detailed explanation of every entry, including its purpose, accepted values, default, and type.
238
+ The `hyper_config.yaml` file controls all aspects of the Hyper-py pipeline. Below is a detailed explanation of every entry, including its purpose, accepted values, default, and type.
209
239
 
210
240
  ### File Paths
211
241
 
@@ -355,7 +385,7 @@ The `config.yaml` file controls all aspects of the Hyper-py pipeline. Below is a
355
385
  ---
356
386
 
357
387
  **Tip:**
358
- All entries can be customized in your `config.yaml`. If an entry is omitted, the default value will be used.
388
+ All entries can be customized in your `hyper_config.yaml`. If an entry is omitted, the default value will be used.
359
389
 
360
390
 
361
391