microlens-submit 0.16.2__tar.gz → 0.16.3__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 (47) hide show
  1. microlens_submit-0.16.3/CHANGELOG.md +258 -0
  2. microlens_submit-0.16.3/CITATION.cff +9 -0
  3. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/MANIFEST.in +4 -0
  4. {microlens_submit-0.16.2/microlens_submit.egg-info → microlens_submit-0.16.3}/PKG-INFO +6 -6
  5. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/README.md +5 -5
  6. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/microlens_submit/__init__.py +1 -1
  7. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/microlens_submit/text_symbols.py +22 -1
  8. {microlens_submit-0.16.2 → microlens_submit-0.16.3/microlens_submit.egg-info}/PKG-INFO +6 -6
  9. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/microlens_submit.egg-info/SOURCES.txt +2 -0
  10. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/pyproject.toml +1 -1
  11. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/setup.py +1 -1
  12. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/LICENSE +0 -0
  13. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/microlens_submit/assets/github-desktop_logo.png +0 -0
  14. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/microlens_submit/assets/rges-pit_logo.png +0 -0
  15. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/microlens_submit/cli/__init__.py +0 -0
  16. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/microlens_submit/cli/__main__.py +0 -0
  17. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/microlens_submit/cli/commands/__init__.py +0 -0
  18. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/microlens_submit/cli/commands/dossier.py +0 -0
  19. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/microlens_submit/cli/commands/export.py +0 -0
  20. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/microlens_submit/cli/commands/init.py +0 -0
  21. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/microlens_submit/cli/commands/solutions.py +0 -0
  22. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/microlens_submit/cli/commands/validation.py +0 -0
  23. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/microlens_submit/cli/main.py +0 -0
  24. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/microlens_submit/dossier/__init__.py +0 -0
  25. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/microlens_submit/dossier/dashboard.py +0 -0
  26. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/microlens_submit/dossier/event_page.py +0 -0
  27. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/microlens_submit/dossier/full_report.py +0 -0
  28. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/microlens_submit/dossier/solution_page.py +0 -0
  29. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/microlens_submit/dossier/utils.py +0 -0
  30. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/microlens_submit/error_messages.py +0 -0
  31. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/microlens_submit/models/__init__.py +0 -0
  32. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/microlens_submit/models/event.py +0 -0
  33. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/microlens_submit/models/solution.py +0 -0
  34. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/microlens_submit/models/submission.py +0 -0
  35. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/microlens_submit/tier_validation.py +0 -0
  36. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/microlens_submit/utils.py +0 -0
  37. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/microlens_submit/validate_parameters.py +0 -0
  38. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/microlens_submit.egg-info/dependency_links.txt +0 -0
  39. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/microlens_submit.egg-info/entry_points.txt +0 -0
  40. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/microlens_submit.egg-info/requires.txt +0 -0
  41. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/microlens_submit.egg-info/top_level.txt +0 -0
  42. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/setup.cfg +0 -0
  43. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/tests/test_api.py +0 -0
  44. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/tests/test_cli.py +0 -0
  45. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/tests/test_dossier_generation.py +0 -0
  46. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/tests/test_dossier_pages.py +0 -0
  47. {microlens_submit-0.16.2 → microlens_submit-0.16.3}/tests/test_tier_validation.py +0 -0
