You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: fix typos in about.rst and http-libraries.rst
prompt: please comment on my changes, and fix typos/grammar errors
followup-prompt: commit
AI Prompts:
claude-sonnet-4-6: please comment on my changes, and fix typos/grammar errors
claude-sonnet-4-6: ~/caldav, commit 80901d3
claude-sonnet-4-6: commit
Copy file name to clipboardExpand all lines: docs/source/about.rst
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -220,7 +220,7 @@ A separate tool https://github.com/python-caldav/caldav-server-tester has been s
220
220
221
221
Over the past years, the focus has been on compatibility-testing towards open source calendar servers. In particular Google and iCloud haven't been tested for a long time. Google officially supports CalDAV, see https://developers.google.com/workspace/calendar/caldav/v2/guide - iCloud supports CalDAV partly, but there exists no official information about it. iCloud limitations has been tracked in https://github.com/python-caldav/caldav/issues/3
222
222
223
-
Compatibility testing has traditionally only been done by the maintainer - one of the purposes of the caldav-srver-tester is to allow anyone to run the checks towards the software they use, without having to share any account information with the CalDAV maintainer.
223
+
Compatibility testing has traditionally only been done by the maintainer - one of the purposes of the caldav-server-tester is to allow anyone to run the checks towards the software they use, without having to share any account information with the CalDAV maintainer.
As of v3.x, **niquests** is used for HTTP communication. niquests is a backwards-compatible fork of the requests library. It's a modern HTTP library with support for HTTP/2 and HTTP/3 and many other things. However, it's a bit controversial, so I've decided to support some fallbacks.
4
+
As of v3.x, **niquests** is used for HTTP communication. niquests is a backwards-compatible fork of the requests library. It's a modern HTTP library with support for HTTP/2 and HTTP/3 and many other things. Due to popular demand, fallbacks to **requests** and **httpx** exists.
5
5
6
6
Context
7
7
-------
8
8
9
9
There is also information in `GitHub issue #457 <https://github.com/python-caldav/caldav/issues/457>`_
10
10
11
11
Traditionally the CalDAV library only supported the traditional
12
-
**requests** libary, but this library seems to be at a dead end,
12
+
**requests** library, but this library seems to be at a dead end,
13
13
version 2.0 went into "feature freeze" long ago, but version 3.0 never
14
-
materialized. It was suggested to replace it with **niquests**. The
15
-
maintainer has done a bit of research and has approved it. Niquests
16
-
is a fork, a drop-in replacement, and just replacing the "re" with
17
-
"ni" in the code solved three long-standing issues. The change was
18
-
left in the master branch for quite a while, and pushed out in the
14
+
materialized. It was suggested to replace it with **niquests**. Niquests (and urllib3-future) started as contributions to the upstream project, but the changes were rejected. Some research has been done before accepting niquests as a dependency in the CalDAV library.
15
+
16
+
Niquests is a fork, a drop-in replacement, and just replacing the "re"
17
+
with "ni" in the code solved three long-standing issues. The change
18
+
was left in the master branch for quite a while, and pushed out in the
19
19
2.0-release. Almost immediately after pushing niquests in 2.0,
20
-
complaints was raised from a distro package maintainer, he found
20
+
a complaint was raised from a distro package maintainer who found
21
21
niquests unacceptable. Due to that the CalDAV library now has a
22
22
fallback implemented; it can use requests for sync communication.
23
23
24
-
It seems like the http user space is filled with drama and intrigues.
25
-
In an ideal world, the improvements in niquests and the companion
26
-
urllib3-future package should have been released as upgrades to the
27
-
urllib and requests library. Perhaps the reason for the fork is as
28
-
much due to differences in personalities as differences in tehcnical
29
-
visions.
24
+
Niquests started with contributions to the urllib3 and requests
25
+
library, but the changes were not accepted, hence the fork.
30
26
31
27
For async communications (and also as a replacement for requests in
32
-
sync usage), **httpx** seems to have been the most popular library candidate.
33
-
Only the niquests developer warned against it. Niqusts supports async
34
-
communication. It was decided to support both niquests and httpx for async communication.
28
+
sync usage), **httpx** seems to have been the most popular library
29
+
candidate. However, niquests supports async communication. It was
30
+
decided to support both niquests and httpx for async communication.
the httpx development seems stagnant, and httpx is even flagged as a
39
-
supply-chain risk in some Reddit-discussions.
35
+
supply-chain risk in some Reddit-discussions. It seems like the http
36
+
user space is filled with drama and intrigues.
40
37
41
38
Fallbacks
42
39
---------
@@ -48,7 +45,7 @@ Recommendations
48
45
49
46
* In general, stick to the package default - niquests.
50
47
* In a very sharp production environment, you may consider to use the
51
-
good old requests libary, but set an appropriate timeout. Use the
48
+
good old requests library, but set an appropriate timeout. Use the
52
49
sync code, do not use async as the async support is still a bit
53
50
experimental.
54
51
* If you're using the CalDAV library in a sync project that is already
@@ -64,4 +61,4 @@ Multiplexing
64
61
65
62
The niquests library supports multiplexing.
66
63
67
-
A compatibility issue with HTTP/2 multiplexinb was found when running nginx with digest auth, so this is disabled by default. The CalDAV communication may potentially be speeded up a bit by enabling multiplexing. This is done in the CalDAV server configuration settings, by flagging that the feature `http.multiplexing` is supported.
64
+
A compatibility issue with HTTP/2 multiplexing was found when running nginx with digest auth, so this is disabled by default. The CalDAV communication may potentially be speeded up a bit by enabling multiplexing. This is done in the CalDAV server configuration settings, by flagging that the feature `http.multiplexing` is supported.
0 commit comments