wwvb 8.0.0rc1__py3-none-any.whl → 8.0.0rc2__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.
wwvb/__init__.py CHANGED
@@ -802,7 +802,12 @@ class WWVBMinuteIERS(WWVBMinute):
802
802
 
803
803
 
804
804
  def _bcd_bits(n: int) -> Generator[bool]:
805
- """Return the bcd representation of n, starting with the least significant bit"""
805
+ """Return the (infinite) bcd representation of n, starting with the least significant bit
806
+
807
+ This continues to yield `False` forever after the nonzero bcd digits have been genrated.
808
+ This allows to `zip(strict=False)` the resulting bits together with a sequence of indices
809
+ and ensure all the upper bits are set to zero.
810
+ """
806
811
  while True:
807
812
  d = n % 10
808
813
  n = n // 10
@@ -881,7 +886,7 @@ class WWVBTimecode:
881
886
  Treating 'poslist' as a sequence of indices, update the AM signal with the value as a BCD number
882
887
  """
883
888
  pos = list(poslist)[::-1]
884
- for p, b in zip(pos, _bcd_bits(v)):
889
+ for p, b in zip(pos, _bcd_bits(v), strict=False):
885
890
  if b:
886
891
  self.am[p] = AmplitudeModulation.ONE
887
892
  else:
@@ -909,7 +914,7 @@ class WWVBTimecode:
909
914
  return ("⁰", "¹", "²", "¿")[am]
910
915
  return ("₀", "₁", "₂", "⸮")[am]
911
916
 
912
- return "".join(convert_one(i, j) for i, j in zip(self.am, self.phase))
917
+ return "".join(convert_one(i, j) for i, j in zip(self.am, self.phase, strict=True))
913
918
 
914
919
  def __repr__(self) -> str:
915
920
  """Implement repr()"""
@@ -927,7 +932,7 @@ class WWVBTimecode:
927
932
 
928
933
  def to_both_string(self, charset: list[str]) -> str:
929
934
  """Convert both channels to a string"""
930
- return "".join(charset[i + j * 3] for i, j in zip(self.am, self.phase))
935
+ return "".join(charset[i + j * 3] for i, j in zip(self.am, self.phase, strict=True))
931
936
 
932
937
 
933
938
  styles = {
wwvb/__version__.py CHANGED
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '8.0.0rc1'
32
- __version_tuple__ = version_tuple = (8, 0, 0, 'rc1')
31
+ __version__ = version = '8.0.0rc2'
32
+ __version_tuple__ = version_tuple = (8, 0, 0, 'rc2')
33
33
 
34
34
  __commit_id__ = commit_id = None
wwvb/updateiers.py CHANGED
@@ -15,13 +15,16 @@ import gzip
15
15
  import io
16
16
  import json
17
17
  import pathlib
18
- from typing import Callable
18
+ from typing import TYPE_CHECKING
19
19
 
20
20
  import bs4
21
21
  import click
22
22
  import platformdirs
23
23
  import requests
24
24
 
25
+ if TYPE_CHECKING:
26
+ from collections.abc import Callable
27
+
25
28
  DIST_PATH = pathlib.Path(__file__).parent / "iersdata.json"
26
29
 
27
30
  IERS_URL = "https://datacenter.iers.org/data/csv/finals2000A.all.csv"
@@ -1,19 +1,16 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: wwvb
3
- Version: 8.0.0rc1
3
+ Version: 8.0.0rc2
4
4
  Summary: Generate WWVB timecodes for any desired time
5
5
  Author-email: Jeff Epler <jepler@gmail.com>
6
6
  Project-URL: Source, https://codeberg.org/jepler/wwvbpy
7
- Project-URL: Documentation, https://codeberg.org/jepler/wwvbpy
7
+ Project-URL: Documentation, https://wwvbpy.readthedocs.io/en/latest/
8
8
  Classifier: Programming Language :: Python :: 3
9
- Classifier: Programming Language :: Python :: 3.9
10
- Classifier: Programming Language :: Python :: 3.10
11
- Classifier: Programming Language :: Python :: 3.11
12
9
  Classifier: Programming Language :: Python :: Implementation :: PyPy
13
10
  Classifier: Programming Language :: Python :: Implementation :: CPython
14
11
  Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
15
12
  Classifier: Operating System :: OS Independent
16
- Requires-Python: >=3.9
13
+ Requires-Python: >=3.10
17
14
  Description-Content-Type: text/markdown
18
15
  Requires-Dist: adafruit-circuitpython-datetime
19
16
  Requires-Dist: beautifulsoup4
@@ -1,6 +1,6 @@
1
1
  uwwvb.py,sha256=Ybf8DeOZ5VjfqRGtO90_oEEW6HhGaztIVlh4L423MdQ,5801
2
- wwvb/__init__.py,sha256=8QRSFHrGEEnjvalE_mtcVCGvEzPwUl7Os9srr1V5nY0,33832
3
- wwvb/__version__.py,sha256=Rclf3PGSRaeFMb7D6Z8qQ4TeuY5MHu6vmzjC3bfviAU,714
2
+ wwvb/__init__.py,sha256=aFz_HXvOD5D4k_pWDgHA_kTWkBz-s3Ed5qY6W6MmuKE,34127
3
+ wwvb/__version__.py,sha256=BQnZGkrpqxv2i40P0cKXrysqXuu3x1wKpbxl8fOcQu8,714
4
4
  wwvb/decode.py,sha256=JQw8XT9AoXlJAl16JRZzjECUPfA7jLhDxI-_XSibzbc,2748
5
5
  wwvb/dut1table.py,sha256=HVX1338RlQzAQ-bsMPEdmCqoyIxSWoJSoRu1YGyaJO4,875
6
6
  wwvb/gen.py,sha256=iMTYLtyy3ItC4AplTakkOhHNHzDFVmApjlVwYIK72nI,3798
@@ -9,10 +9,10 @@ wwvb/iersdata.json.license,sha256=1k5fhRCuOn0yXbwHtB21G0Nntnf0qMxstflMHuK3-Js,71
9
9
  wwvb/iersdata.py,sha256=nMqA1xcE-iPtmi9m5qcTIJwfsCxZwoNsxHfM-wvooMQ,1210
10
10
  wwvb/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
11
  wwvb/tz.py,sha256=nlxKnzFPmqLLtC-cEDhWaJ3v3GCSPfqzVtUMf8EEdZ0,248
12
- wwvb/updateiers.py,sha256=q3QY--fj06HJ9wCRCmVQK7pCpdXhCudP8BdUPG5WWOA,5781
12
+ wwvb/updateiers.py,sha256=WsyFqkoxlvJS70dwW8vQhMseVACX0VwQRWWm2NyfV4Y,5846
13
13
  wwvb/wwvbtk.py,sha256=cFBUduN8rQEdrpB0NtHK5r8HNDYfg_3XD7mbhYrVSrk,5284
14
- wwvb-8.0.0rc1.dist-info/METADATA,sha256=f_izwyK9BqO8nSNAzycXQHzMsGSFi1oCsh1T1fHdzOg,9612
15
- wwvb-8.0.0rc1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
16
- wwvb-8.0.0rc1.dist-info/entry_points.txt,sha256=KSevvHWLEKxOxUQ-L-OQidD4Sj2BPEfhZ2TQhOgyys4,179
17
- wwvb-8.0.0rc1.dist-info/top_level.txt,sha256=0IYdkhEAMgurpv_F-76rlyn4GdxepGFzG99tivVdQVU,11
18
- wwvb-8.0.0rc1.dist-info/RECORD,,
14
+ wwvb-8.0.0rc2.dist-info/METADATA,sha256=sgVxOqNBSjlsAdw02aZJMSxkACg7GCBmXs8O5Fc7kww,9467
15
+ wwvb-8.0.0rc2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
16
+ wwvb-8.0.0rc2.dist-info/entry_points.txt,sha256=KSevvHWLEKxOxUQ-L-OQidD4Sj2BPEfhZ2TQhOgyys4,179
17
+ wwvb-8.0.0rc2.dist-info/top_level.txt,sha256=0IYdkhEAMgurpv_F-76rlyn4GdxepGFzG99tivVdQVU,11
18
+ wwvb-8.0.0rc2.dist-info/RECORD,,