@@ -0,0 +1,258 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [0.16.3] - 2025-10-28
9
+
10
+ ### Added
11
+ - Publish to `conda-forge`.
12
+
13
+ ### Fixed
14
+ - Include `pyproject.toml` and other metadata in the sdist so `pip install .` works (fixes conda builds).
15
+
16
+ ## [0.16.2] - 2025-10-28
17
+
18
+ ### Added
19
+ - conda build to release action
20
+ - local `.env` support
21
+ - Zenodo doi automation
22
+ - build wheel and conda build install smoke tests on Mac, Linux, and Windows, python 3.8 and 3.11
23
+
24
+
25
+ ## [0.16.1] - 2025-10-27
26
+
27
+ ### Added
28
+ - Release automation
29
+ - CI now installs from the wheel across 3.8/3.12 to mirror beta testers’ reports
30
+
31
+ ### Changed
32
+ - `README.md` to clarify Quickstart
33
+
34
+ ### Fixed
35
+ - `importlib_resources` version bug
36
+
37
+
38
+ ## [0.16.0] - 2024-12-19
39
+
40
+ ### Added
41
+ - **Tier Validation System**: Comprehensive tier-based validation for challenge submissions
42
+ - New `tier_validation.py` module with support for "standard", "advanced", "test", "2018-test", and "None" tiers
43
+ - Event ID validation against tier-specific event lists
44
+ - CLI tier validation with fallback to "None" for invalid tiers
45
+ - Comprehensive tier validation tests in `tests/test_tier_validation.py`
46
+ - **Enhanced Validation Logic**: Improved parameter validation and solution completeness checking
47
+ - Enhanced `validate_parameters.py` with better error messages and validation rules
48
+ - Improved validation for higher-order effects and parameter consistency
49
+ - Better handling of parameter uncertainties and type validation
50
+ - Enhanced solution completeness checking with more detailed feedback
51
+ - **Dossier Generation Enhancements**: Improved HTML dossier generation and browser integration
52
+ - Added model_type display at the top of each solution section in full dossier reports
53
+ - Added `--open` flag to `microlens-submit generate-dossier` CLI command for automatic browser opening
54
+ - Added `open: bool = False` parameter to `generate_dashboard_html()` API function
55
+ - Enhanced dossier navigation and metadata display
56
+ - **Submission Manual Integration**: Converted SUBMISSION_MANUAL.md to reStructuredText format and integrated into Sphinx documentation
57
+ - Moved submission manual to `docs/submission_manual.rst` for better documentation integration
58
+ - Updated all internal links and references to point to the new documentation location
59
+ - Added GitHub link to validate_submission.py script in the submission manual
60
+ - Removed old markdown file and logo references for cleaner documentation structure
61
+
62
+ ### Changed
63
+ - **Validation System Architecture**: Improved validation workflow and error handling
64
+ - Enhanced CLI validation commands with better error reporting
65
+ - Improved validation integration across all CLI commands
66
+ - Better handling of validation warnings vs errors
67
+ - Enhanced parameter validation with more detailed feedback
68
+ - **Code Quality & Pre-commit Integration**: Comprehensive code cleanup and formatting improvements
69
+ - Fixed all pre-commit hook violations including line length, unused imports, and style issues
70
+ - Resolved f-string formatting issues in CLI commands
71
+ - Fixed line length violations in dossier generation code
72
+ - Removed unused imports across the codebase
73
+ - Ensured all tests pass in both Python 3.8 and 3.11 environments
74
+ - **Documentation Structure**: Improved documentation organization and accessibility
75
+ - Integrated submission manual into main documentation site
76
+ - Updated internal documentation links and references
77
+ - Enhanced documentation consistency and maintainability
78
+ - Updated API documentation and tutorial examples
79
+
80
+ ### Fixed
81
+ - **Code Quality**: Resolved all pre-commit hook violations
82
+ - Fixed f-string formatting issues in CLI commands
83
+ - Resolved line length violations in dossier generation code
84
+ - Removed unused imports across the codebase
85
+ - Improved code consistency and maintainability
86
+ - **Validation Logic**: Enhanced parameter validation and error handling
87
+ - Improved validation for higher-order effects
88
+ - Better handling of parameter uncertainties
89
+ - Enhanced solution completeness checking
90
+ - More detailed validation feedback and error messages
91
+
92
+ ## [0.15.0] - 2024-12-19
93
+
94
+ ### Added
95
+ - New tier validation system with support for "standard", "advanced", "test", "2018-test", and "None" tiers
96
+ - Event ID validation against tier-specific event lists
97
+ - CLI tier validation with fallback to "None" for invalid tiers
98
+ - Comprehensive tier validation tests
99
+
100
+ ### Changed
101
+ - Renamed "basic" tier to "standard" for better naming
102
+ - Updated tier hierarchy: standard < advanced (removed "expert" tier)
103
+ - Simplified to two challenge tiers: "standard" and "advanced"
104
+
105
+ ## [0.14.0] - 2024-12-19
106
+
107
+ ### Added
108
+ - **Modular Architecture**: Complete refactoring of the codebase for improved maintainability
109
+ - Split monolithic `dossier.py` into modular `dossier/` package with specialized modules
110
+ - Refactored CLI into `cli/` package with commands organized into separate modules
111
+ - Created `dossier/generator.py` for HTML generation logic
112
+ - Created `dossier/templates.py` for template management
113
+ - Created `dossier/utils.py` for dossier-specific utilities
114
+ - Created `cli/commands/` directory with specialized command modules
115
+ - Created `cli/utils.py` for CLI-specific utilities
116
+ - **Enhanced Error Messaging**: Comprehensive error handling improvements
117
+ - Added actionable suggestions for common typos and parameter errors
118
+ - Integrated validation warnings with helpful guidance
119
+ - Enhanced CLI error messages with specific recommendations
120
+ - Added parameter validation with user-friendly error descriptions
121
+ - **Improved CLI Help**: Enhanced command-line interface usability
122
+ - Added [BASIC] and [ADVANCED] tags to help users understand option complexity
123
+ - Improved option descriptions with practical usage examples
124
+ - Enhanced help text for complex parameters like `--limb-darkening-model`
125
+ - Added usage examples in command docstrings for better user guidance
126
+
127
+ ### Changed
128
+ - **Code Organization**: Improved project structure and maintainability
129
+ - Separated concerns between dossier generation, CLI commands, and utilities
130
+ - Enhanced code readability and debugging capabilities
131
+ - Maintained backward compatibility with existing API and CLI interfaces
132
+ - Preserved all existing functionality while improving internal organization
133
+ - **Documentation**: Updated internal documentation to reflect new modular structure
134
+ - Enhanced docstrings with usage examples and parameter descriptions
135
+ - Improved code comments for better developer experience
136
+ - Maintained user-facing documentation consistency
137
+
138
+ ### Fixed
139
+ - **Maintainability**: Resolved technical debt through modularization
140
+ - Eliminated monolithic files that were difficult to maintain
141
+ - Improved test organization and coverage
142
+ - Enhanced code reusability and separation of concerns
143
+ - **User Experience**: Better error handling and guidance
144
+ - More helpful error messages with actionable suggestions
145
+ - Clearer CLI help text with practical examples
146
+ - Improved parameter validation with user-friendly feedback
147
+
148
+ ## [0.13.0] - 2024-12-19
149
+
150
+ ### Added
151
+ - **Bulk CSV Import**: New CLI command `import-solutions` and API function `import_solutions_from_csv()` for importing multiple solutions from a CSV file in one step
152
+ - Supports column mapping via YAML parameter map files
153
+ - Handles solution aliases with uniqueness validation within events
154
+ - Supports duplicate handling (error/override/ignore), notes, dry-run, and validation options
155
+ - Properly converts literal `\n` characters to actual newlines in notes from CSV files
156
+ - See the tutorial and README for usage examples
157
+ - **Solution Aliases**: Human-readable identifiers for solutions with automatic uniqueness validation
158
+ - Aliases are displayed prominently in dossier generation and CLI output
159
+ - Integrated into all CLI commands that reference solutions
160
+ - Supports alias-based solution identification and management
161
+ - **Enhanced Notes Handling**: Improved handling of notes with literal escape sequences
162
+ - CSV import automatically converts literal `\n` and `\r` to actual newlines
163
+ - Added `convert_escapes` parameter to `set_notes()` method for controlled conversion
164
+ - Maintains backward compatibility with existing notes functionality
165
+ - **Test Data**: Added `tests/data/test_import.csv` as a comprehensive test file for CSV import functionality
166
+ - Used in both CLI and API tests as a real-world example and template for users
167
+ - Includes various parameter types, aliases, notes, and edge cases for testing
168
+
169
+ ### Changed
170
+ - **Code Quality**: Improved formatting and readability throughout the codebase
171
+ - Added proper spacing and logical grouping in dense functions
172
+ - Enhanced code maintainability and debugging capabilities
173
+ - **Documentation**: Updated tutorial, README, and API documentation to cover CSV import and alias features
174
+ - **CLI Enhancements**: Added alias support to all solution-related CLI commands
175
+
176
+ ### Fixed
177
+ - **Notes Rendering**: Fixed issue where literal `\n` characters in notes were rendered as text instead of line breaks in HTML
178
+ - CSV import now properly converts escape sequences to actual newlines
179
+ - Maintains compatibility with existing notes that don't need conversion
180
+
181
+ ## [0.12.2] - 2024-12-19
182
+
183
+ ### Fixed
184
+ - **Critical Bug Fix**: Renamed `Solution.validate()` method to `Solution.run_validation()` to resolve Pydantic conflict
185
+ - Pydantic was interpreting the `validate` method as a field validator, causing import errors
186
+ - This was breaking Sphinx documentation generation and module imports
187
+ - All references updated across API, CLI, tests, and documentation
188
+ - Method functionality remains identical, only the name changed
189
+
190
+ ### Changed
191
+ - Updated all documentation and examples to use `run_validation()` instead of `validate()`
192
+ - Updated CLI commands and help text for consistency
193
+ - Updated test suite to use the new method name
194
+
195
+ ## [0.12.1] - 2024-12-19
196
+
197
+ ### Added
198
+ - **New CLI Command**: `set-hardware-info` for managing compute platform information
199
+ - Supports setting CPU, memory, platform, and Nexus image details
200
+ - Includes `--clear`, `--dry-run`, and update options
201
+ - Integrates with dossier generation for hardware documentation
202
+ - **Enhanced Documentation**: Comprehensive improvements to Sphinx documentation
203
+ - Expanded API reference with detailed examples and best practices
204
+ - Enhanced tutorial with step-by-step workflow and troubleshooting
205
+ - Improved index page with key features and quick start guide
206
+ - Added custom CSS styling for RGES-PIT color scheme
207
+ - **Example Parameter Files**: Created comprehensive example parameter files
208
+ - `tests/example_params.yaml` and `tests/example_params.json`
209
+ - Demonstrates different parameter formats, uncertainties, and model types
210
+ - Useful for testing and tutorial purposes
211
+
212
+ ### Changed
213
+ - **Version Update**: Bumped version from v0.12.0-dev to v0.12.1
214
+ - **Documentation**: Updated all version references across codebase
215
+ - **Tutorial**: Updated CLI commands in `Submission_Tool_Tutorial.ipynb` to match current syntax
216
+ - **GitHub Logo**: Ensured GitHub logo is properly packaged and included in dossier generation
217
+
218
+ ### Fixed
219
+ - **CI Test Failures**: Fixed test assertions for CLI comparison and validation commands
220
+ - Updated table header counting logic for solution comparison output
221
+ - Added missing repo_url setting in validation tests
222
+ - **Documentation Build**: Improved Sphinx configuration for better autodoc and theme options
223
+
224
+ ## [0.12.0] - 2024-12-18
225
+
226
+ ### Added
227
+ - **Comprehensive Documentation**: Complete Sphinx documentation with API reference, tutorial, and examples
228
+ - **Enhanced Dossier Generation**: Improved HTML dashboard with better styling and navigation
229
+ - **Parameter File Support**: Added support for JSON and YAML parameter files in CLI
230
+ - **Validation System**: Centralized parameter validation with comprehensive error checking
231
+ - **Hardware Information**: Automatic detection and manual setting of compute platform details
232
+ - **Notes Management**: Enhanced markdown notes support with file-based editing
233
+ - **Solution Comparison**: BIC-based solution ranking and relative probability calculation
234
+ - **Export Improvements**: Better handling of external files and automatic path updates
235
+
236
+ ### Changed
237
+ - **API Improvements**: Enhanced Solution and Submission classes with better validation
238
+ - **CLI Enhancements**: More robust command-line interface with better error handling
239
+ - **Project Structure**: Improved organization with better separation of concerns
240
+
241
+ ### Fixed
242
+ - **Bug Fixes**: Various fixes for data persistence, validation, and export functionality
243
+ - **Documentation**: Comprehensive docstring updates with Google style formatting
244
+
245
+ ## [0.11.0] - 2024-12-17
246
+
247
+ ### Added
248
+ - **Initial Release**: Basic submission management functionality
249
+ - **Core API**: Solution, Event, and Submission classes
250
+ - **CLI Interface**: Basic command-line tools for project management
251
+ - **Export Functionality**: ZIP archive creation for submissions
252
+
253
+ ### Changed
254
+ - **Project Structure**: Organized code into logical modules
255
+ - **Documentation**: Basic README and docstrings
256
+
257
+ ### Fixed
258
+ - **Initial Implementation**: Core functionality for microlensing submission management
@@ -0,0 +1,9 @@
1
+ cff-version: 1.2.0
2
+ message: "If you use microlens-submit, please cite it as below."
3
+ title: "microlens-submit"
4
+ version: "0.16.3"
5
+ authors:
6
+ - family-names: Malpas
7
+ given-names: Amber
8
+ url: "https://github.com/AmberLee2427/microlens-submit"
9
+ doi: "10.5281/zenodo.17468488"
@@ -1,2 +1,6 @@
1
1
  include microlens_submit/assets/rges-pit_logo.png
