mytimer 2.1__tar.gz → 2.3__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 (58) hide show
  1. {mytimer-2.1 → mytimer-2.3}/CHANGELOG.md +24 -1
  2. {mytimer-2.1 → mytimer-2.3}/PKG-INFO +45 -12
  3. {mytimer-2.1 → mytimer-2.3}/PROGRAMS.md +13 -1
  4. {mytimer-2.1 → mytimer-2.3}/README.md +15 -6
  5. {mytimer-2.1 → mytimer-2.3}/SECURITY.md +2 -2
  6. {mytimer-2.1 → mytimer-2.3}/dev-requirements.txt +2 -1
  7. {mytimer-2.1 → mytimer-2.3}/mytimer/__main__.py +10 -7
  8. {mytimer-2.1 → mytimer-2.3}/mytimer/functions.py +128 -205
  9. {mytimer-2.1 → mytimer-2.3}/mytimer/params.py +25 -10
  10. {mytimer-2.1 → mytimer-2.3}/mytimer.egg-info/PKG-INFO +45 -12
  11. {mytimer-2.1 → mytimer-2.3}/mytimer.egg-info/requires.txt +1 -0
  12. {mytimer-2.1 → mytimer-2.3}/requirements.txt +1 -0
  13. {mytimer-2.1 → mytimer-2.3}/setup.py +6 -6
  14. {mytimer-2.1 → mytimer-2.3}/AUTHORS.md +0 -0
  15. {mytimer-2.1 → mytimer-2.3}/FACES.md +0 -0
  16. {mytimer-2.1 → mytimer-2.3}/LICENSE +0 -0
  17. {mytimer-2.1 → mytimer-2.3}/MANIFEST.in +0 -0
  18. {mytimer-2.1 → mytimer-2.3}/TONES.md +0 -0
  19. {mytimer-2.1 → mytimer-2.3}/mytimer/__init__.py +0 -0
  20. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/1.wav +0 -0
  21. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/10.wav +0 -0
  22. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/11.wav +0 -0
  23. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/12.wav +0 -0
  24. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/13.wav +0 -0
  25. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/14.wav +0 -0
  26. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/15.wav +0 -0
  27. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/16.wav +0 -0
  28. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/17.wav +0 -0
  29. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/18.wav +0 -0
  30. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/19.wav +0 -0
  31. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/2.wav +0 -0
  32. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/20.wav +0 -0
  33. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/21.wav +0 -0
  34. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/22.wav +0 -0
  35. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/23.wav +0 -0
  36. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/24.wav +0 -0
  37. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/25.wav +0 -0
  38. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/26.wav +0 -0
  39. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/27.wav +0 -0
  40. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/28.wav +0 -0
  41. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/29.wav +0 -0
  42. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/3.wav +0 -0
  43. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/30.wav +0 -0
  44. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/31.wav +0 -0
  45. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/32.wav +0 -0
  46. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/33.wav +0 -0
  47. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/34.wav +0 -0
  48. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/4.wav +0 -0
  49. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/5.wav +0 -0
  50. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/6.wav +0 -0
  51. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/7.wav +0 -0
  52. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/8.wav +0 -0
  53. {mytimer-2.1 → mytimer-2.3}/mytimer/sounds/9.wav +0 -0
  54. {mytimer-2.1 → mytimer-2.3}/mytimer.egg-info/SOURCES.txt +0 -0
  55. {mytimer-2.1 → mytimer-2.3}/mytimer.egg-info/dependency_links.txt +0 -0
  56. {mytimer-2.1 → mytimer-2.3}/mytimer.egg-info/entry_points.txt +0 -0
  57. {mytimer-2.1 → mytimer-2.3}/mytimer.egg-info/top_level.txt +0 -0
  58. {mytimer-2.1 → mytimer-2.3}/setup.cfg +0 -0
@@ -5,6 +5,27 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
5
5
  and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6
6
 
7
7
  ## [Unreleased]
