ics-query 0.3.3b0__tar.gz → 0.4.6__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 (54) hide show
  1. {ics_query-0.3.3b0 → ics_query-0.4.6}/.github/workflows/tests.yml +60 -3
  2. {ics_query-0.3.3b0 → ics_query-0.4.6}/PKG-INFO +25 -8
  3. {ics_query-0.3.3b0 → ics_query-0.4.6}/README.md +14 -0
  4. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/_version.py +2 -2
  5. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/version.py +9 -2
  6. {ics_query-0.3.3b0 → ics_query-0.4.6}/pyproject.toml +9 -6
  7. ics_query-0.4.6/renovate.json +18 -0
  8. {ics_query-0.3.3b0 → ics_query-0.4.6}/.github/FUNDING.yml +0 -0
  9. {ics_query-0.3.3b0 → ics_query-0.4.6}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  10. {ics_query-0.3.3b0 → ics_query-0.4.6}/.github/dependabot.yml +0 -0
  11. {ics_query-0.3.3b0 → ics_query-0.4.6}/.gitignore +0 -0
  12. {ics_query-0.3.3b0 → ics_query-0.4.6}/LICENSE +0 -0
  13. {ics_query-0.3.3b0 → ics_query-0.4.6}/conftest.py +0 -0
  14. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics-query +0 -0
  15. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics-query.cmd +0 -0
  16. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics-query.py +0 -0
  17. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/__init__.py +0 -0
  18. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/__main__.py +0 -0
  19. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/cli.py +0 -0
  20. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/parse.py +0 -0
  21. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/query.py +0 -0
  22. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/tests/__init__.py +0 -0
  23. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/tests/conftest.py +0 -0
  24. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/tests/runs/all --tz Singapore one-event.ics -.run +0 -0
  25. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/tests/runs/all three-events.ics -.run +0 -0
  26. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/tests/runs/at 2019-03-04 multiple-calendars.ics -.run +0 -0
  27. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/tests/runs/at 2019-03-04 one-event-twice.ics -.run +0 -0
  28. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/tests/runs/at 2019-03-04 one-event.ics -.run +0 -0
  29. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/tests/runs/at 2019-03-07 multiple-calendars.ics -.run +0 -0
  30. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/tests/runs/at 2024-08-20 Berlin-Los-Angeles.ics -.run +0 -0
  31. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/tests/runs/between 20240823 4d recurring-work-events.ics -.run +0 -0
  32. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/tests/runs/calendars/Berlin-Los-Angeles.ics +0 -0
  33. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/tests/runs/calendars/empty-calendar.ics +0 -0
  34. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/tests/runs/calendars/empty-file.ics +0 -0
  35. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/tests/runs/calendars/multiple-calendars.ics +0 -0
  36. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/tests/runs/calendars/one-event-twice.ics +0 -0
  37. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/tests/runs/calendars/one-event-without-timezone.ics +0 -0
  38. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/tests/runs/calendars/one-event.ics +0 -0
  39. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/tests/runs/calendars/recurring-work-events.ics +0 -0
  40. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/tests/runs/calendars/simple-journal.ics +0 -0
  41. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/tests/runs/calendars/simple-todo.ics +0 -0
  42. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/tests/runs/calendars/three-events.ics +0 -0
  43. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/tests/runs/first -c VJOURNAL -c VEVENT one-event.ics -.run +0 -0
  44. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/tests/runs/first -c VJOURNAL one-event.ics -.run +0 -0
  45. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/tests/runs/first -c VJOURNAL simple-journal.ics -.run +0 -0
  46. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/tests/runs/first -c VTODO -c VJOURNAL simple-todo.ics -.run +0 -0
  47. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/tests/runs/first -c VTODO simple-todo.ics -.run +0 -0
  48. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/tests/runs/first empty-calendar.ics -.run +0 -0
  49. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/tests/runs/first empty-file.ics -.run +0 -0
  50. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/tests/runs/first recurring-work-events.ics -.run +0 -0
  51. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/tests/test_command_line.py +0 -0
  52. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/tests/test_parse_date.py +0 -0
  53. {ics_query-0.3.3b0 → ics_query-0.4.6}/ics_query/tests/test_parse_timedelta.py +0 -0
  54. {ics_query-0.3.3b0 → ics_query-0.4.6}/tox.ini +0 -0