2
2
  include microlens_submit/assets/github-desktop_logo.png
3
+ include pyproject.toml
4
+ include README.md
5
+ include CHANGELOG.md
6
+ include CITATION.cff
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: microlens-submit
3
- Version: 0.16.2
3
+ Version: 0.16.3
4
4
  Summary: A tool for managing and submitting microlensing solutions
5
5
  Home-page: https://github.com/AmberLee2427/microlens-submit
6
6
  Author: Amber Malpas
@@ -201,15 +201,15 @@ import this file directly.
201
201
 
202
202
  Bibtex:
203
203
  ```
204
- @software{malpas_2025_17460500,
204
+ @software{malpas_2025_17468488,
205
205
  author = {Malpas, Amber},
206
206
  title = {microlens-submit},
207
207
  month = oct,
208
208
  year = 2025,
209
209
  publisher = {Zenodo},
210
- version = {v0.16.1},
211
- doi = {10.5281/zenodo.17460500},
212
- url = {https://doi.org/10.5281/zenodo.17460500},
210
+ version = {v0.16.3},
211
+ doi = {10.5281/zenodo.17468488},
212
+ url = {https://doi.org/10.5281/zenodo.17468488},
213
213
  }
214
214
  ```
215
215
 
@@ -217,4 +217,4 @@ Cite without version:
217
217
  Malpas, A. (2025). microlens-submit. Zenodo. https://doi.org/10.5281/zenodo.17459752
