clockwork 0.7.0__tar.gz → 0.8.0__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 (25) hide show
  1. {clockwork-0.7.0 → clockwork-0.8.0}/PKG-INFO +7 -6
  2. {clockwork-0.7.0 → clockwork-0.8.0}/pyproject.toml +28 -27
  3. {clockwork-0.7.0 → clockwork-0.8.0/src}/clockwork/__init__.py +4 -3
  4. {clockwork-0.7.0/clockwork/timestamp → clockwork-0.8.0/src/clockwork}/_decorators.py +3 -3
  5. clockwork-0.8.0/src/clockwork/constants.py +6 -0
  6. clockwork-0.7.0/clockwork/timestamp/core.py → clockwork-0.8.0/src/clockwork/date_time.py +203 -89
  7. {clockwork-0.7.0 → clockwork-0.8.0/src}/clockwork/month_end.py +14 -13
  8. {clockwork-0.7.0 → clockwork-0.8.0/src}/clockwork/quarter_end.py +12 -12
  9. {clockwork-0.7.0 → clockwork-0.8.0/src}/clockwork/taskmaster/_task.py +7 -7
  10. {clockwork-0.7.0 → clockwork-0.8.0/src}/clockwork/taskmaster/taskmaster.py +4 -4
  11. clockwork-0.8.0/uv.lock +302 -0
  12. clockwork-0.7.0/clockwork/constants.py +0 -1
  13. clockwork-0.7.0/clockwork/timestamp/__init__.py +0 -1
  14. clockwork-0.7.0/uv.lock +0 -274
  15. {clockwork-0.7.0 → clockwork-0.8.0}/.gitignore +0 -0
  16. {clockwork-0.7.0 → clockwork-0.8.0}/.python-version +0 -0
  17. {clockwork-0.7.0 → clockwork-0.8.0}/LICENSE +0 -0
  18. {clockwork-0.7.0 → clockwork-0.8.0}/README.md +0 -0
  19. {clockwork-0.7.0 → clockwork-0.8.0/src}/clockwork/decorators.py +0 -0
  20. {clockwork-0.7.0 → clockwork-0.8.0/src}/clockwork/taskmaster/__init__.py +0 -0
  21. {clockwork-0.7.0 → clockwork-0.8.0/src}/clockwork/taskmaster/_scheduler.py +0 -0
  22. {clockwork-0.7.0 → clockwork-0.8.0/src}/clockwork/taskmaster/file_monitor.py +0 -0
  23. {clockwork-0.7.0 → clockwork-0.8.0/src}/clockwork/taskmaster/logger.py +0 -0
  24. {clockwork-0.7.0 → clockwork-0.8.0/src}/clockwork/taskmaster/utils.py +0 -0
  25. {clockwork-0.7.0 → clockwork-0.8.0/src}/clockwork/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: clockwork
3
- Version: 0.7.0
3
+ Version: 0.8.0
4
4
  Summary: Toolkit for time-related operations including scheduling, logging, date manipulation, and more.
5
5
  Project-URL: repository, https://github.com/zteinck/clockwork
6
6
  Project-URL: homepage, https://github.com/zteinck/clockwork
@@ -8,13 +8,14 @@ Author-email: Zachary Einck <zacharyeinck@gmail.com>
8
8
  License: MIT
9
9
  License-File: LICENSE
10
10
  Requires-Python: >=3.13
11
- Requires-Dist: holidays>=0.94
12
- Requires-Dist: numpy>=2.4.4
13
- Requires-Dist: oddments>=0.10.0
14
- Requires-Dist: pandas>=3.0.2
15
- Requires-Dist: polars>=1.39.3
11
+ Requires-Dist: holidays>=0.106
12
+ Requires-Dist: numpy>=2.5.4
13
+ Requires-Dist: oddments>=0.10.1
14
+ Requires-Dist: pandas>=3.0.6
15
+ Requires-Dist: polars>=2.0.0
16
16
  Requires-Dist: python-dateutil>=2.9.0.post0
