EAScheduler 0.2.4__tar.gz → 0.2.5__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 (65) hide show
  1. {eascheduler-0.2.4/src/EAScheduler.egg-info → eascheduler-0.2.5}/PKG-INFO +9 -5
  2. {eascheduler-0.2.4 → eascheduler-0.2.5}/requirements_setup.txt +2 -2
  3. {eascheduler-0.2.4 → eascheduler-0.2.5/src/EAScheduler.egg-info}/PKG-INFO +9 -5
  4. eascheduler-0.2.5/src/EAScheduler.egg-info/requires.txt +4 -0
  5. eascheduler-0.2.5/src/eascheduler/__version__.py +1 -0
  6. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/helpers/time_replace.py +2 -2
  7. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/producers/prod_operation.py +9 -9
  8. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/producers/prod_time.py +1 -1
  9. eascheduler-0.2.4/src/EAScheduler.egg-info/requires.txt +0 -4
  10. eascheduler-0.2.4/src/eascheduler/__version__.py +0 -1
  11. {eascheduler-0.2.4 → eascheduler-0.2.5}/LICENSE +0 -0
  12. {eascheduler-0.2.4 → eascheduler-0.2.5}/MANIFEST.in +0 -0
  13. {eascheduler-0.2.4 → eascheduler-0.2.5}/setup.cfg +0 -0
  14. {eascheduler-0.2.4 → eascheduler-0.2.5}/setup.py +0 -0
  15. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/EAScheduler.egg-info/SOURCES.txt +0 -0
  16. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/EAScheduler.egg-info/dependency_links.txt +0 -0
  17. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/EAScheduler.egg-info/top_level.txt +0 -0
  18. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/__init__.py +0 -0
  19. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/builder/__init__.py +0 -0
  20. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/builder/filters.py +0 -0
  21. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/builder/helper.py +0 -0
  22. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/builder/jobs.py +0 -0
  23. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/builder/triggers.py +0 -0
  24. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/builder/utils.py +0 -0
  25. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/const.py +0 -0
  26. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/default.py +0 -0
  27. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/errors/__init__.py +0 -0
  28. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/errors/errors.py +0 -0
  29. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/errors/handler.py +0 -0
  30. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/executor/__init__.py +0 -0
  31. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/executor/base.py +0 -0
  32. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/helpers/__init__.py +0 -0
  33. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/helpers/dst_param.py +0 -0
  34. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/helpers/helpers.py +0 -0
  35. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/job_control/__init__.py +0 -0
  36. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/job_control/base.py +0 -0
  37. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/job_control/job_countdown.py +0 -0
  38. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/job_control/job_datetime.py +0 -0
  39. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/job_control/job_onetime.py +0 -0
  40. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/job_stores/__init__.py +0 -0
  41. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/job_stores/base.py +0 -0
  42. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/job_stores/memory.py +0 -0
  43. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/jobs/__init__.py +0 -0
  44. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/jobs/base.py +0 -0
  45. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/jobs/event_handler.py +0 -0
  46. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/jobs/job_countdown.py +0 -0
  47. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/jobs/job_datetime.py +0 -0
  48. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/jobs/job_onetime.py +0 -0
  49. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/producers/__init__.py +0 -0
  50. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/producers/base.py +0 -0
  51. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/producers/prod_filter.py +0 -0
  52. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/producers/prod_filter_holiday.py +0 -0
  53. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/producers/prod_group.py +0 -0
  54. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/producers/prod_interval.py +0 -0
  55. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/producers/prod_sun.py +0 -0
  56. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/py.typed +0 -0
  57. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/schedulers/__init__.py +0 -0
  58. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/schedulers/async_scheduler.py +0 -0
  59. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/schedulers/base.py +0 -0
  60. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/task_managers/__init__.py +0 -0
  61. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/task_managers/base.py +0 -0
  62. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/task_managers/parallel.py +0 -0
  63. {eascheduler-0.2.4 → eascheduler-0.2.5}/src/eascheduler/task_managers/sequential.py +0 -0
  64. {eascheduler-0.2.4 → eascheduler-0.2.5}/tests/test_const.py +0 -0
  65. {eascheduler-0.2.4 → eascheduler-0.2.5}/tests/test_default.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: EAScheduler