218
218
 
219
219
  Cite current version:
220
- Malpas, A. (2025). microlens-submit (v0.16.1). Zenodo. https://doi.org/10.5281/zenodo.17459753
220
+ Malpas, A. (2025). microlens-submit (v0.16.3). Zenodo. https://doi.org/10.5281/zenodo.17468488
@@ -152,15 +152,15 @@ import this file directly.
152
152
 
153
153
  Bibtex:
154
154
  ```
155
- @software{malpas_2025_17460500,
155
+ @software{malpas_2025_17468488,
156
156
  author = {Malpas, Amber},
157
157
  title = {microlens-submit},
158
158
  month = oct,
159
159
  year = 2025,
160
160
  publisher = {Zenodo},
161
- version = {v0.16.1},
162
- doi = {10.5281/zenodo.17460500},
163
- url = {https://doi.org/10.5281/zenodo.17460500},
161
+ version = {v0.16.3},
162
+ doi = {10.5281/zenodo.17468488},
163
+ url = {https://doi.org/10.5281/zenodo.17468488},
164
164
  }
165
165
  ```
166
166
 
@@ -168,4 +168,4 @@ Cite without version:
168
168
  Malpas, A. (2025). microlens-submit. Zenodo. https://doi.org/10.5281/zenodo.17459752
