microlens-submit 0.16.2__py3-none-any.whl → 0.16.3__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.
@@ -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,6 +1,6 @@
1
- microlens_submit/__init__.py,sha256=mzs6GxiZgbo6__Z6nlHA5s3la80O0rDPBZMvLyJdNfs,399
1
+ microlens_submit/__init__.py,sha256=sOcJ78On7mNKtZnfEtYhLM3bm8heNCmpr7NxHWG218A,399
2
2
  microlens_submit/error_messages.py,sha256=x_x0ZE-y7XSxbqmX4G6xR2EjVOAsldLILGalmJZtLO8,10363
3
- microlens_submit/text_symbols.py,sha256=D5u1MIj_37n6p6mn3zzUY6T6DDliq_gxsJGzOrgl1C0,2370
3
+ microlens_submit/text_symbols.py,sha256=PbQSkqF_FwTBs45TkUL0zZl74IYDz7L4xVxy8eKxQsU,3146
4
4
  microlens_submit/tier_validation.py,sha256=mbE9MjXRHbsPBB12aD2lyYUdvXiBacweRG2OTWgP7Fs,6168
5
5
  microlens_submit/utils.py,sha256=3kEinJXr5OWHjrQUGHhUFA6L2rNdqaLy2ogmQNx_TfY,14358
6
6
  microlens_submit/validate_parameters.py,sha256=_RBzdbY2sFwtNNd5f69bwxTpHjlNq_np3iDYvio4Oow,37645
@@ -25,9 +25,9 @@ microlens_submit/models/__init__.py,sha256=1sHFjAWyFtGgQBRSo8lBYiPzToo4tIoHP3uBj
25
25
  microlens_submit/models/event.py,sha256=ifQqE7d7PJTTI9lGylwWV3EGxgyyNGiJtHbm_DLmuys,17105
26
26
  microlens_submit/models/solution.py,sha256=0prKFYM3oxKXZjtzhaAaS7E5cYP2maxfbYNQhkL-IY0,23339
27
27
  microlens_submit/models/submission.py,sha256=54ssVomKh8W_nYBeuRAPexko0d_4FwcWKEl9q5Vu1as,26458
28
- microlens_submit-0.16.2.dist-info/licenses/LICENSE,sha256=cy1qkVR-kGxD6FXVsparmU2vHJXYeoyAAHv6SgT67sw,1069
29
- microlens_submit-0.16.2.dist-info/METADATA,sha256=cDpL7N5ODSsPVmWG9oODe__hYy1zNaLWcsGJCkEYt64,10084
30
- microlens_submit-0.16.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
31
- microlens_submit-0.16.2.dist-info/entry_points.txt,sha256=kA85yhxYrpQnUvVZCRS2giz52gaf1ZOfZFjY4RHIZ2s,62
32
- microlens_submit-0.16.2.dist-info/top_level.txt,sha256=uJ9_bADYRySlhEpP-8vTm90ZLV2SrKEzutAaRx8WF0k,17
33
- microlens_submit-0.16.2.dist-info/RECORD,,
28
+ microlens_submit-0.16.3.dist-info/licenses/LICENSE,sha256=cy1qkVR-kGxD6FXVsparmU2vHJXYeoyAAHv6SgT67sw,1069
29
+ microlens_submit-0.16.3.dist-info/METADATA,sha256=5zBGMg8sUpfhJIgrhAMMk8xe-Rwe6fdu8olhY24DWgQ,10084
30
+ microlens_submit-0.16.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
31
+ microlens_submit-0.16.3.dist-info/entry_points.txt,sha256=kA85yhxYrpQnUvVZCRS2giz52gaf1ZOfZFjY4RHIZ2s,62
32
+ microlens_submit-0.16.3.dist-info/top_level.txt,sha256=uJ9_bADYRySlhEpP-8vTm90ZLV2SrKEzutAaRx8WF0k,17
33
+ microlens_submit-0.16.3.dist-info/RECORD,,