8
+ ## [2.3] - 2025-07-17
9
+ ### Added
10
+ - 2 new programs
11
+ 1. `eye-break`
12
+ 2. `power-nap`
13
+ - Start time
14
+ ### Changed
15
+ - `README.md` updated
16
+ - Python typing features added to all modules
17
+ - `print_date_time` function modified
18
+ - Test system modified
19
+ - `Python 3.6` support dropped
20
+ ## [2.2] - 2025-03-13
21
+ ### Added
22
+ - `--date-system` argument
23
+ ### Changed
24
+ - `README.md` updated
25
+ - Test system modified
26
+ - `countdown_timer` and `countup_timer` functions updated
27
+ - String templates modified
28
+ - Input case sensitivity bug fixed
8
29
  ## [2.1] - 2025-02-28
9
30
  ### Added
10
31
  - 4 new tones
@@ -209,7 +230,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
209
230
  - Count-up mode
210
231
  - Alarm
211
232
 
212
- [Unreleased]: https://github.com/sepandhaghighi/mytimer/compare/v2.1...dev
233
+ [Unreleased]: https://github.com/sepandhaghighi/mytimer/compare/v2.3...dev
234
+ [2.3]: https://github.com/sepandhaghighi/mytimer/compare/v2.2...v2.3
235
+ [2.2]: https://github.com/sepandhaghighi/mytimer/compare/v2.1...v2.2
213
236
  [2.1]: https://github.com/sepandhaghighi/mytimer/compare/v2.0...v2.1
214
237
  [2.0]: https://github.com/sepandhaghighi/mytimer/compare/v1.9...v2.0
215
238
  [1.9]: https://github.com/sepandhaghighi/mytimer/compare/v1.8...v1.9
@@ -1,9 +1,9 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: mytimer
3
- Version: 2.1
3
+ Version: 2.3
4
4
  Summary: A Geeky Timer for Terminal Enthusiasts
5
5
  Home-page: https://github.com/sepandhaghighi/mytimer
6
- Download-URL: https://github.com/sepandhaghighi/mytimer/tarball/v2.1
6
+ Download-URL: https://github.com/sepandhaghighi/mytimer/tarball/v2.3
7
7
  Author: Sepand Haghighi
8
8
  Author-email: me@sepand.tech
9
9
  License: MIT
@@ -13,7 +13,6 @@ Classifier: Development Status :: 5 - Production/Stable
13
13
  Classifier: Natural Language :: English
14
14
  Classifier: License :: OSI Approved :: MIT License
15
15
  Classifier: Operating System :: OS Independent
16
- Classifier: Programming Language :: Python :: 3.6
17
16
  Classifier: Programming Language :: Python :: 3.7
18
17
  Classifier: Programming Language :: Python :: 3.8
19
18
  Classifier: Programming Language :: Python :: 3.9
@@ -27,11 +26,12 @@ Classifier: Intended Audience :: End Users/Desktop
27
26
  Classifier: Intended Audience :: Other Audience
28
27
  Classifier: Topic :: Games/Entertainment
29
28
  Classifier: Topic :: Utilities
30
- Requires-Python: >=3.6
29
+ Requires-Python: >=3.7
31
30
  Description-Content-Type: text/markdown
32
31
  License-File: LICENSE
33
32
  License-File: AUTHORS.md
34
33
  Requires-Dist: art>=5.3
34
+ Requires-Dist: jdatetime>=3.8.2
35
35
  Requires-Dist: nava>=0.4
36
36
  Dynamic: author
37
37
  Dynamic: author-email
@@ -42,6 +42,7 @@ Dynamic: download-url
42
42
  Dynamic: home-page
43
43
  Dynamic: keywords
44
44
  Dynamic: license
45
+ Dynamic: license-file
45
46
  Dynamic: project-url
46
47
  Dynamic: requires-dist
47
48
  Dynamic: requires-python
@@ -96,8 +97,7 @@ The main objective of <strong>MyTimer</strong> is to offer a minimalistic and di
96
97
  <tr>
97
98
  <td align="center">Code Quality</td>
98
99
  <td align="center"><a href="https://www.codefactor.io/repository/github/sepandhaghighi/mytimer"><img src="https://www.codefactor.io/repository/github/sepandhaghighi/mytimer/badge" alt="CodeFactor" /></a></td>