3
- Version: 0.2.4
3
+ Version: 0.2.5
4
4
  Summary: Easy async scheduling with a nice interface
5
5
  Home-page: https://github.com/spacemanspiff2007/eascheduler
6
6
  Author: spaceman_spiff
@@ -19,9 +19,9 @@ Classifier: Programming Language :: Python :: 3 :: Only
19
19
  Requires-Python: >=3.10
20
20
  Description-Content-Type: text/markdown
21
21
  License-File: LICENSE
22
- Requires-Dist: whenever==0.7.3
22
+ Requires-Dist: whenever==0.8.0
23
23
  Requires-Dist: astral==3.2
24
- Requires-Dist: holidays==0.70
24
+ Requires-Dist: holidays==0.72
25
25
  Requires-Dist: typing_extensions
26
26
  Dynamic: author
27
27
  Dynamic: classifier
@@ -137,8 +137,12 @@ scheduler.at(
137
137
  ````
138
138
 
139
139
  ## Changelog
140
- #### 0.2.4 (2025-04-16)
141
- - Instand for execution can be specified directly as `Instant`
140
+ #### 0.2.5 (2025-05-06)
141
+ - Updated to whenever 0.8 which introduces breaking changes
142
+ - Updated dependencies
143
+
144
+ #### 0.2.4 (2025-05-06)
145
+ - Updated to whenever 0.8 which introduces breaking changes
142
146
  - Updated dependencies
143
147
 
144
148
  #### 0.2.3 (2025-03-26)
@@ -1,6 +1,6 @@
1
1
  # Requirements to install and use this library
2
- whenever == 0.7.3
2
+ whenever == 0.8.0
3
3
  astral == 3.2
4
- holidays == 0.70
4
+ holidays == 0.72
5
5
 
6
6
  typing_extensions
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: EAScheduler
3
- Version: 0.2.4
3
+ Version: 0.2.5
4
4
  Summary: Easy async scheduling with a nice interface
5
5
  Home-page: https://github.com/spacemanspiff2007/eascheduler
6
6
  Author: spaceman_spiff
@@ -19,9 +19,9 @@ Classifier: Programming Language :: Python :: 3 :: Only
19
19
  Requires-Python: >=3.10
20
20
  Description-Content-Type: text/markdown
21
21
  License-File: LICENSE
22
- Requires-Dist: whenever==0.7.3
22
+ Requires-Dist: whenever==0.8.0
23
23
  Requires-Dist: astral==3.2
24
- Requires-Dist: holidays==0.70
24
+ Requires-Dist: holidays==0.72
25
25
  Requires-Dist: typing_extensions
26
26
  Dynamic: author
27
27
  Dynamic: classifier
@@ -137,8 +137,12 @@ scheduler.at(
137
137
  ````
138
138
 
139
139
  ## Changelog
140
- #### 0.2.4 (2025-04-16)
141
- - Instand for execution can be specified directly as `Instant`
140
+ #### 0.2.5 (2025-05-06)
141
+ - Updated to whenever 0.8 which introduces breaking changes
142
+ - Updated dependencies
143
+
144
+ #### 0.2.4 (2025-05-06)
145
+ - Updated to whenever 0.8 which introduces breaking changes
142
146
  - Updated dependencies
143
147
 
144
148
  #### 0.2.3 (2025-03-26)
@@ -0,0 +1,4 @@
1
+ whenever==0.8.0
2
+ astral==3.2
3
+ holidays==0.72
4
+ typing_extensions
@@ -0,0 +1 @@
1
+ __version__ = '0.2.5'
@@ -4,7 +4,7 @@ from enum import Enum
4
4
  from typing import TYPE_CHECKING, Final, Literal, TypeAlias
5
5
 
6
6
  from typing_extensions import Self
7
- from whenever import Date, LocalDateTime, RepeatedTime, SkippedTime, SystemDateTime, Time
7
+ from whenever import Date, PlainDateTime, RepeatedTime, SkippedTime, SystemDateTime, Time
8
8
 
9
9
  from eascheduler.helpers.helpers import to_enum
10
10
 
@@ -35,7 +35,7 @@ HINT_REPEATED: TypeAlias = RepeatedTimeBehavior | Literal['skip', 'earlier', 'la
35
35
 
36
36
  def find_time_after_dst_switch(dt: SystemDateTime | Date, time: Time) -> SystemDateTime:
37
37
  # DST changes typically occur on the full minute
38
- t = LocalDateTime(dt.year, dt.month, dt.day, time.hour, time.minute)
38
+ t = PlainDateTime(dt.year, dt.month, dt.day, time.hour, time.minute)
39
39
 
40
40
  # dst is typically 1 hour, but who knows
41
41
  for _ in range(121):
@@ -4,7 +4,7 @@ from random import uniform
4
4
  from typing import TYPE_CHECKING, Final
5
5
 
6
6
  from typing_extensions import Self, override
7
- from whenever import LocalDateTime, SkippedTime, SystemDateTime, Time, TimeDelta
7
+ from whenever import PlainDateTime, SkippedTime, SystemDateTime, Time, TimeDelta
8
8
 
9
9
  from eascheduler.helpers import TimeReplacer, TimeSkippedError, TimeTwiceError
10
10
  from eascheduler.producers.base import DateTimeProducerBase, DateTimeProducerOperationBase
@@ -16,13 +16,13 @@ if TYPE_CHECKING:
16
16
 
17
17
  def find_time_after_dst_switch(dt: SystemDateTime, time: Time) -> Instant:
18
18
  # DST changes typically occur on the full minute
19
- local = LocalDateTime(dt.year, dt.month, dt.day, time.hour, time.minute)
19
+ local = PlainDateTime(dt.year, dt.month, dt.day, time.hour, time.minute)
20
20
 
21
21
  while True:
22
22
  local = local.add(minutes=1, ignore_dst=True)
23
23
 
24
24
  try:
25
- return dt.replace_time(local.time(), disambiguate='raise').instant()
25
+ return dt.replace_time(local.time(), disambiguate='raise').to_instant()
26
26
  except SkippedTime:
27
27
  continue
28
28
 
@@ -59,13 +59,13 @@ class EarliestProducerOperation(DateTimeProducerOperationBase):
59
59
  @override
60
60
  def apply_operation(self, next_dt: Instant, dt: Instant) -> Instant:
61
61
  try:
62
- earliest_dt = self.earliest.replace(next_dt.to_system_tz()).instant()
62
+ earliest_dt = self.earliest.replace(next_dt.to_system_tz()).to_instant()
63
63
  except TimeSkippedError:
64
64
  return next_dt
65
65
  except TimeTwiceError as e:
66
- earliest_dt = e.earlier.instant()
66
+ earliest_dt = e.earlier.to_instant()
67
67
  if earliest_dt <= dt:
68
- earliest_dt = e.later.instant()
68
+ earliest_dt = e.later.to_instant()
69
69
 
70
70
  if next_dt < earliest_dt:
71
71
  return earliest_dt
@@ -87,13 +87,13 @@ class LatestProducerOperation(DateTimeProducerOperationBase):
87
87
  @override
88
88
  def apply_operation(self, next_dt: Instant, dt: Instant) -> Instant:
89
89
  try:
90
- latest_dt = self.latest.replace(next_dt.to_system_tz()).instant()
90
+ latest_dt = self.latest.replace(next_dt.to_system_tz()).to_instant()
91
91
  except TimeSkippedError:
92
92
  return next_dt
93
93
  except TimeTwiceError as e:
94
- latest_dt = e.earlier.instant()
94
+ latest_dt = e.earlier.to_instant()
95
95
  if latest_dt <= dt:
96
- latest_dt = e.later.instant()
96
+ latest_dt = e.later.to_instant()
97
97
 
98
98
  if next_dt > latest_dt:
99
99
  return latest_dt
@@ -39,7 +39,7 @@ class TimeProducer(DateTimeProducerBase):
39
39
  local_dts = (e.earlier, e.later)
40
40
 
41
41
  for local_dt in local_dts:
42
- next_dt = local_dt.instant()
42
+ next_dt = local_dt.to_instant()
43
43
  if next_dt > dt and ((f := self._filter) is None or f.allow(local_dt)):
44
44
  return next_dt
45
45
 
@@ -1,4 +0,0 @@
1
- whenever==0.7.3
2
- astral==3.2
3
- holidays==0.70
4
- typing_extensions
@@ -1 +0,0 @@
1
- __version__ = '0.2.4'
File without changes
File without changes
File without changes
File without changes