17
17
  Requires-Dist: schedule>=1.2.2
18
+ Requires-Dist: tzlocal>=5.4.4
18
19
  Description-Content-Type: text/markdown
19
20
 
20
21
  # clockwork
@@ -1,27 +1,28 @@
1
- [project]
2
- name = "clockwork"
3
- version = "0.7.0"
4
- description = "Toolkit for time-related operations including scheduling, logging, date manipulation, and more."
5
- authors = [
6
- { name = "Zachary Einck", email = "zacharyeinck@gmail.com" }
7
- ]
8
- license = { text = "MIT" }
9
- readme = "README.md"
10
- requires-python = ">=3.13"
11
- dependencies = [
12
- "python-dateutil>=2.9.0.post0",
13
- "holidays>=0.94",
14
- "numpy>=2.4.4",
15
- "oddments>=0.10.0",
16
- "pandas>=3.0.2",
17
- "polars>=1.39.3",
18
- "schedule>=1.2.2",
19
- ]
20
-
21
- [project.urls]
22
- repository = "https://github.com/zteinck/clockwork"
23
- homepage = "https://github.com/zteinck/clockwork"
24
-
25
- [build-system]
26
- requires = ["hatchling"]
27
- build-backend = "hatchling.build"
1
+ [project]
2
+ name = "clockwork"
3
+ version = "0.8.0"
4
+ description = "Toolkit for time-related operations including scheduling, logging, date manipulation, and more."
5
+ authors = [
6
+ { name = "Zachary Einck", email = "zacharyeinck@gmail.com" }
7
+ ]
8
+ license = { text = "MIT" }
9
+ readme = "README.md"
10
+ requires-python = ">=3.13"
11
+ dependencies = [
12
+ "holidays>=0.106",
13
+ "numpy>=2.5.4",
14
+ "oddments>=0.10.1",
15
+ "pandas>=3.0.6",
16
+ "polars>=2.0.0",
17
+ "python-dateutil>=2.9.0.post0",
18
+ "schedule>=1.2.2",
19
+ "tzlocal>=5.4.4",
20
+ ]
21
+
22
+ [project.urls]
23
+ repository = "https://github.com/zteinck/clockwork"
24
+ homepage = "https://github.com/zteinck/clockwork"
25
+
26
+ [build-system]
27
+ requires = ["hatchling"]
28
+ build-backend = "hatchling.build"
@@ -1,12 +1,13 @@
1
- from .timestamp import Timestamp
1
+ from .constants import ISO_DATE_FORMAT, UTC
2
+ from .date_time import Datetime
3
+ from .decorators import print_duration
2
4
  from .month_end import MonthEnd
3
5
  from .quarter_end import QuarterEnd
4
- from .decorators import print_duration
5
6
 
6
7
  from .utils import (
7
8
  format_duration,
8
9
  temporal_format_to_regex,
9
10
  )
10
11
 
11
- __version__ = '0.7.0'
12
+ __version__ = '0.8.0'
12
13
  __author__ = 'Zachary Einck <zacharyeinck@gmail.com>'
@@ -32,7 +32,7 @@ def other_to_delta(func):
32
32
  return delta
33
33
 
34
34
  # Otherwise, 'other' is assumed to be a delta and the resulting
35
- # Timestamp object is returned.
35
+ # Datetime object is returned.
36
36
  delta = self._build_delta(other)
37
37
  dt = func(self, delta)
38
38
  ts = self._make_base(dt)
@@ -84,8 +84,8 @@ def handle_next_last(func):
84
84
 
85
85
  Returns
86
86
  ------------
87
- shifted : Timestamp
88
- Timestamp instance
87
+ shifted : Datetime
88
+ Datetime instance
89
89
  '''
90
90
 
91
91
  (
@@ -0,0 +1,6 @@
1
+ from zoneinfo import ZoneInfo
2
+
3
+
4
+ ISO_DATE_FORMAT = '%Y-%m-%d'
5
+ MONTHS_IN_YEAR = 12
6
+ UTC = ZoneInfo('UTC')