99
- <td align="center"><a href="https://www.codacy.com/gh/sepandhaghighi/mytimer/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=sepandhaghighi/mytimer&amp;utm_campaign=Badge_Grade"><img src="https://app.codacy.com/project/badge/Grade/1bf28500431a498998ac79891cd79cda"/></a></td>
100
- <td align="center"><a href="https://codebeat.co/projects/github-com-sepandhaghighi-mytimer-main"><img alt="codebeat badge" src="https://codebeat.co/badges/ae1c0ac1-9890-4149-b260-b1f3174ef520" /></a></td>
100
+ <td><a href="https://app.codacy.com/gh/sepandhaghighi/mytimer/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade"><img src="https://app.codacy.com/project/badge/Grade/1bf28500431a498998ac79891cd79cda"/></a></td>
101
101
  </tr>
102
102
  </table>
103
103
 
@@ -105,13 +105,13 @@ The main objective of <strong>MyTimer</strong> is to offer a minimalistic and di
105
105
  ## Installation
106
106
 
107
107
  ### Source Code
108
- - Download [Version 2.1](https://github.com/sepandhaghighi/mytimer/archive/v2.1.zip) or [Latest Source](https://github.com/sepandhaghighi/mytimer/archive/dev.zip)
108
+ - Download [Version 2.3](https://github.com/sepandhaghighi/mytimer/archive/v2.3.zip) or [Latest Source](https://github.com/sepandhaghighi/mytimer/archive/dev.zip)
109
109
  - `pip install .`
110
110
 
111
111
  ### PyPI
112
112
 
113
113
  - Check [Python Packaging User Guide](https://packaging.python.org/installing/)
114
- - `pip install mytimer==2.1`
114
+ - `pip install mytimer==2.3`
115
115
 
116
116
 
117
117
  ## Usage
@@ -247,6 +247,16 @@ In this mode, the date/time will not be shown
247
247
  mytimer --minute=20 --hide-datetime
248
248
  ```
249
249
 
250
+ ### Date System
251
+
252
+ ℹ️ Valid choices: [`gregorian`, `jalali`]
253
+
254
+ ℹ️ The default date system is `gregorian`
255
+
256
+ ```console
257
+ mytimer --minute=20 --date-system=jalali
258
+ ```
259
+
250
260
  ### Vertical Mode
251
261
 
252
262
  ```console
@@ -257,7 +267,7 @@ mytimer --minute=5 --vertical
257
267
 
258
268
  ⚠️ Local time
259
269
 
260
- In this mode, the timer sets on the given time. For example, here we set a timer for `15:05`.
270
+ In this mode, the timer sets on the given time. For example, here we set a timer for `15:05`:
261
271
 
262
272
  ```console
263
273
  mytimer --hour=15 --minute=5 --set-on
@@ -353,7 +363,7 @@ GALPOLPISRHIYHLQER2TLJRGUSZH52RYDK6C3HIU4PSMNAV65Q36EGNL
353
363
  zil1knmz8zj88cf0exr2ry7nav9elehxfcgqu3c5e5
354
364
  <h4>Coffeete</h4>
355
365
  <a href="http://www.coffeete.ir/opensource">
356
- <img src="http://www.coffeete.ir/images/buttons/lemonchiffon.png" style="width:260px;" />
366
+ <img src="http://www.coffeete.ir/images/buttons/lemonchiffon.png" style="width:260px;">
357
367
  </a>
358
368
 
359
369
 
@@ -364,6 +374,27 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
364
374
  and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
365
375
 
366
376
  ## [Unreleased]
377
+ ## [2.3] - 2025-07-17
378
+ ### Added
379
+ - 2 new programs
380
+ 1. `eye-break`
381
+ 2. `power-nap`
382
+ - Start time
383
+ ### Changed
384
+ - `README.md` updated
385
+ - Python typing features added to all modules
386
+ - `print_date_time` function modified
387
+ - Test system modified
388
+ - `Python 3.6` support dropped
389
+ ## [2.2] - 2025-03-13
390
+ ### Added
391
+ - `--date-system` argument
392
+ ### Changed
393
+ - `README.md` updated
394
+ - Test system modified
395
+ - `countdown_timer` and `countup_timer` functions updated
396
+ - String templates modified
397
+ - Input case sensitivity bug fixed
367
398
  ## [2.1] - 2025-02-28
368
399
  ### Added
369
400
  - 4 new tones
@@ -568,7 +599,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
568
599
  - Count-up mode
569
600
  - Alarm
570
601
 
571
- [Unreleased]: https://github.com/sepandhaghighi/mytimer/compare/v2.1...dev
602
+ [Unreleased]: https://github.com/sepandhaghighi/mytimer/compare/v2.3...dev
603
+ [2.3]: https://github.com/sepandhaghighi/mytimer/compare/v2.2...v2.3
604
+ [2.2]: https://github.com/sepandhaghighi/mytimer/compare/v2.1...v2.2
572
605
  [2.1]: https://github.com/sepandhaghighi/mytimer/compare/v2.0...v2.1
573
606
  [2.0]: https://github.com/sepandhaghighi/mytimer/compare/v1.9...v2.0
574
607
  [1.9]: https://github.com/sepandhaghighi/mytimer/compare/v1.8...v1.9
@@ -1,6 +1,6 @@
1
1
  # Programs List
2
2
 
3
- **Last Update: 2025-01-25**
3
+ **Last Update: 2025-05-22**
4
4
 
5
5
  ⚠️ By default, the **alarm** is **active** for all programs
6
6
 
@@ -131,6 +131,12 @@
131
131
  <td>00:25:00</td>
132
132
  <td>>=0.9</td>
133
133
  </tr>
134
+ <tr align="center">
135
+ <td>Eye break</td>
136
+ <td><code>eye-break</code></td>
137
+ <td>00:02:00</td>
138
+ <td>>=2.3</td>
139
+ </tr>
134
140
  <tr align="center">
135
141
  <td>Short break</td>
136
142
  <td><code>short-break</code></td>
@@ -155,6 +161,12 @@
155
161
  <td>00:30:00</td>
156
162
  <td>>=0.9</td>
157
163
  </tr>
164
+ <tr align="center">
165
+ <td>Power nap</td>
166
+ <td><code>power-nap</code></td>
167
+ <td>00:20:00</td>
168
+ <td>>=2.3</td>
169
+ </tr>
158
170
  <tr align="center">
159
171
  <td>Meditation</td>
160
172
  <td><code>meditation</code></td>
@@ -46,8 +46,7 @@ The main objective of <strong>MyTimer</strong> is to offer a minimalistic and di
46
46
  <tr>
47
47
  <td align="center">Code Quality</td>
48
48
  <td align="center"><a href="https://www.codefactor.io/repository/github/sepandhaghighi/mytimer"><img src="https://www.codefactor.io/repository/github/sepandhaghighi/mytimer/badge" alt="CodeFactor" /></a></td>
49
- <td align="center"><a href="https://www.codacy.com/gh/sepandhaghighi/mytimer/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=sepandhaghighi/mytimer&amp;utm_campaign=Badge_Grade"><img src="https://app.codacy.com/project/badge/Grade/1bf28500431a498998ac79891cd79cda"/></a></td>
50
- <td align="center"><a href="https://codebeat.co/projects/github-com-sepandhaghighi-mytimer-main"><img alt="codebeat badge" src="https://codebeat.co/badges/ae1c0ac1-9890-4149-b260-b1f3174ef520" /></a></td>
49
+ <td><a href="https://app.codacy.com/gh/sepandhaghighi/mytimer/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade"><img src="https://app.codacy.com/project/badge/Grade/1bf28500431a498998ac79891cd79cda"/></a></td>
51
50
  </tr>
52
51
  </table>
53
52
 
@@ -55,13 +54,13 @@ The main objective of <strong>MyTimer</strong> is to offer a minimalistic and di
55
54
  ## Installation
56
55
 
57
56
  ### Source Code
58
- - Download [Version 2.1](https://github.com/sepandhaghighi/mytimer/archive/v2.1.zip) or [Latest Source](https://github.com/sepandhaghighi/mytimer/archive/dev.zip)
57
+ - Download [Version 2.3](https://github.com/sepandhaghighi/mytimer/archive/v2.3.zip) or [Latest Source](https://github.com/sepandhaghighi/mytimer/archive/dev.zip)
59
58
  - `pip install .`
60
59
 
61
60
  ### PyPI
62
61
 
63
62
  - Check [Python Packaging User Guide](https://packaging.python.org/installing/)
64
- - `pip install mytimer==2.1`
63
+ - `pip install mytimer==2.3`
65
64
 
66
65
 
67
66
  ## Usage
@@ -197,6 +196,16 @@ In this mode, the date/time will not be shown
197
196
  mytimer --minute=20 --hide-datetime
198
197
  ```
199
198
 
199
+ ### Date System
200
+
201
+ ℹ️ Valid choices: [`gregorian`, `jalali`]
202
+
203
+ ℹ️ The default date system is `gregorian`
204
+
205
+ ```console
206
+ mytimer --minute=20 --date-system=jalali
207
+ ```
208
+
200
209
  ### Vertical Mode
201
210
 
202
211
  ```console
@@ -207,7 +216,7 @@ mytimer --minute=5 --vertical
207
216
 
208
217
  ⚠️ Local time
209
218
 
210
- In this mode, the timer sets on the given time. For example, here we set a timer for `15:05`.
219
+ In this mode, the timer sets on the given time. For example, here we set a timer for `15:05`:
211
220
 
212
221
  ```console
213
222
  mytimer --hour=15 --minute=5 --set-on
@@ -303,6 +312,6 @@ GALPOLPISRHIYHLQER2TLJRGUSZH52RYDK6C3HIU4PSMNAV65Q36EGNL
303
312
  zil1knmz8zj88cf0exr2ry7nav9elehxfcgqu3c5e5
304
313
  <h4>Coffeete</h4>
305
314
  <a href="http://www.coffeete.ir/opensource">
306
- <img src="http://www.coffeete.ir/images/buttons/lemonchiffon.png" style="width:260px;" />
315
+ <img src="http://www.coffeete.ir/images/buttons/lemonchiffon.png" style="width:260px;">
307
316
  </a>
308
317
 
@@ -4,8 +4,8 @@
4
4
 
5
5
  | Version | Supported |
6
6
  | ------------- | ------------------ |
7
- | 2.1 | :white_check_mark: |
8
- | < 2.1 | :x: |
7
+ | 2.3 | :white_check_mark: |
8
+ | < 2.3 | :x: |
9
9
 
10
10
  ## Reporting a Vulnerability
11
11
 
@@ -1,5 +1,6 @@
1
1
  nava==0.7
2
- art==6.4
2
+ art==6.5
3
+ jdatetime==5.2.0
3
4
  setuptools>=40.8.0
4
5
  vulture>=1.0
5
6
  bandit>=1.5.1
@@ -2,16 +2,13 @@
2
2
  """mytimer main."""
3
3
  from mytimer.params import FACES_LIST, PROGRAMS_MAP, TONES_LIST
4
4
  from mytimer.params import EXIT_MESSAGE, ADDITIONAL_INFO, SIGNS_LIST
5
+ from mytimer.params import DATE_SYSTEMS_LIST
5
6
  from mytimer.functions import run_timer
6
7
  import argparse
7
8
 
8
9
 
9
- def main():
10
- """
11
- CLI main function.
12
-
13
- :return: None
14
- """
10
+ def main() -> None:
11
+ """CLI main function."""
15
12
  parser = argparse.ArgumentParser()
16
13
  parser.epilog = ADDITIONAL_INFO
17
14
  parser.add_argument('--minute', help='minute', type=int)
@@ -31,7 +28,7 @@ def main():
31
28
  parser.add_argument(
32
29
  '--program',
33
30
  help='program',
34
- type=str,
31
+ type=str.lower,
35
32
  choices=sorted(PROGRAMS_MAP))
36
33
  parser.add_argument(
37
34
  '--sign',
@@ -58,6 +55,12 @@ def main():
58
55
  parser.add_argument('--hide-second', help='hide second', nargs="?", const=1)
59
56
  parser.add_argument('--hide-datetime', help='hide datetime', nargs="?", const=1)
60
57
  parser.add_argument('--vertical', help='vertical mode', nargs="?", const=1)
58
+ parser.add_argument(
59
+ '--date-system',
60
+ help='date system',
61
+ type=str.lower,
62
+ choices=DATE_SYSTEMS_LIST,
63
+ default="gregorian")
61
64
  parser.add_argument(
62
65
  '--programs-list',
63
66
  help='programs list',