microlens-submit 0.12.2__py3-none-any.whl → 0.16.0__py3-none-any.whl
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.
- microlens_submit/__init__.py +7 -157
- microlens_submit/cli/__init__.py +5 -0
- microlens_submit/cli/__main__.py +6 -0
- microlens_submit/cli/commands/__init__.py +1 -0
- microlens_submit/cli/commands/dossier.py +139 -0
- microlens_submit/cli/commands/export.py +177 -0
- microlens_submit/cli/commands/init.py +172 -0
- microlens_submit/cli/commands/solutions.py +722 -0
- microlens_submit/cli/commands/validation.py +241 -0
- microlens_submit/cli/main.py +120 -0
- microlens_submit/dossier/__init__.py +51 -0
- microlens_submit/dossier/dashboard.py +499 -0
- microlens_submit/dossier/event_page.py +369 -0
- microlens_submit/dossier/full_report.py +330 -0
- microlens_submit/dossier/solution_page.py +533 -0
- microlens_submit/dossier/utils.py +111 -0
- microlens_submit/error_messages.py +283 -0
- microlens_submit/models/__init__.py +28 -0
- microlens_submit/models/event.py +406 -0
- microlens_submit/models/solution.py +569 -0
- microlens_submit/models/submission.py +569 -0
- microlens_submit/tier_validation.py +208 -0
- microlens_submit/utils.py +373 -0
- microlens_submit/validate_parameters.py +478 -180
- {microlens_submit-0.12.2.dist-info → microlens_submit-0.16.0.dist-info}/METADATA +42 -27
- microlens_submit-0.16.0.dist-info/RECORD +32 -0
- {microlens_submit-0.12.2.dist-info → microlens_submit-0.16.0.dist-info}/WHEEL +1 -1
- microlens_submit/api.py +0 -1257
- microlens_submit/cli.py +0 -1803
- microlens_submit/dossier.py +0 -1443
- microlens_submit-0.12.2.dist-info/RECORD +0 -13
- {microlens_submit-0.12.2.dist-info/licenses → microlens_submit-0.16.0.dist-info}/LICENSE +0 -0
- {microlens_submit-0.12.2.dist-info → microlens_submit-0.16.0.dist-info}/entry_points.txt +0 -0
- {microlens_submit-0.12.2.dist-info → microlens_submit-0.16.0.dist-info}/top_level.txt +0 -0
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
2
|
Name: microlens-submit
|
|
3
|
-
Version: 0.
|
|
4
|
-
Summary: A
|
|
3
|
+
Version: 0.16.0
|
|
4
|
+
Summary: A tool for managing and submitting microlensing solutions
|
|
5
|
+
Home-page: https://github.com/AmberLee2427/microlens-submit
|
|
6
|
+
Author: Amber Malpas
|
|
5
7
|
Author-email: Amber Malpas <malpas.1@osu.edu>, Roman Science Platform Team <roman-science-platform@stsci.edu>
|
|
6
8
|
License: MIT
|
|
7
9
|
Project-URL: Homepage, https://github.com/AmberLee2427/microlens-submit
|
|
@@ -22,22 +24,23 @@ Classifier: Topic :: Scientific/Engineering :: Physics
|
|
|
22
24
|
Requires-Python: >=3.8
|
|
23
25
|
Description-Content-Type: text/markdown
|
|
24
26
|
License-File: LICENSE
|
|
25
|
-
Requires-Dist: pydantic>=2.0.0
|
|
26
|
-
Requires-Dist: typer[all]>=0.9.0
|
|
27
|
-
Requires-Dist: rich>=13.0.0
|
|
28
|
-
Requires-Dist: pyyaml>=6.0
|
|
29
|
-
Requires-Dist: markdown>=3.4.0
|
|
27
|
+
Requires-Dist: pydantic >=2.0.0
|
|
28
|
+
Requires-Dist: typer[all] >=0.9.0
|
|
29
|
+
Requires-Dist: rich >=13.0.0
|
|
30
|
+
Requires-Dist: pyyaml >=6.0
|
|
31
|
+
Requires-Dist: markdown >=3.4.0
|
|
32
|
+
Requires-Dist: importlib-resources >=1.0.0 ; python_version < "3.9"
|
|
30
33
|
Provides-Extra: dev
|
|
31
|
-
Requires-Dist: pytest; extra ==
|
|
32
|
-
Requires-Dist: pytest-cov; extra ==
|
|
33
|
-
Requires-Dist: build; extra ==
|
|
34
|
-
Requires-Dist: twine; extra ==
|
|
35
|
-
Requires-Dist: pre-commit; extra ==
|
|
36
|
-
Requires-Dist: black; extra ==
|
|
37
|
-
Requires-Dist: isort; extra ==
|
|
38
|
-
Requires-Dist: sphinx; extra ==
|
|
39
|
-
Requires-Dist:
|
|
40
|
-
|
|
34
|
+
Requires-Dist: pytest ; extra == 'dev'
|
|
35
|
+
Requires-Dist: pytest-cov ; extra == 'dev'
|
|
36
|
+
Requires-Dist: build ; extra == 'dev'
|
|
37
|
+
Requires-Dist: twine ; extra == 'dev'
|
|
38
|
+
Requires-Dist: pre-commit ; extra == 'dev'
|
|
39
|
+
Requires-Dist: black ; extra == 'dev'
|
|
40
|
+
Requires-Dist: isort ; extra == 'dev'
|
|
41
|
+
Requires-Dist: sphinx ; extra == 'dev'
|
|
42
|
+
Requires-Dist: sphinx-rtd-theme ; extra == 'dev'
|
|
43
|
+
Requires-Dist: importlib-resources ; extra == 'dev'
|
|
41
44
|
|
|
42
45
|
<p align="center">
|
|
43
46
|
<a href="https://github.com/AmberLee2427/microlens-submit">
|
|
@@ -49,7 +52,9 @@ Dynamic: license-file
|
|
|
49
52
|
|
|
50
53
|
*A stateful submission toolkit for the RGES-PIT Microlensing Data Challenge.*
|
|
51
54
|
|
|
52
|
-
[](https://pypi.org/project/microlens-submit/)
|
|
56
|
+
[](https://pypi.org/project/microlens-submit/)
|
|
57
|
+
[](https://pypi.org/project/microlens-submit/)
|
|
53
58
|
[](https://github.com/AmberLee2427/microlens-submit/actions/workflows/ci.yml)
|
|
54
59
|
[](https://opensource.org/licenses/MIT)
|
|
55
60
|
|
|
@@ -57,7 +62,7 @@ Dynamic: license-file
|
|
|
57
62
|
|
|
58
63
|
`microlens-submit` provides a robust, version-controlled workflow for managing, validating, and packaging your challenge submission over a long period. It supports both a programmatic Python API and a full-featured Command Line Interface (CLI) for language-agnostic use.
|
|
59
64
|
|
|
60
|
-
Full documentation is hosted on [Read the Docs](https://microlens-submit.readthedocs.io/en/latest/). A comprehensive tutorial notebook is available at `docs/Submission_Tool_Tutorial.ipynb`. Challenge participants who prefer not to use this tool can consult [
|
|
65
|
+
Full documentation is hosted on [Read the Docs](https://microlens-submit.readthedocs.io/en/latest/). A comprehensive tutorial notebook is available at `docs/Submission_Tool_Tutorial.ipynb`. Challenge participants who prefer not to use this tool can consult the [Submission Manual](https://microlens-submit.readthedocs.io/en/latest/submission_manual.html) for the manual submission format.
|
|
61
66
|
|
|
62
67
|
## Key Features
|
|
63
68
|
|
|
@@ -72,10 +77,11 @@ Full documentation is hosted on [Read the Docs](https://microlens-submit.readthe
|
|
|
72
77
|
* **Environment Capture:** Automatically records your Python dependencies for each specific model fit, ensuring reproducibility.
|
|
73
78
|
* **Optional Posterior Storage:** Record the path to posterior samples for any solution.
|
|
74
79
|
* **Simple Export:** Packages all your active solutions into a clean, standardized `.zip` archive for final submission.
|
|
80
|
+
* **Bulk Import:** Import multiple solutions at once from a CSV file using the `import-solutions` CLI command. Supports column mapping, alias handling, duplicate handling, notes, dry-run, and validation options.
|
|
75
81
|
|
|
76
82
|
## Installation
|
|
77
83
|
|
|
78
|
-
The package is
|
|
84
|
+
The package is available on PyPI:
|
|
79
85
|
|
|
80
86
|
```bash
|
|
81
87
|
pip install microlens-submit
|
|
@@ -100,10 +106,15 @@ You can pass ``--no-color`` to any command if your terminal does not support ANS
|
|
|
100
106
|
This will create a new solution and print its unique `solution_id`.
|
|
101
107
|
You can run the same command with `--dry-run` first to verify the
|
|
102
108
|
parsed input without saving anything.
|
|
103
|
-
3.
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
109
|
+
3. **Bulk import multiple solutions from a CSV file:**
|
|
110
|
+
```bash
|
|
111
|
+
microlens-submit import-solutions tests/data/test_import.csv --dry-run
|
|
112
|
+
```
|
|
113
|
+
See the file `tests/data/test_import.csv` for a comprehensive example covering all features and edge cases. You can use this file as a template for your own imports.
|
|
114
|
+
4. Deactivate a solution that didn't work out: `microlens-submit deactivate <solution_id>`
|
|
115
|
+
5. List all solutions for an event: `microlens-submit list-solutions ogle-2025-blg-0042`
|
|
116
|
+
6. Validate solutions and check for issues: `microlens-submit validate-solution <solution_id>`
|
|
117
|
+
7. Export your final submission: `microlens-submit export final_submission.zip`
|
|
107
118
|
|
|
108
119
|
**Note:** When you add a solution, it's automatically validated and any warnings are displayed. Use `--dry-run` to check validation without saving.
|
|
109
120
|
|
|
@@ -139,7 +150,8 @@ sub.export("final_submission.zip")
|
|
|
139
150
|
|
|
140
151
|
The full development plan can be found in agents.md. Contributions are welcome!
|
|
141
152
|
|
|
142
|
-
To build and test this project, the development
|
|
153
|
+
To build and test this project, install the development dependencies using either `pip install -e .[dev]` or `pip install -r requirements-dev.txt`. These packages are required to run the test suite and are listed in `requirements-dev.txt`.
|
|
154
|
+
After installing the dependencies, run `pre-commit install` to set up the Git hooks for automatic formatting and linting. The development environment needs the following Python libraries.
|
|
143
155
|
|
|
144
156
|
### Core Dependencies:
|
|
145
157
|
* **`typer[all]`**: For building the powerful command-line interface. The `[all]` extra ensures shell completion support is included.
|
|
@@ -153,9 +165,12 @@ To build and test this project, the development environment needs the following
|
|
|
153
165
|
* **`build`**: For building the package from the `pyproject.toml` file.
|
|
154
166
|
* **`twine`**: For uploading the final package to PyPI.
|
|
155
167
|
|
|
168
|
+
### Test Data
|
|
169
|
+
|
|
170
|
+
A comprehensive test CSV file is provided at `tests/data/test_import.csv`. This file is used in the test suite and can be copied or adapted for your own bulk imports or for development/testing purposes.
|
|
171
|
+
|
|
156
172
|
## Citation
|
|
157
173
|
|
|
158
174
|
If you use **microlens-submit** in your research, please cite the project using
|
|
159
175
|
the metadata provided in the `CITATION.cff` file. Most reference managers can
|
|
160
176
|
import this file directly.
|
|
161
|
-
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
microlens_submit/__init__.py,sha256=E4AZWfHXFQQyKY3uush-Kq2RZn4jRCCu4G0eozzcUYw,399
|
|
2
|
+
microlens_submit/error_messages.py,sha256=BuTkzc1B2lve-G4-4wAUX5p3y6CthPFOcMJM6_eMN2I,10262
|
|
3
|
+
microlens_submit/tier_validation.py,sha256=mbE9MjXRHbsPBB12aD2lyYUdvXiBacweRG2OTWgP7Fs,6168
|
|
4
|
+
microlens_submit/utils.py,sha256=3kEinJXr5OWHjrQUGHhUFA6L2rNdqaLy2ogmQNx_TfY,14358
|
|
5
|
+
microlens_submit/validate_parameters.py,sha256=_RBzdbY2sFwtNNd5f69bwxTpHjlNq_np3iDYvio4Oow,37645
|
|
6
|
+
microlens_submit/assets/github-desktop_logo.png,sha256=pb4rallKrYQPHt6eC0TmJe_UyyMtf1IrP8_OWK19nH8,479821
|
|
7
|
+
microlens_submit/assets/rges-pit_logo.png,sha256=45AJypXCymvt3lMeK7MHt1SBhwPpnKCMj6S000Cejtc,537645
|
|
8
|
+
microlens_submit/cli/__init__.py,sha256=u4ZgVOzUe_gf89FBhY61XWjcfK4oxXCStabYTjBuRRo,82
|
|
9
|
+
microlens_submit/cli/__main__.py,sha256=_7x5Hd_9ehQwYHphd3iPB3LMVvKAVmxz-e0E4pWi0lk,112
|
|
10
|
+
microlens_submit/cli/main.py,sha256=iJ2bkQZ-OiuCUCVqs_EGbhpa240zB7agrYNZj6p5_3g,3938
|
|
11
|
+
microlens_submit/cli/commands/__init__.py,sha256=rzIgY7T2Bz4Lhzts_RiWeoBbMoCuxODxeoktnUhH4rw,49
|
|
12
|
+
microlens_submit/cli/commands/dossier.py,sha256=6gRJNzUgr29YmYJRcUj9aoiRhjb1r9Uy4dip6z2LaHI,5100
|
|
13
|
+
microlens_submit/cli/commands/export.py,sha256=Hr9frquBdla69s7Bi-Vx3XBQ0AJte562coIParmLQL8,6600
|
|
14
|
+
microlens_submit/cli/commands/init.py,sha256=LOnG63YJupk3ELFCRl9itDymtAe0eu9xf2BQ6D5xu50,7074
|
|
15
|
+
microlens_submit/cli/commands/solutions.py,sha256=E0aU4rtjRWToh8l1yrSJnPo6CRnLsx-2QAF5Rv1yMVs,30051
|
|
16
|
+
microlens_submit/cli/commands/validation.py,sha256=XNbuIy837IPV45ze4dvJaKx9-UCx24VXiGW_y4dl4YE,8841
|
|
17
|
+
microlens_submit/dossier/__init__.py,sha256=INAacbrY0Wi5ueH8c7b156bGzelyUFcynbE7_YRiku0,1948
|
|
18
|
+
microlens_submit/dossier/dashboard.py,sha256=5obGIFThpUT-qWsJJG9481YdZ3mjN94QXDrCLoccGQE,19674
|
|
19
|
+
microlens_submit/dossier/event_page.py,sha256=XUcMOu4Jbz9Wno5o-4k0i2Y7yn7Qv1hYN2t7DlQlQ4U,14391
|
|
20
|
+
microlens_submit/dossier/full_report.py,sha256=zQXoo6ZQfwv_NNFFel3ZYW1DgnqD--VU0L7J7p9yEng,12864
|
|
21
|
+
microlens_submit/dossier/solution_page.py,sha256=WZcC218G-kJujNIYHloSy-sEfNFYh92g7g9mwveEepo,23559
|
|
22
|
+
microlens_submit/dossier/utils.py,sha256=LopBbVg6nzQasL1lnaI63y3bpmqYqBeDEwfB_NqEeCA,3845
|
|
23
|
+
microlens_submit/models/__init__.py,sha256=1sHFjAWyFtGgQBRSo8lBYiPzToo4tIoHP3uBjtgJSPY,861
|
|
24
|
+
microlens_submit/models/event.py,sha256=j5ulKGF2lVWXpIVcilCPftoXxMHwuYgD9ZjUz5vhlek,16941
|
|
25
|
+
microlens_submit/models/solution.py,sha256=0prKFYM3oxKXZjtzhaAaS7E5cYP2maxfbYNQhkL-IY0,23339
|
|
26
|
+
microlens_submit/models/submission.py,sha256=WgSgw6-60ZwLgsFjl2u1FX76ydATJ5t_DpGUQOekpg4,26116
|
|
27
|
+
microlens_submit-0.16.0.dist-info/LICENSE,sha256=cy1qkVR-kGxD6FXVsparmU2vHJXYeoyAAHv6SgT67sw,1069
|
|
28
|
+
microlens_submit-0.16.0.dist-info/METADATA,sha256=Npg_If55ev_mgu8MlHiv2nlPvgbVvTqdmZrgjlSg8IE,8956
|
|
29
|
+
microlens_submit-0.16.0.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
|
|
30
|
+
microlens_submit-0.16.0.dist-info/entry_points.txt,sha256=kA85yhxYrpQnUvVZCRS2giz52gaf1ZOfZFjY4RHIZ2s,62
|
|
31
|
+
microlens_submit-0.16.0.dist-info/top_level.txt,sha256=uJ9_bADYRySlhEpP-8vTm90ZLV2SrKEzutAaRx8WF0k,17
|
|
32
|
+
microlens_submit-0.16.0.dist-info/RECORD,,
|