nost-tools 2.1.0__tar.gz → 2.1.1__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.

Potentially problematic release.


This version of nost-tools might be problematic. Click here for more details.

Files changed (26) hide show
  1. {nost_tools-2.1.0 → nost_tools-2.1.1}/PKG-INFO +1 -1
  2. {nost_tools-2.1.0 → nost_tools-2.1.1}/nost_tools/__init__.py +1 -1
  3. {nost_tools-2.1.0 → nost_tools-2.1.1}/nost_tools/schemas.py +19 -3
  4. {nost_tools-2.1.0 → nost_tools-2.1.1}/nost_tools.egg-info/PKG-INFO +1 -1
  5. {nost_tools-2.1.0 → nost_tools-2.1.1}/LICENSE +0 -0
  6. {nost_tools-2.1.0 → nost_tools-2.1.1}/README.md +0 -0
  7. {nost_tools-2.1.0 → nost_tools-2.1.1}/nost_tools/application.py +0 -0
  8. {nost_tools-2.1.0 → nost_tools-2.1.1}/nost_tools/application_utils.py +0 -0
  9. {nost_tools-2.1.0 → nost_tools-2.1.1}/nost_tools/configuration.py +0 -0
  10. {nost_tools-2.1.0 → nost_tools-2.1.1}/nost_tools/entity.py +0 -0
  11. {nost_tools-2.1.0 → nost_tools-2.1.1}/nost_tools/errors.py +0 -0
  12. {nost_tools-2.1.0 → nost_tools-2.1.1}/nost_tools/logger_application.py +0 -0
  13. {nost_tools-2.1.0 → nost_tools-2.1.1}/nost_tools/managed_application.py +0 -0
  14. {nost_tools-2.1.0 → nost_tools-2.1.1}/nost_tools/manager.py +0 -0
  15. {nost_tools-2.1.0 → nost_tools-2.1.1}/nost_tools/observer.py +0 -0
  16. {nost_tools-2.1.0 → nost_tools-2.1.1}/nost_tools/publisher.py +0 -0
  17. {nost_tools-2.1.0 → nost_tools-2.1.1}/nost_tools/simulator.py +0 -0
  18. {nost_tools-2.1.0 → nost_tools-2.1.1}/nost_tools.egg-info/SOURCES.txt +0 -0
  19. {nost_tools-2.1.0 → nost_tools-2.1.1}/nost_tools.egg-info/dependency_links.txt +0 -0
  20. {nost_tools-2.1.0 → nost_tools-2.1.1}/nost_tools.egg-info/requires.txt +0 -0
  21. {nost_tools-2.1.0 → nost_tools-2.1.1}/nost_tools.egg-info/top_level.txt +0 -0
  22. {nost_tools-2.1.0 → nost_tools-2.1.1}/pyproject.toml +0 -0
  23. {nost_tools-2.1.0 → nost_tools-2.1.1}/setup.cfg +0 -0
  24. {nost_tools-2.1.0 → nost_tools-2.1.1}/tests/test_entity.py +0 -0
  25. {nost_tools-2.1.0 → nost_tools-2.1.1}/tests/test_observer.py +0 -0
  26. {nost_tools-2.1.0 → nost_tools-2.1.1}/tests/test_simulator.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nost_tools
3
- Version: 2.1.0
3
+ Version: 2.1.1
4
4
  Summary: Tools for Novel Observing Strategies Testbed (NOS-T) Applications
5
5
  Author-email: "Paul T. Grogan" <paul.grogan@asu.edu>, "Emmanuel M. Gonzalez" <emmanuelgonzalez@asu.edu>
6
6
  License-Expression: BSD-3-Clause
@@ -1,4 +1,4 @@
1
- __version__ = "2.1.0"
1
+ __version__ = "2.1.1"
2
2
 
3
3
  from .application import Application
4
4
  from .application_utils import ConnectionConfig, ModeStatusObserver, TimeStatusPublisher
@@ -339,12 +339,18 @@ class ManagerConfig(BaseModel):
339
339
  shut_down_when_terminated: bool = Field(
340
340
  False, description="Shut down when terminated."
341
341
  )
342
+ is_scenario_time_status_step: bool = Field(
343
+ True,
344
+ description="If True, time_status_step is in scenario time and won't be scaled. If False, time_status_step is in wallclock time and will be scaled by the time scale factor.",
345
+ )
342
346
 
343
347
  @model_validator(mode="before")
344
348
  def scale_time(cls, values):
345
349
  time_scale_factor = values.get("time_scale_factor", 1.0)
346
350
 
347
- if "time_status_step" in values:
351
+ if "time_status_step" in values and not values.get(
352
+ "is_scenario_time_status_step", True
353
+ ):
348
354
  time_status_step = values["time_status_step"]
349
355
  if isinstance(time_status_step, str):
350
356
  hours, minutes, seconds = map(int, time_status_step.split(":"))
@@ -371,12 +377,20 @@ class ManagedApplicationConfig(BaseModel):
371
377
  False, description="Shut down when terminated."
372
378
  )
373
379
  manager_app_name: str = Field("manager", description="Manager application name.")
380
+ is_scenario_time_step: bool = Field(
381
+ True,
382
+ description="If True, time_step is in scenario time and won't be scaled. If False, time_step is in wallclock time and will be scaled by the time scale factor.",
383
+ )
384
+ is_scenario_time_status_step: bool = Field(
385
+ True,
386
+ description="If True, time_status_step is in scenario time and won't be scaled. If False, time_status_step is in wallclock time and will be scaled by the time scale factor.",
387
+ )
374
388
 
375
389
  @model_validator(mode="before")
376
390
  def scale_time(cls, values):
377
391
  time_scale_factor = values.get("time_scale_factor", 1.0)
378
392
 
379
- if "time_step" in values:
393
+ if "time_step" in values and not values.get("is_scenario_time_step", True):
380
394
  time_step = values["time_step"]
381
395
  if isinstance(time_step, str):
382
396
  hours, minutes, seconds = map(int, time_step.split(":"))
@@ -386,7 +400,9 @@ class ManagedApplicationConfig(BaseModel):
386
400
  seconds=time_step.total_seconds() * time_scale_factor
387
401
  )
388
402
 
389
- if "time_status_step" in values:
403
+ if "time_status_step" in values and not values.get(
404
+ "is_scenario_time_status_step", True
405
+ ):
390
406
  time_status_step = values["time_status_step"]
391
407
  if isinstance(time_status_step, str):
392
408
  hours, minutes, seconds = map(int, time_status_step.split(":"))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nost_tools
3
- Version: 2.1.0
3
+ Version: 2.1.1
4
4
  Summary: Tools for Novel Observing Strategies Testbed (NOS-T) Applications
5
5
  Author-email: "Paul T. Grogan" <paul.grogan@asu.edu>, "Emmanuel M. Gonzalez" <emmanuelgonzalez@asu.edu>
6
6
  License-Expression: BSD-3-Clause
File without changes
File without changes
File without changes
File without changes