@@ -10,6 +10,46 @@ on:
10
10
  workflow_dispatch:
11
11
 
12
12
  jobs:
13
+
14
+ version:
15
+ # determine the new version and possibly switch to the new tag that we run on
16
+ name: "Determine a new version"
17
+ if: ${{ startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main' }}
18
+ runs-on: ubuntu-latest
19
+ outputs:
20
+ # see https://docs.github.com/de/actions/writing-workflows/choosing-what-your-workflow-does/accessing-contextual-information-about-workflow-runs#example-usage-of-the-jobs-context
21
+ version: ${{ steps.version.outputs.version }}
22
+ steps:
23
+ - uses: actions/checkout@v4
24
+
25
+ - name: "Get tags"
26
+ uses: actions-ecosystem/action-get-latest-tag@v1
27
+ id: get-latest-tag
28
+
29
+ - name: "Calculate new version"
30
+ uses: actions-ecosystem/action-bump-semver@v1
31
+ id: bump-semver
32
+ with:
33
+ current_version: ${{ steps.get-latest-tag.outputs.tag }}
34
+ level: patch
35
+
36
+ - name: "Determine version to use"
37
+ id: version
38
+ run: |
39
+ if [ "$GITHUB_REF" == "refs/heads/main" ]; then
40
+ TAG="${{ steps.bump-semver.outputs.new_version }}"
41
+ echo "On branch main. Using new tag version $TAG."
42
+ git config user.name "${GITHUB_ACTOR}"
43
+ git config user.email "${GITHUB_ACTOR}@users.noreply.github.com"
44
+ MESSAGE="${TAG}: automatic release"
45
+ git tag -a "${TAG}" -m "${MESSAGE}"
46
+ git push origin "${TAG}"
47
+ else
48
+ TAG="${{ steps.get-latest-tag.outputs.tag }}"
49
+ echo "On tag $TAG. Using that version."
50
+ fi
51
+ echo "version=$TAG" >> $GITHUB_OUTPUT
52
+
13
53
  run-tests:
14
54
  strategy:
15
55
  matrix:
@@ -24,6 +64,8 @@ jobs:
24
64
 
25
65
  runs-on: ${{ matrix.config[2] }}
26
66
  name: ${{ matrix.config[1] }}
67
+ needs:
68
+ - version
27
69
  steps:
28
70
  - uses: actions/checkout@v4
29
71
  - name: Set up Python
@@ -34,6 +76,10 @@ jobs:
34
76
  run: |
35
77
  python -m pip install --upgrade pip
36
78
  pip install tox
79
+ - name: "Use version ${{ needs.version.outputs.version }}"
80
+ run: |
81
+ git fetch
82
+ git checkout ${{ needs.version.outputs.version }}
37
83
  - name: Test
38
84
  run: |
39
85
  tox -e ${{ matrix.config[1] }}
@@ -44,13 +90,14 @@ jobs:
44
90
  if-no-files-found: ignore
45
91
  retention-days: 1
46
92
  compression-level: 0
47
-
93
+
48
94
  deploy-tag-to-pypi:
49
95
  name: Publish Package on PyPI
50
96
  # only deploy on tags, see https://stackoverflow.com/a/58478262/1320237
51
- if: ${{ startsWith(github.ref, 'refs/tags/v') }}
97
+ if: ${{ startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main' }}
52
98
  needs:
53
99
  - run-tests
100
+ - version
54
101
  runs-on: ubuntu-latest
55
102
  # This environment stores the TWINE_USERNAME and TWINE_PASSWORD
56
103
  # see https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment
@@ -74,6 +121,10 @@ jobs:
74
121
  pip install --upgrade wheel twine build
75
122
  - name: remove old files
76
123
  run: rm -rf dist/*
124
+ - name: "Use version ${{ needs.version.outputs.version }}"
125
+ run: |
126
+ git fetch
127
+ git checkout ${{ needs.version.outputs.version }}
77
128
  - name: build distribution files
78
129
  run: python -m build
79
130
  - name: deploy to pypi
@@ -110,10 +161,11 @@ jobs:
110
161
  github-release:
111
162
  name: "Publish GitHub Release"
112
163
  # only deploy on tags, see https://stackoverflow.com/a/58478262/1320237
113
- if: ${{ startsWith(github.ref, 'refs/tags/v') }}
164
+ if: ${{ startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main' }}
114
165
  needs:
115
166
  - run-tests
116
167
  - deploy-tag-to-pypi
168
+ - version
117
169
  runs-on: ubuntu-latest
118
170
  steps:
119
171
  - uses: actions/checkout@v4
@@ -122,6 +174,10 @@ jobs:
122
174
  pattern: dist-*
123
175
  path: dist
124
176
  - run: ls -R dist
177
+ - name: Debug
178
+ run: |
179
+ echo "Runnning for tag ${{ needs.version.outputs.version }}"
180
+ git status
125
181
  - name: create release
126
182
  uses: ncipollo/release-action@v1
127
183
  with:
@@ -129,3 +185,4 @@ jobs:
129
185
  body: "For a list of changes, please refer to the [Changelog](https://github.com/niccokunzmann/ics-query#changelog)."
130
186
  generateReleaseNotes: false
131
187
  artifacts: "dist/dist-exe-windows-latest/ics-query.exe"
188
+ tag: ${{ needs.version.outputs.version }}
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: ics-query
3
- Version: 0.3.3b0
3
+ Version: 0.4.6
4
4
  Summary: Find out what happens in ICS calendar files - query and filter RFC 5545 compatible .ics files for events, journals, TODOs and more.
5
5
  Project-URL: Homepage, https://github.com/niccokunzmann/ics-query/
6
6
  Project-URL: Repository, https://github.com/niccokunzmann/ics-query/
7
- Project-URL: source_archive, https://github.com/niccokunzmann/ics-query/archive/b25d84b7ea3a72f12c992e3702f8e082159fc71f.zip
7
+ Project-URL: source_archive, https://github.com/niccokunzmann/ics-query/archive/5ee8daac5e3a8969dc19ab58504a670f28a599c5.zip
8
8
  Project-URL: Issues, https://github.com/niccokunzmann/ics-query/issues
9
9
  Project-URL: Documentation, https://github.com/niccokunzmann/ics-query/
10
10
  Project-URL: Changelog, https://github.com/niccokunzmann/ics-query/#changelog
@@ -686,7 +686,7 @@ License: GNU GENERAL PUBLIC LICENSE
686
686
  <https://www.gnu.org/licenses/why-not-lgpl.html>.
687
687
  License-File: LICENSE
688
688
  Keywords: calendar,command line,icalendar,ics,rfc5545,scheduling
689
- Classifier: Development Status :: 4 - Beta
689
+ Classifier: Development Status :: 5 - Production/Stable
690
690
  Classifier: Intended Audience :: Developers
691
691
  Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
692
692
  Classifier: Operating System :: OS Independent
@@ -696,11 +696,14 @@ Classifier: Programming Language :: Python :: 3.11
696
696
  Classifier: Programming Language :: Python :: 3.12
697
697
  Classifier: Topic :: Office/Business :: Scheduling
698
698
  Requires-Python: >=3.9
699
- Requires-Dist: click
700
- Requires-Dist: icalendar
701
- Requires-Dist: recurring-ical-events<4,>=3.2.0
702
- Requires-Dist: tzlocal
703
- Requires-Dist: x-wr-timezone
699
+ Requires-Dist: click==8.1.7
700
+ Requires-Dist: icalendar==6.0.0
701
+ Requires-Dist: python-dateutil==2.9.0.post0
702
+ Requires-Dist: recurring-ical-events==3.3.2
703
+ Requires-Dist: six==1.16.0
704
+ Requires-Dist: tzdata==2024.2
705
+ Requires-Dist: tzlocal==5.2
706
+ Requires-Dist: x-wr-timezone==1.0.1
704
707
  Provides-Extra: test
705
708
  Requires-Dist: pytest; extra == 'test'
706
709
  Description-Content-Type: text/markdown
@@ -1091,6 +1094,20 @@ To release new versions,
1091
1094
 
1092
1095
  ## Changelog
1093
1096
 
1097
+ We automatically release the versions that only update dependencies.
1098
+ If the version you installed does not show up here, only the dependencies
1099
+ have been updated.
1100
+
1101
+ - v0.4.1
1102
+
1103
+ - Automatic release with patch level version number increased
1104
+ - Increase patch version instead of minor version for automatic releases
1105
+
1106
+ - v0.3.4
1107
+
1108
+ - Update dependencies
1109
+ - Start automatic release of dependencies increasing the version number
1110
+
1094
1111
  - v0.3.3b
1095
1112
 
1096
1113
  - Update dependencies
@@ -384,6 +384,20 @@ To release new versions,
384
384
 
385
385
  ## Changelog
386
386
 
387
+ We automatically release the versions that only update dependencies.
388
+ If the version you installed does not show up here, only the dependencies
389
+ have been updated.
390
+
391
+ - v0.4.1
392
+
393
+ - Automatic release with patch level version number increased
394
+ - Increase patch version instead of minor version for automatic releases
395
+
396
+ - v0.3.4
397
+
398
+ - Update dependencies
399
+ - Start automatic release of dependencies increasing the version number
400
+
387
401
  - v0.3.3b
388
402
 
389
403
  - Update dependencies
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '0.3.3b0'
16
- __version_tuple__ = version_tuple = (0, 3, 3)
15
+ __version__ = version = '0.4.6'
16
+ __version_tuple__ = version_tuple = (0, 4, 6)
@@ -18,6 +18,7 @@ try:
18
18
  except ModuleNotFoundError:
19
19
  __version__ = version = "0.0dev0"
20
20
  __version_tuple__ = version_tuple = (0, 0, "dev0")
21
+ import sys
21
22
  from importlib.metadata import version as get_version
22
23
 
23
24
  cli_version = f"""{__version__}
@@ -27,15 +28,21 @@ Components:
27
28
  modules = [
28
29
  "recurring-ical-events",
29
30
  "icalendar",
30
- "pytz",
31
31
  "python-dateutil",
32
+ "pytz",
32
33
  "click",
33
34
  "tzdata",
34
35
  "x-wr-timezone",
35
36
  ]
36
37
  modules.sort()
37
38
  for module in modules:
38
- cli_version += f"{module}: {get_version(module)}\n"
39
+ try:
40
+ cli_version += f"{module}: {get_version(module)}\n"
41
+ except ModuleNotFoundError: # noqa: PERF203
42
+ cli_version += f"{module}: not installed\n"
43
+
44
+ cli_version += f"""
45
+ Python: {sys.version}"""
39
46
 
40
47
  __all__ = [
41
48
  "__version__",
@@ -33,7 +33,7 @@ readme = "README.md"
33
33
  requires-python = ">=3.9"
34
34
  # see https://pypi.python.org/pypi?%3Aaction=list_classifiers
35
35
  classifiers = [
36
- "Development Status :: 4 - Beta",
36
+ "Development Status :: 5 - Production/Stable",
37
37
  "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
38
38
  "Intended Audience :: Developers",
39
39
  "Programming Language :: Python :: 3.9",
@@ -45,11 +45,14 @@ classifiers = [
45
45
  ]
46
46
 
47
47
  dependencies = [
48
- "icalendar",
49
- "recurring-ical-events>=3.2.0,<4",
50
- "click",
51
- "x-wr-timezone",
52
- "tzlocal",
48
+ "icalendar==6.0.0",
49
+ "recurring-ical-events==3.3.2",
50
+ "click==8.1.7",
51
+ "x-wr-timezone==1.0.1",
52
+ "tzlocal==5.2",
53
+ "tzdata==2024.2",
54
+ "python-dateutil==2.9.0.post0",
55
+ "six==1.16.0",
53
56
  ]
54
57
 
55
58
  [project.optional-dependencies]
@@ -0,0 +1,18 @@
1
+ {
2
+ "$schema": "https://docs.renovatebot.com/renovate-schema.json",
3
+ "extends": [
4
+ "config:recommended"
5
+ ],
6
+ "dependencyDashboard": false,
7
+ "lockFileMaintenance": {
8
+ "enabled": true,
9
+ "automerge": true
10
+ },
11
+ "packageRules": [
12
+ {
13
+ "matchUpdateTypes": ["major", "minor", "patch"],
14
+ "matchCurrentVersion": "!/^0/",
15
+ "automerge": true
16
+ }
17
+ ]
18
+ }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes