dayhoff-tools 1.3.4__py3-none-any.whl → 1.3.5__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.
@@ -130,17 +130,29 @@ def parse_launch_time(launch_time_str: str) -> datetime:
130
130
  formats = [
131
131
  "%Y-%m-%dT%H:%M:%S.%fZ",
132
132
  "%Y-%m-%dT%H:%M:%SZ",
133
+ "%Y-%m-%dT%H:%M:%S%z", # ISO format with timezone
134
+ "%Y-%m-%dT%H:%M:%S+00:00", # Explicit UTC offset
133
135
  "%Y-%m-%d %H:%M:%S",
134
136
  ]
137
+
138
+ # First try parsing with fromisoformat for better timezone handling
139
+ try:
140
+ # Handle the ISO format properly
141
+ return datetime.fromisoformat(launch_time_str.replace('Z', '+00:00'))
142
+ except (ValueError, AttributeError):
143
+ pass
144
+
145
+ # Fallback to manual format parsing
135
146
  for fmt in formats:
136
147
  try:
137
148
  parsed = datetime.strptime(launch_time_str, fmt)
138
- # If the format includes 'Z', it's UTC
139
- if fmt.endswith('Z'):
149
+ # If no timezone info, assume UTC
150
+ if parsed.tzinfo is None:
140
151
  parsed = parsed.replace(tzinfo=timezone.utc)
141
152
  return parsed
142
153
  except ValueError:
143
154
  continue
155
+
144
156
  # Fallback: assume it's recent
145
157
  return datetime.now(timezone.utc)
146
158
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: dayhoff-tools
3
- Version: 1.3.4
3
+ Version: 1.3.5
4
4
  Summary: Common tools for all the repos at Dayhoff Labs
5
5
  Author: Daniel Martin-Alarcon
6
6
  Author-email: dma@dayhofflabs.com
@@ -3,7 +3,7 @@ dayhoff_tools/chemistry/standardizer.py,sha256=uMn7VwHnx02nc404eO6fRuS4rsl4dvSPf
3
3
  dayhoff_tools/chemistry/utils.py,sha256=jt-7JgF-GeeVC421acX-bobKbLU_X94KNOW24p_P-_M,2257
4
4
  dayhoff_tools/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  dayhoff_tools/cli/cloud_commands.py,sha256=33qcWLmq-FwEXMdL3F0OHm-5Stlh2r65CldyEZgQ1no,40904
6
- dayhoff_tools/cli/engine_commands.py,sha256=w0wzs4aQUdzeyAyhHH9lHxpJEG8acrbguQ4Rd0u5bA4,48179
6
+ dayhoff_tools/cli/engine_commands.py,sha256=BU5mi4Q_UTsg2CQLkn2XQaw0anUKwIp_GhMa_Zjlcns,48604
7
7
  dayhoff_tools/cli/main.py,sha256=rgeEHD9lJ8SBCR34BTLb7gVInHUUdmEBNXAJnq5yEU4,4795
8
8
  dayhoff_tools/cli/swarm_commands.py,sha256=5EyKj8yietvT5lfoz8Zx0iQvVaNgc3SJX1z2zQR6o6M,5614
9
9
  dayhoff_tools/cli/utility_commands.py,sha256=qs8vH9TBFHsOPC3X8cU3qZigM3dDn-2Ytq4o_F2WubU,27874
@@ -27,7 +27,7 @@ dayhoff_tools/intake/uniprot.py,sha256=BZYJQF63OtPcBBnQ7_P9gulxzJtqyorgyuDiPeOJq
27
27
  dayhoff_tools/logs.py,sha256=DKdeP0k0kliRcilwvX0mUB2eipO5BdWUeHwh-VnsICs,838
28
28
  dayhoff_tools/sqlite.py,sha256=jV55ikF8VpTfeQqqlHSbY8OgfyfHj8zgHNpZjBLos_E,18672
29
29
  dayhoff_tools/warehouse.py,sha256=8YbnQ--usrEgDQGfvpV4MrMji55A0rq2hZaOgFGh6ag,15896
30
- dayhoff_tools-1.3.4.dist-info/METADATA,sha256=YZw82MtQpm4aWNzOfEl62Iov6ZRXtw6LfZ43eI9psKE,2842
31
- dayhoff_tools-1.3.4.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
32
- dayhoff_tools-1.3.4.dist-info/entry_points.txt,sha256=iAf4jteNqW3cJm6CO6czLxjW3vxYKsyGLZ8WGmxamSc,49
33
- dayhoff_tools-1.3.4.dist-info/RECORD,,
30
+ dayhoff_tools-1.3.5.dist-info/METADATA,sha256=LmjC7aGDDP-Pj-LII3xRjc_G8CELn7KJEozkjMtGeTU,2842
31
+ dayhoff_tools-1.3.5.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
32
+ dayhoff_tools-1.3.5.dist-info/entry_points.txt,sha256=iAf4jteNqW3cJm6CO6czLxjW3vxYKsyGLZ8WGmxamSc,49
33
+ dayhoff_tools-1.3.5.dist-info/RECORD,,