169
169
 
170
170
  Cite current version:
171
- Malpas, A. (2025). microlens-submit (v0.16.1). Zenodo. https://doi.org/10.5281/zenodo.17459753
171
+ Malpas, A. (2025). microlens-submit (v0.16.3). Zenodo. https://doi.org/10.5281/zenodo.17468488
@@ -5,7 +5,7 @@ validate, and export a challenge submission using either the Python API or
5
5
  the command line interface.
6
6
  """
7
7
 
8
- __version__ = "0.16.2"
8
+ __version__ = "0.16.3"
9
9
 
10
10
  from .models import Event, Solution, Submission
11
11
  from .utils import load
@@ -9,6 +9,8 @@ otherwise falls back to a readable ASCII alternative.
9
9
 
10
10
  from __future__ import annotations
11
11
 
12
+ import locale
13
+ import os
12
14
  import sys
13
15
  from typing import Dict, Tuple
14
16
 
@@ -70,6 +72,25 @@ def symbol(name: str) -> str:
70
72
  fallback.
71
73
  """
72
74
  unicode_char, fallback = _SYMBOL_MAP.get(name, ("", ""))
73
- if unicode_char and _can_encode(unicode_char):
75
+
76
+ if not unicode_char:
77
+ return fallback
78
+
79
+ # On Windows runners the locale is frequently a legacy code page (e.g. cp1252)
80
+ # even when rich/click report UTF-8. Prefer ASCII fallbacks unless we can
81
+ # confidently detect a UTF-capable encoding.
82
+ if os.name == "nt":
83
+ candidate_encodings = [
84
+ os.environ.get("PYTHONIOENCODING"),
85
+ getattr(sys.stdout, "encoding", None),
86
+ getattr(sys.stderr, "encoding", None),
87
+ getattr(sys.__stdout__, "encoding", None),
88
+ getattr(sys.__stderr__, "encoding", None),
89
+ locale.getpreferredencoding(False),
90
+ ]
91
+ if not any(enc and "utf" in enc.lower() for enc in candidate_encodings if enc):
92
+ return fallback or unicode_char
93
+
94
+ if _can_encode(unicode_char):
74
95
  return unicode_char
