ics-query 0.1.0a0__tar.gz → 0.1.dev8__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 (22) hide show
  1. {ics_query-0.1.0a0 → ics_query-0.1.dev8}/.github/workflows/tests.yml +15 -2
  2. {ics_query-0.1.0a0 → ics_query-0.1.dev8}/.gitignore +0 -1
  3. {ics_query-0.1.0a0 → ics_query-0.1.dev8}/PKG-INFO +3 -84
  4. ics_query-0.1.dev8/README.md +92 -0
  5. {ics_query-0.1.0a0 → ics_query-0.1.dev8}/ics_query/_version.py +2 -2
  6. {ics_query-0.1.0a0 → ics_query-0.1.dev8}/pyproject.toml +1 -4
  7. ics_query-0.1.0a0/README.md +0 -170
  8. {ics_query-0.1.0a0 → ics_query-0.1.dev8}/.github/FUNDING.yml +0 -0
  9. {ics_query-0.1.0a0 → ics_query-0.1.dev8}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  10. {ics_query-0.1.0a0 → ics_query-0.1.dev8}/.github/dependabot.yml +0 -0
  11. {ics_query-0.1.0a0 → ics_query-0.1.dev8}/LICENSE +0 -0
  12. {ics_query-0.1.0a0 → ics_query-0.1.dev8}/ics_query/__init__.py +0 -0
  13. {ics_query-0.1.0a0 → ics_query-0.1.dev8}/ics_query/__main__.py +0 -0
  14. {ics_query-0.1.0a0 → ics_query-0.1.dev8}/ics_query/cli.py +0 -0
  15. {ics_query-0.1.0a0 → ics_query-0.1.dev8}/ics_query/parse.py +0 -0
  16. {ics_query-0.1.0a0 → ics_query-0.1.dev8}/ics_query/tests/__init__.py +0 -0
  17. {ics_query-0.1.0a0 → ics_query-0.1.dev8}/ics_query/tests/conftest.py +0 -0
  18. {ics_query-0.1.0a0 → ics_query-0.1.dev8}/ics_query/tests/runs/at 2019-03-04 one-event.ics -.run +0 -0
  19. {ics_query-0.1.0a0 → ics_query-0.1.dev8}/ics_query/tests/runs/calendars/one-event.ics +0 -0
  20. {ics_query-0.1.0a0 → ics_query-0.1.dev8}/ics_query/tests/test_command_line.py +0 -0
  21. {ics_query-0.1.0a0 → ics_query-0.1.dev8}/ics_query/version.py +0 -0
  22. {ics_query-0.1.0a0 → ics_query-0.1.dev8}/tox.ini +0 -0
@@ -56,7 +56,7 @@ jobs:
56
56
  # see https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment
57
57
  environment:
58
58
  name: PyPI
59
- url: https://pypi.org/project/ics-query/
59
+ url: https://pypi.org/project/open-web-calendar/
60
60
  # after using the environment, we need to make the secrets available
61
61
  # see https://docs.github.com/en/actions/security-guides/encrypted-secrets#example-using-bash
62
62
  env:
@@ -72,6 +72,18 @@ jobs:
72
72
  run: |
73
73
  python -m pip install --upgrade pip
74
74
  pip install --upgrade wheel twine build
75
+ # - name: Check the tag
76
+ # run: |
77
+ # PACKAGE_VERSION=`python setup.py --version`
78
+ # TAG_NAME=v$PACKAGE_VERSION
79
+ # echo "Package version $PACKAGE_VERSION with possible tag name $TAG_NAME on $GITHUB_REF_NAME"
80
+ # # test that the tag represents the version
81
+ # # see https://docs.gitlab.com/ee/ci/variables/predefined_variables.html
82
+ # # see https://docs.github.com/en/actions/learn-github-actions/environment-variables
83
+ # if [ "$TAG_NAME" != "$GITHUB_REF_NAME" ]; then
84
+ # echo "ERROR: This tag is for the wrong version. Got \"$GITHUB_REF_NAME\" expected \"$TAG_NAME\"."
85
+ # exit 1
86
+ # fi
75
87
  - name: remove old files
