EAScheduler 0.2.0__tar.gz → 0.2.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.
Files changed (64) hide show
  1. {eascheduler-0.2.0/src/EAScheduler.egg-info → eascheduler-0.2.1}/PKG-INFO +5 -3
  2. {eascheduler-0.2.0 → eascheduler-0.2.1}/requirements_setup.txt +2 -2
  3. {eascheduler-0.2.0 → eascheduler-0.2.1/src/EAScheduler.egg-info}/PKG-INFO +5 -3
  4. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/EAScheduler.egg-info/requires.txt +2 -2
  5. eascheduler-0.2.1/src/eascheduler/__version__.py +1 -0
  6. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/builder/helper.py +2 -1
  7. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/builder/jobs.py +7 -2
  8. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/builder/triggers.py +4 -3
  9. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/producers/prod_operation.py +1 -1
  10. eascheduler-0.2.0/src/eascheduler/__version__.py +0 -1
  11. {eascheduler-0.2.0 → eascheduler-0.2.1}/LICENSE +0 -0
  12. {eascheduler-0.2.0 → eascheduler-0.2.1}/MANIFEST.in +0 -0
  13. {eascheduler-0.2.0 → eascheduler-0.2.1}/setup.cfg +0 -0
  14. {eascheduler-0.2.0 → eascheduler-0.2.1}/setup.py +0 -0
  15. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/EAScheduler.egg-info/SOURCES.txt +0 -0
  16. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/EAScheduler.egg-info/dependency_links.txt +0 -0
  17. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/EAScheduler.egg-info/top_level.txt +0 -0
  18. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/__init__.py +0 -0
  19. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/builder/__init__.py +0 -0
  20. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/builder/filters.py +0 -0
  21. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/builder/utils.py +0 -0
  22. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/const.py +0 -0
  23. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/default.py +0 -0
  24. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/errors/__init__.py +0 -0
  25. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/errors/errors.py +0 -0
  26. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/errors/handler.py +0 -0
  27. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/executor/__init__.py +0 -0
  28. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/executor/base.py +0 -0
  29. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/helpers/__init__.py +0 -0
  30. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/helpers/dst_param.py +0 -0
  31. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/helpers/helpers.py +0 -0
  32. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/helpers/time_replace.py +0 -0
  33. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/job_control/__init__.py +0 -0
  34. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/job_control/base.py +0 -0
  35. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/job_control/job_countdown.py +0 -0
  36. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/job_control/job_datetime.py +0 -0
  37. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/job_control/job_onetime.py +0 -0
  38. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/job_stores/__init__.py +0 -0
  39. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/job_stores/base.py +0 -0
  40. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/job_stores/memory.py +0 -0
  41. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/jobs/__init__.py +0 -0
  42. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/jobs/base.py +0 -0
  43. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/jobs/event_handler.py +0 -0
  44. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/jobs/job_countdown.py +0 -0
  45. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/jobs/job_datetime.py +0 -0
  46. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/jobs/job_onetime.py +0 -0
  47. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/producers/__init__.py +0 -0
  48. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/producers/base.py +0 -0
  49. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/producers/prod_filter.py +0 -0
  50. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/producers/prod_filter_holiday.py +0 -0
  51. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/producers/prod_group.py +0 -0
  52. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/producers/prod_interval.py +0 -0
  53. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/producers/prod_sun.py +0 -0
  54. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/producers/prod_time.py +0 -0
  55. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/py.typed +0 -0
  56. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/schedulers/__init__.py +0 -0
  57. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/schedulers/async_scheduler.py +0 -0
  58. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/schedulers/base.py +0 -0
  59. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/task_managers/__init__.py +0 -0
  60. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/task_managers/base.py +0 -0
  61. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/task_managers/parallel.py +0 -0
  62. {eascheduler-0.2.0 → eascheduler-0.2.1}/src/eascheduler/task_managers/sequential.py +0 -0
  63. {eascheduler-0.2.0 → eascheduler-0.2.1}/tests/test_const.py +0 -0
  64. {eascheduler-0.2.0 → eascheduler-0.2.1}/tests/test_default.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: EAScheduler
3
- Version: 0.2.0
3
+ Version: 0.2.1
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.6.12
22
+ Requires-Dist: whenever==0.6.13
23
23
  Requires-Dist: astral==3.2
24
- Requires-Dist: holidays==0.60
24
+ Requires-Dist: holidays==0.61
25
25
  Requires-Dist: typing_extensions==4.12.2
26
26
 
27
27
  # EAScheduler