75
96
  return fallback or unicode_char
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: microlens-submit
3
- Version: 0.16.2
3
+ Version: 0.16.3
4
4
  Summary: A tool for managing and submitting microlensing solutions
5
5
  Home-page: https://github.com/AmberLee2427/microlens-submit
6
6
  Author: Amber Malpas
@@ -201,15 +201,15 @@ import this file directly.
201
201
 
202
202
  Bibtex:
203
203
  ```
204
- @software{malpas_2025_17460500,
204
+ @software{malpas_2025_17468488,
205
205
  author = {Malpas, Amber},
206
206
  title = {microlens-submit},
207
207
  month = oct,
208
208
  year = 2025,
209
209
  publisher = {Zenodo},
210
- version = {v0.16.1},
211
- doi = {10.5281/zenodo.17460500},
212
- url = {https://doi.org/10.5281/zenodo.17460500},
210
+ version = {v0.16.3},
211
+ doi = {10.5281/zenodo.17468488},
212
+ url = {https://doi.org/10.5281/zenodo.17468488},
213
213
  }
214
214
  ```
215
215
 
@@ -217,4 +217,4 @@ Cite without version:
217
217
  Malpas, A. (2025). microlens-submit. Zenodo. https://doi.org/10.5281/zenodo.17459752
218
218
 
219
219
  Cite current version:
220
- Malpas, A. (2025). microlens-submit (v0.16.1). Zenodo. https://doi.org/10.5281/zenodo.17459753
220
+ Malpas, A. (2025). microlens-submit (v0.16.3). Zenodo. https://doi.org/10.5281/zenodo.17468488
@@ -1,3 +1,5 @@
1
+ CHANGELOG.md
2
+ CITATION.cff
1
3
  LICENSE
2
4
  MANIFEST.in
3
5
  README.md
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
6
6
 
7
7
  [project]
8
8
  name = "microlens-submit"
9
- version = "0.16.2"
9
+ version = "0.16.3"
10
10
  authors = [
11
11
  { name="Amber Malpas", email="malpas.1@osu.edu" },
12
12
  {name = "Roman Science Platform Team", email = "roman-science-platform@stsci.edu"}
@@ -8,7 +8,7 @@ from setuptools import find_packages, setup
8
8
  if __name__ == "__main__":
9
9
  setup(
10
10
  name="microlens-submit",
11
- version="0.16.2",
11
+ version="0.16.3",
12
12
  packages=find_packages(include=("microlens_submit", "microlens_submit.*")),
13
13
  include_package_data=True,
14
14
  package_data={