76
88
  run: rm -rf dist/*
77
89
  - name: build distribution files
@@ -101,6 +113,7 @@ jobs:
101
113
  if: ${{ startsWith(github.ref, 'refs/tags/v') }}
102
114
  needs:
103
115
  - run-tests
116
+ - dockerhub
104
117
  - deploy-tag-to-pypi
105
118
  runs-on: ubuntu-latest
106
119
  steps:
@@ -109,5 +122,5 @@ jobs:
109
122
  uses: ncipollo/release-action@v1
110
123
  with:
111
124
  allowUpdates: true
112
- body: "For a list of changes, please refer to the [Changelog](https://github.com/niccokunzmann/ics-query#changelog)."
125
+ body: "For a list of changes, please refer to the [Changelog](https://open-web-calendar.quelltext.eu/changelog/)."
113
126
  generateReleaseNotes: false
@@ -160,4 +160,3 @@ cython_debug/
160
160
  # and can be added to the global gitignore or merged into this file. For a more nuclear
161
161
  # option (not recommended) you can uncomment the following to ignore the entire idea folder.
162
162
  #.idea/
163
- ics_query/_version.py
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: ics-query
3
- Version: 0.1.0a0
3
+ Version: 0.1.dev8
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/cf4aefe6fb80c98ee554f4030ce9b2e7f16db162.zip
7
+ Project-URL: source_archive, https://github.com/niccokunzmann/ics-query/archive/3f1c4acd60666416eb899f7a0c07a05999d443c3.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
@@ -690,10 +690,7 @@ Classifier: Development Status :: 3 - Alpha
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
693
- Classifier: Programming Language :: Python :: 3.9
694
- Classifier: Programming Language :: Python :: 3.10
695
- Classifier: Programming Language :: Python :: 3.11
696
- Classifier: Programming Language :: Python :: 3.12
693
+ Classifier: Programming Language :: Python :: 3
697
694
  Classifier: Topic :: Office/Business :: Scheduling
698
695
  Requires-Python: >=3.8
699
696
  Requires-Dist: click
@@ -790,86 +787,8 @@ Examples:
790
787
  - There are x events today
791
788
  - Please write a journal entry!
792
789
 
793
- ## Version Fixing
794
-
795
- If you use this library in your code, you may want to make sure that
796
- updates can be received but they do not break your code.
797
- The version numbers are handeled this way: `a.b.c` example: `0.1.12`
798
-
799
- - `c` is changed for each minor bug fix.
800
- - `b` is changed whenever new features are added.
801
- - `a` is changed when the interface or major assumptions change that may break your code.
802
-
803
- So, I recommend to version-fix this library to stay with the same `a`
804
- while `b` and `c` can change.
805
-
806
- ## Development
807
-
808
- This section should set you up for development.
809
-
810
- ### Testing
811
-
812
- This project's development is driven by tests.
813
- Tests assure a consistent interface and less knowledge lost over time.
814
- If you like to change the code, tests help that nothing breaks in the future.
815
- They are required in that sense.
816
- Example code and ics files can be transferred into tests and speed up fixing bugs.
817
-
818
- You can view the tests in the [test folder](https://github.com/niccokunzmann/ics-query/tree/main/ics_query/tests)
819
- If you have a calendar ICS file for which this library does not
820
- generate the desired output, you can add it to the ``test/calendars``
821
- folder and write tests for what you expect.
822
- If you like, [open an issue](https://github.com/niccokunzmann/ics-query/issues) first, e.g. to discuss the changes and
823
- how to go about it.
824
-
825
- To run the tests, we use `tox`.
826
- `tox` tests all different Python versions which we want to be compatible to.
827
-
828
- ```shell
829
- pip3 install tox
830
- ```
831
-
832
- To run all the tests:
833
-
834
- ```shell
835
- tox
836
- ```
837
-
838
- To run the tests in a specific Python version:
839
-
840
- ```shell
841
- tox -e py39
842
- ```
843
-
844
- We use ``ruff`` to format the code.
845
- Run this to format the code and show problems:
846
-
847
- ```shell
848
- tox -e ruff
849
- ```
850
-
851
- ## New Release
852
-
853
- To release new versions,
854
-
855
- 1. edit the Changelog Section
856
- 2. create a commit and push it
857
- 3. wait for [GitHub Actions](https://github.com/niccokunzmann/ics-query/actions) to finish the build
858
- 4. create a tag and push it
859
-
860
- ```shell
861
- git tag v0.1.0a
862
- ```
863
-
864
- 5. Notify the issues about their release
865
-
866
790
  ## Changelog
867
791
 
868
- - v0.1.0a
869
-
870
- - Update Python version compatibility
871
- - Add development documentation
872
-
873
792
  - v0.0.1a
874
793
 
875
794
  - first version
@@ -0,0 +1,92 @@
1
+ # ics-query
2
+
3
+ <!-- Change description also in pyproject.toml -->
4
+ Find out what happens in ICS calendar files - query and filter RFC 5545 compatible `.ics` files for events, journals, TODOs and more.
5
+
6
+ ## Installation
7
+
8
+ You can install this package from the [PyPI](https://pypi.org/project/ics-query/).
9
+
10
+ ```shell
11
+ pip install ics-query
12
+ ```
13
+
14
+ ## `ics-query at` - occurrences at certain times
15
+
16
+ You can get all **events** that happen at a certain **day**.
17
+
18
+ ```shell
19
+ ics-query --components VEVENT at 2029-12-24 calendar.ics
20
+ ```
21
+
22
+ You can get all **events** that happen **today**.
23
+
24
+ ```shell
25
+ ics-query --components VEVENT at `date +%Y-%m-%d` calendar.ics
26
+ ```
27
+
28
+ You can get all **TODO**s that happen at in certain **month**.
29
+
30
+ ```shell
31
+ ics-query --components VTODO at 2029-12-24 calendar.ics
32
+ ```
33
+
34
+ ## `ics-query at` - time ranges
35
+
36
+
37
+ ## `ics-query --output=count` - count occurrences
38
+
39
+
40
+ ## `ics-query --output=ics` - use ics as output (default)
41
+
42
+
43
+ ## `ics-query --select-index` - reduce output size
44
+
45
+ Examples: `0,2,4` `0-10`
46
+
47
+ ## `ics-query all` - the whole calendar
48
+
49
+ ## `ics-query between` - time ranges
50
+
51
+ ```shell
52
+ ics-query between dt dt
53
+ ics-query between dt duration
54
+ ```
55
+
56
+ ## `ics-query --select-component` - filter for components
57
+
58
+
59
+ ## `ics-query --select-uid` - filter by uid
60
+
61
+
62
+ ## How to edit an event
63
+
64
+ To edit a component like an event, you can append it to the calendar and increase the sequence number.
65
+
66
+ Example:
67
+
68
+ 1. get the first event `--select-index=0` TODO: recurring-ical-events: set recurrence-id, sequence number
69
+ 2. change the summary
70
+ 3. increase sequence number
71
+ 4. add the event to the end of the calendar file
72
+ 5. show that the occurrence has changed
73
+
74
+ ## Piping calendars
75
+
76
+ ```shell
77
+ cat calendar.ics | ics-query --output=count --filter-component=VEVENT all > calendar-event-count.int
78
+ ```
79
+
80
+ ## Notifications
81
+
82
+ Examples:
83
+
84
+ - There are x todos in the next hour
85
+ - There are x events today
86
+ - Please write a journal entry!
87
+
88
+ ## Changelog
89
+
90
+ - v0.0.1a
91
+
92
+ - first version
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '0.1.0a0'
16
- __version_tuple__ = version_tuple = (0, 1, 0)
15
+ __version__ = version = '0.1.dev8'
16
+ __version_tuple__ = version_tuple = (0, 1, 'dev8')
@@ -21,10 +21,7 @@ classifiers = [
21
21
  "Development Status :: 3 - Alpha",
22
22
  "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
23
23
  "Intended Audience :: Developers",
24
- "Programming Language :: Python :: 3.9",
25
- "Programming Language :: Python :: 3.10",
26
- "Programming Language :: Python :: 3.11",
27
- "Programming Language :: Python :: 3.12",
24
+ "Programming Language :: Python :: 3",
28
25
  "Operating System :: OS Independent",
29
26
  "Topic :: Office/Business :: Scheduling",
30
27
  ]
@@ -1,170 +0,0 @@
1
- # ics-query
2
-
3
- <!-- Change description also in pyproject.toml -->
4
- Find out what happens in ICS calendar files - query and filter RFC 5545 compatible `.ics` files for events, journals, TODOs and more.
5
-
6
- ## Installation
7
-
8
- You can install this package from the [PyPI](https://pypi.org/project/ics-query/).
9
-
10
- ```shell
11
- pip install ics-query
12
- ```
13
-
14
- ## `ics-query at` - occurrences at certain times
15
-
16
- You can get all **events** that happen at a certain **day**.
17
-
18
- ```shell
19
- ics-query --components VEVENT at 2029-12-24 calendar.ics
20
- ```
21
-
22
- You can get all **events** that happen **today**.
23
-
24
- ```shell
25
- ics-query --components VEVENT at `date +%Y-%m-%d` calendar.ics
26
- ```
27
-
28
- You can get all **TODO**s that happen at in certain **month**.
29
-
30
- ```shell
31
- ics-query --components VTODO at 2029-12-24 calendar.ics
32
- ```
33
-
34
- ## `ics-query at` - time ranges
35
-
36
-
37
- ## `ics-query --output=count` - count occurrences
38
-
39
-
40
- ## `ics-query --output=ics` - use ics as output (default)
41
-
42
-
43
- ## `ics-query --select-index` - reduce output size
44
-
45
- Examples: `0,2,4` `0-10`
46
-
47
- ## `ics-query all` - the whole calendar
48
-
49
- ## `ics-query between` - time ranges
50
-
51
- ```shell
52
- ics-query between dt dt
53
- ics-query between dt duration
54
- ```
55
-
56
- ## `ics-query --select-component` - filter for components
57
-
58
-
59
- ## `ics-query --select-uid` - filter by uid
60
-
61
-
62
- ## How to edit an event
63
-
64
- To edit a component like an event, you can append it to the calendar and increase the sequence number.
65
-
66
- Example:
67
-
68
- 1. get the first event `--select-index=0` TODO: recurring-ical-events: set recurrence-id, sequence number
69
- 2. change the summary
70
- 3. increase sequence number
71
- 4. add the event to the end of the calendar file
72
- 5. show that the occurrence has changed
73
-
74
- ## Piping calendars
75
-
76
- ```shell
77
- cat calendar.ics | ics-query --output=count --filter-component=VEVENT all > calendar-event-count.int
78
- ```
79
-
80
- ## Notifications
81
-
82
- Examples:
83
-
84
- - There are x todos in the next hour
85
- - There are x events today
86
- - Please write a journal entry!
87
-
88
- ## Version Fixing
89
-
90
- If you use this library in your code, you may want to make sure that
91
- updates can be received but they do not break your code.
92
- The version numbers are handeled this way: `a.b.c` example: `0.1.12`
93
-
94
- - `c` is changed for each minor bug fix.
95
- - `b` is changed whenever new features are added.
96
- - `a` is changed when the interface or major assumptions change that may break your code.
97
-
98
- So, I recommend to version-fix this library to stay with the same `a`
99
- while `b` and `c` can change.
100
-
101
- ## Development
102
-
103
- This section should set you up for development.
104
-
105
- ### Testing
106
-
107
- This project's development is driven by tests.
108
- Tests assure a consistent interface and less knowledge lost over time.
109
- If you like to change the code, tests help that nothing breaks in the future.
110
- They are required in that sense.
111
- Example code and ics files can be transferred into tests and speed up fixing bugs.
112
-
113
- You can view the tests in the [test folder](https://github.com/niccokunzmann/ics-query/tree/main/ics_query/tests)
114
- If you have a calendar ICS file for which this library does not
115
- generate the desired output, you can add it to the ``test/calendars``
116
- folder and write tests for what you expect.
117
- If you like, [open an issue](https://github.com/niccokunzmann/ics-query/issues) first, e.g. to discuss the changes and
118
- how to go about it.
119
-
120
- To run the tests, we use `tox`.
121
- `tox` tests all different Python versions which we want to be compatible to.
122
-
123
- ```shell
124
- pip3 install tox
125
- ```
126
-
127
- To run all the tests:
128
-
129
- ```shell
130
- tox
131
- ```
132
-
133
- To run the tests in a specific Python version:
134
-
135
- ```shell
136
- tox -e py39
137
- ```
138
-
139
- We use ``ruff`` to format the code.
140
- Run this to format the code and show problems:
141
-
142
- ```shell
143
- tox -e ruff
144
- ```
145
-
146
- ## New Release
147
-
148
- To release new versions,
149
-
150
- 1. edit the Changelog Section
151
- 2. create a commit and push it
152
- 3. wait for [GitHub Actions](https://github.com/niccokunzmann/ics-query/actions) to finish the build
153
- 4. create a tag and push it
154
-
155
- ```shell
156
- git tag v0.1.0a
157
- ```
158
-
159
- 5. Notify the issues about their release
160
-
161
- ## Changelog
162
-
163
- - v0.1.0a
164
-
165
- - Update Python version compatibility
166
- - Add development documentation
167
-
168
- - v0.0.1a
169
-
170
- - first version
File without changes
File without changes