@@ -126,6 +126,8 @@ scheduler.at(
126
126
  ````
127
127
 
128
128
  ## Changelog
129
+ #### 0.2.1 (2024-11-20)
130
+ - Updated dependencies and some type hints
129
131
 
130
132
  #### 0.2.0 (2024-11-13)
131
133
  - Complete rewrite
@@ -1,6 +1,6 @@
1
1
  # Requirements to install and use this library
2
- whenever == 0.6.12
2
+ whenever == 0.6.13
3
3
  astral == 3.2
4
- holidays == 0.60
4
+ holidays == 0.61
5
5
 
6
6
  typing_extensions == 4.12.2
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: EAScheduler
3
- Version: 0.2.0
3
+ Version: 0.2.1
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.6.12
22
+ Requires-Dist: whenever==0.6.13
23
23
  Requires-Dist: astral==3.2
24
- Requires-Dist: holidays==0.60
24
+ Requires-Dist: holidays==0.61
25
25
  Requires-Dist: typing_extensions==4.12.2
26
26
 
27
27
  # EAScheduler
@@ -126,6 +126,8 @@ scheduler.at(
126
126
  ````
127
127
 
128
128
  ## Changelog
129
+ #### 0.2.1 (2024-11-20)
130
+ - Updated dependencies and some type hints
129
131
 
130
132
  #### 0.2.0 (2024-11-13)
131
133
  - Complete rewrite
@@ -1,4 +1,4 @@
1
- whenever==0.6.12
1
+ whenever==0.6.13
2
2
  astral==3.2
3
- holidays==0.60
3
+ holidays==0.61
4
4
  typing_extensions==4.12.2
@@ -0,0 +1 @@
1
+ __version__ = '0.2.1'
@@ -15,6 +15,7 @@ from eascheduler.helpers import HINT_CLOCK_BACKWARD, HINT_CLOCK_FORWARD, TimeRep
15
15
 
16
16
  HINT_TIME: TypeAlias = dt_time | Time | str
17
17
  HINT_TIMEDELTA: TypeAlias = dt_timedelta | TimeDelta | int | float | str
18
+ HINT_POS_TIMEDELTA: TypeAlias = HINT_TIMEDELTA
18
19
  HINT_INSTANT: TypeAlias = dt_datetime | None | str | HINT_TIME | HINT_TIMEDELTA | SystemDateTime
19
20
  HINT_NAME_OR_NR: TypeAlias = int | str | Iterable[int | str]
20
21
  HINT_DATE: TypeAlias = dt_date | dt_datetime | str | None | Date | SystemDateTime | Instant
@@ -34,7 +35,7 @@ def get_timedelta(value: HINT_TIMEDELTA) -> TimeDelta:
34
35
  raise TypeError()
35
36
 
36
37
 
37
- def get_pos_timedelta_secs(value: HINT_TIMEDELTA) -> float:
38
+ def get_pos_timedelta_secs(value: HINT_POS_TIMEDELTA) -> float:
38
39
  if (value := get_timedelta(value).in_seconds()) <= 0:
39
40
  msg = 'Value must be positive.'
40
41
  raise ValueError(msg)
@@ -1,7 +1,12 @@
1
1
  from collections.abc import Awaitable, Callable
2
2
  from typing import Any, Final
3
3
 
4
- from eascheduler.builder.helper import HINT_INSTANT, HINT_TIMEDELTA, get_instant, get_pos_timedelta_secs
4
+ from eascheduler.builder.helper import (
5
+ HINT_INSTANT,
6
+ HINT_POS_TIMEDELTA,
7
+ get_instant,
8
+ get_pos_timedelta_secs,
9
+ )
5
10
  from eascheduler.builder.triggers import TriggerObject, _get_producer
6
11
  from eascheduler.executor import ExecutorBase
7
12
  from eascheduler.job_control import CountdownJobControl, DateTimeJobControl, OneTimeJobControl
@@ -20,7 +25,7 @@ class JobBuilder:
20
25
  self._executor: Final = executor
21
26
  self._job_store: Final = job_store
22
27
 
23
- def countdown(self, secs: HINT_TIMEDELTA, coro_func: Callable[..., Awaitable[Any]],
28
+ def countdown(self, secs: HINT_POS_TIMEDELTA, coro_func: Callable[..., Awaitable[Any]],
24
29
  *args: Any, job_id: IdType | None = None, **kwargs: Any) -> CountdownJobControl:
25
30
  """Create a job that count town a certain time and then execute.
26
31
 
@@ -8,6 +8,7 @@ from eascheduler.builder.helper import (
8
8
  HINT_CLOCK_BACKWARD,
9
9
  HINT_CLOCK_FORWARD,
10
10
  HINT_INSTANT,
11
+ HINT_POS_TIMEDELTA,
11
12
  HINT_TIME,
12
13
  HINT_TIMEDELTA,
13
14
  BuilderTypeValidator,
@@ -85,7 +86,7 @@ class TriggerObject:
85
86
  )
86
87
  )
87
88
 
88
- def jitter(self, low: HINT_TIMEDELTA, high: HINT_TIMEDELTA | None = None) -> Self:
89
+ def jitter(self, low: HINT_POS_TIMEDELTA, high: HINT_POS_TIMEDELTA | None = None) -> Self:
89
90
  """Add jitter to the time returned by the trigger.
90
91
 
91
92
  :param low: The lower bound of the jitter
@@ -94,7 +95,7 @@ class TriggerObject:
94
95
  return self.__class__(
95
96
  JitterProducerOperation(
96
97
  self._producer,
97
- get_pos_timedelta_secs(low), get_pos_timedelta_secs(high) if high is not None else None
98
+ get_timedelta(low).in_seconds(), get_timedelta(high).in_seconds() if high is not None else None
98
99
  )
99
100
  )
100
101
 
@@ -165,7 +166,7 @@ class TriggerBuilder:
165
166
  return TriggerObject(GroupProducer([_get_producer(b) for b in builders]))
166
167
 
167
168
  @staticmethod
168
- def interval(start: HINT_INSTANT, interval: HINT_TIMEDELTA) -> TriggerObject:
169
+ def interval(start: HINT_INSTANT, interval: HINT_POS_TIMEDELTA) -> TriggerObject:
169
170
  """Triggers at a fixed interval from a given start time.
170
171
 
171
172
  :param start: When this trigger will run for the first time.
@@ -105,7 +105,7 @@ class JitterProducerOperation(DateTimeProducerOperationBase):
105
105
  if (low := self.low) >= 0:
106
106
  return next_dt.add(seconds=uniform(low, self.high))
107
107
 
108
- # We can use the whole interval because we will always
108
+ # Check if we can use the whole interval
109
109
  lowest = (dt - next_dt).in_seconds()
110
110
  if lowest < low:
111
111
  return next_dt.add(seconds=uniform(low, self.high))
@@ -1 +0,0 @@
1
- __version__ = '0.2.0'
File without changes
File without changes
File without changes
File without changes