hishel 0.1.2__py3-none-any.whl → 0.1.4__py3-none-any.whl
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.
- hishel/__init__.py +41 -1
- hishel/_async/_client.py +1 -1
- hishel/_async/_storages.py +17 -17
- hishel/_async/_transports.py +9 -4
- hishel/_controller.py +2 -3
- hishel/_lmdb_types_.pyi +53 -0
- hishel/_s3.py +19 -8
- hishel/_serializers.py +2 -2
- hishel/_sync/_client.py +1 -1
- hishel/_sync/_storages.py +16 -16
- hishel/_sync/_transports.py +9 -4
- hishel/_utils.py +340 -0
- hishel/beta/__init__.py +59 -0
- hishel/beta/_async_cache.py +167 -0
- hishel/beta/_core/__init__.py +0 -0
- hishel/beta/_core/_async/_storages/_sqlite.py +411 -0
- hishel/beta/_core/_base/_storages/_base.py +260 -0
- hishel/beta/_core/_base/_storages/_packing.py +165 -0
- hishel/beta/_core/_headers.py +301 -0
- hishel/beta/_core/_spec.py +2291 -0
- hishel/beta/_core/_sync/_storages/_sqlite.py +411 -0
- hishel/beta/_core/models.py +176 -0
- hishel/beta/_sync_cache.py +167 -0
- hishel/beta/httpx.py +317 -0
- hishel/beta/requests.py +193 -0
- {hishel-0.1.2.dist-info → hishel-0.1.4.dist-info}/METADATA +50 -6
- hishel-0.1.4.dist-info/RECORD +41 -0
- hishel-0.1.2.dist-info/RECORD +0 -27
- {hishel-0.1.2.dist-info → hishel-0.1.4.dist-info}/WHEEL +0 -0
- {hishel-0.1.2.dist-info → hishel-0.1.4.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hishel
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.4
|
|
4
4
|
Summary: Persistent cache implementation for httpx and httpcore
|
|
5
5
|
Project-URL: Homepage, https://hishel.com
|
|
6
6
|
Project-URL: Source, https://github.com/karpetrosyan/hishel
|
|
@@ -21,18 +21,27 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.11
|
|
22
22
|
Classifier: Programming Language :: Python :: 3.12
|
|
23
23
|
Classifier: Programming Language :: Python :: 3.13
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
24
25
|
Classifier: Topic :: Internet :: WWW/HTTP
|
|
25
26
|
Requires-Python: >=3.9
|
|
27
|
+
Requires-Dist: anyio>=4.9.0
|
|
28
|
+
Requires-Dist: anysqlite>=0.0.5
|
|
26
29
|
Requires-Dist: httpx>=0.28.0
|
|
30
|
+
Requires-Dist: msgpack>=1.1.2
|
|
31
|
+
Requires-Dist: typing-extensions>=4.14.1
|
|
32
|
+
Provides-Extra: httpx
|
|
33
|
+
Requires-Dist: httpx>=0.28.1; extra == 'httpx'
|
|
27
34
|
Provides-Extra: redis
|
|
28
|
-
Requires-Dist: redis==
|
|
35
|
+
Requires-Dist: redis==6.2.0; extra == 'redis'
|
|
36
|
+
Provides-Extra: requests
|
|
37
|
+
Requires-Dist: requests>=2.32.5; extra == 'requests'
|
|
29
38
|
Provides-Extra: s3
|
|
30
39
|
Requires-Dist: boto3<=1.15.3,>=1.15.0; (python_version < '3.12') and extra == 's3'
|
|
31
40
|
Requires-Dist: boto3>=1.15.3; (python_version >= '3.12') and extra == 's3'
|
|
32
41
|
Provides-Extra: sqlite
|
|
33
42
|
Requires-Dist: anysqlite>=0.0.5; extra == 'sqlite'
|
|
34
43
|
Provides-Extra: yaml
|
|
35
|
-
Requires-Dist: pyyaml==6.0.
|
|
44
|
+
Requires-Dist: pyyaml==6.0.2; extra == 'yaml'
|
|
36
45
|
Description-Content-Type: text/markdown
|
|
37
46
|
|
|
38
47
|
<p align="center" class="logo">
|
|
@@ -59,8 +68,8 @@ Description-Content-Type: text/markdown
|
|
|
59
68
|
<img src="https://img.shields.io/pypi/l/hishel" alt="license">
|
|
60
69
|
</a>
|
|
61
70
|
|
|
62
|
-
<a href="https://
|
|
63
|
-
<img src="https://img.shields.io/
|
|
71
|
+
<a href="https://coveralls.io/github/karpetrosyan/hishel">
|
|
72
|
+
<img src="https://img.shields.io/coverallsCoverage/github/karpetrosyan/hishel" alt="license">
|
|
64
73
|
</a>
|
|
65
74
|
|
|
66
75
|
<a href="https://github.com/karpetrosyan/hishel">
|
|
@@ -68,6 +77,10 @@ Description-Content-Type: text/markdown
|
|
|
68
77
|
</a>
|
|
69
78
|
</p>
|
|
70
79
|
|
|
80
|
+
<p align="center">
|
|
81
|
+
<a href="https://buymeacoffee.com/karpetrosyan" target="_blank"><img src="https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png" alt="Buy Me A Coffee" style="height: 41px !important;width: 174px !important;box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;-webkit-box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;" ></a>
|
|
82
|
+
</p>
|
|
83
|
+
|
|
71
84
|
-----
|
|
72
85
|
|
|
73
86
|
**Hishel (հիշել, remember)** is a library that implements HTTP Caching for [HTTPX](https://github.com/encode/httpx) and [HTTP Core](https://github.com/encode/httpcore) libraries in accordance with [**RFC 9111**](https://www.rfc-editor.org/rfc/rfc9111.html), the most recent caching specification.
|
|
@@ -179,7 +192,38 @@ You have complete control over them; you can change storage or even write your o
|
|
|
179
192
|
You can support the project by simply leaving a GitHub star ⭐ or by [contributing](https://hishel.com/contributing/).
|
|
180
193
|
Help us grow and continue developing good software for you ❤️
|
|
181
194
|
|
|
182
|
-
|
|
195
|
+
## [0.1.4] - 2025-10-14
|
|
196
|
+
|
|
197
|
+
### 🚀 Features
|
|
198
|
+
|
|
199
|
+
- Add support for requests library
|
|
200
|
+
- Add support for Python 3.14
|
|
201
|
+
- Add support for a sans-IO API (#366)
|
|
202
|
+
- Allow already consumed streams with `CacheTransport` (#377)
|
|
203
|
+
- Add sqlite storage for beta storages
|
|
204
|
+
- Get rid of some locks from sqlite storage
|
|
205
|
+
- Better async implemetation for sqlite storage
|
|
206
|
+
- Added `Metadata` to public API. (#363)
|
|
207
|
+
- Fix race condition in FileStorage initialization. (#353)
|
|
208
|
+
|
|
209
|
+
### 🐛 Bug Fixes
|
|
210
|
+
|
|
211
|
+
- Create an sqlite file in a cache folder
|
|
212
|
+
- Fix beta imports
|
|
213
|
+
|
|
214
|
+
### ⚙️ Miscellaneous Tasks
|
|
215
|
+
|
|
216
|
+
- Improve CI (#369)
|
|
217
|
+
- *(internal)* Remove src folder (#373)
|
|
218
|
+
- *(internal)* Temporary remove python3.14 from CI
|
|
219
|
+
- *(tests)* Add sqlite tests for new storage
|
|
220
|
+
- *(tests)* Move some tests to beta
|
|
221
|
+
## 0.1.3 (1st July, 2025)
|
|
222
|
+
|
|
223
|
+
- Remove `types-redis` from dev dependencies (#336)
|
|
224
|
+
- Bump redis to 6.0.0 and address async `.close()` deprecation warning (#336)
|
|
225
|
+
- Avoid race condition when unlinking files in `FileStorage`. (#334)
|
|
226
|
+
- Allow prodiving a `path_prefix` in `S3Storage` and `AsyncS3Storage`. (#342)
|
|
183
227
|
|
|
184
228
|
## 0.1.2 (5th April, 2025)
|
|
185
229
|
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
hishel/__init__.py,sha256=uFPxYPm-vFegjbeEvYmTqIE7ALymqYf837Z1mMZNVdM,1221
|
|
2
|
+
hishel/_controller.py,sha256=nQMEF-upuBf6-r0wyjd2CGYgBhB-JbEw6IgGxtvADJ4,24629
|
|
3
|
+
hishel/_exceptions.py,sha256=qbg55RNlzwhv5JreWY9Zog_zmmiKdn5degtqJKijuRs,198
|
|
4
|
+
hishel/_files.py,sha256=7J5uX7Nnzd7QQWfYuDGh8v6XGLG3eUDBjoJZ4aTaY1c,2228
|
|
5
|
+
hishel/_headers.py,sha256=BPvas0LQgwbz-HZhFykZiHEIeNgnY-E33U__oskYzJw,7323
|
|
6
|
+
hishel/_lfu_cache.py,sha256=GBxToQI8u_a9TzYnLlZMLhgZ8Lb83boPHzTvIgqV6pA,2707
|
|
7
|
+
hishel/_lmdb_types_.pyi,sha256=2qx4-3kZhkKxhkWApZdnoGck3CbPrhUJQIIMLPBT90w,1492
|
|
8
|
+
hishel/_s3.py,sha256=HkmWYjYWAiWgEMp1_Jl79hG5aUpMcD0NDXjj8VHRmQE,4322
|
|
9
|
+
hishel/_serializers.py,sha256=wQ5xqeQPAnzDFxLrjmWUP6f0IC0RihpgpTgy3jljxjE,11646
|
|
10
|
+
hishel/_synchronization.py,sha256=xOmU9_8KAWTAv3r8EpqPISrtSF3slyh1J0Sc7ZQO1rg,897
|
|
11
|
+
hishel/_utils.py,sha256=uO8PcY_E1sHSgBGzZ2GNB4kpKqAlzmnzPCc3s-yDd44,13826
|
|
12
|
+
hishel/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
|
+
hishel/_async/__init__.py,sha256=_oAltH4emAtUF7_9SSxz_KKGYzSXL34o_EGgGvoPG7E,187
|
|
14
|
+
hishel/_async/_client.py,sha256=WqYHV8SeAXlK6Q0uQe0ixkC99i64iOwD2EPOYhQcUL8,1088
|
|
15
|
+
hishel/_async/_mock.py,sha256=995v9p5xiw3svGSOJATkLMqwodlhZhcwmGygLHM2VFw,1515
|
|
16
|
+
hishel/_async/_pool.py,sha256=xCcSAl4bHI5eVsZyPap7iHDpxzzgfMqYE_txcjQJ1Hs,8195
|
|
17
|
+
hishel/_async/_storages.py,sha256=zR0kIJSN1WK6P0qWpOTceEYtwWTcfgabf7t3qnGDK3w,28899
|
|
18
|
+
hishel/_async/_transports.py,sha256=YTZecg1A5vnv4GnF9y9n394nzqGBAkr-M4BF2lvci5U,11445
|
|
19
|
+
hishel/_sync/__init__.py,sha256=_oAltH4emAtUF7_9SSxz_KKGYzSXL34o_EGgGvoPG7E,187
|
|
20
|
+
hishel/_sync/_client.py,sha256=hHTuS9wOBZhcNSQmbopSWTtTTGYu-q_0FQOc9g5TuRI,1048
|
|
21
|
+
hishel/_sync/_mock.py,sha256=im88tZr-XhP9BpzvIt3uOjndAlNcJvFP7Puv3H-6lKU,1430
|
|
22
|
+
hishel/_sync/_pool.py,sha256=U2b9ZGYUltwTjI2q2KHZwmj4boIqUExJ_rUKWuLmYSs,7960
|
|
23
|
+
hishel/_sync/_storages.py,sha256=PAt0HdkGE-LNd-UV3EclrahuFFPcatDK4DoYiTXhiBM,28108
|
|
24
|
+
hishel/_sync/_transports.py,sha256=ivPztcm84PxObIXMZ3hLD_o5HMo8XXGhRlSg0Lm_sNo,11117
|
|
25
|
+
hishel/beta/__init__.py,sha256=VzlIfaGQaYfpesqOujNcG0HMCaIF9CzEyhIY04A4c8g,1477
|
|
26
|
+
hishel/beta/_async_cache.py,sha256=vhdTyRIjMpKzc4qKPZGVoFQa9-60aCXLNGltOE1mDg8,6807
|
|
27
|
+
hishel/beta/_sync_cache.py,sha256=a0fcNY5qApPBXQ_kCUBW2Ccwwj0bEkNTVmv-6W3cqPI,6553
|
|
28
|
+
hishel/beta/httpx.py,sha256=KkK3_ZY3FyjWHDJFNLucXoEBph-pMkI2wuHdagXn_lo,10729
|
|
29
|
+
hishel/beta/requests.py,sha256=Q6hPs8ZoFM6802ZCV9_ERG5BVRacMOMwpw5IanmPrYQ,6393
|
|
30
|
+
hishel/beta/_core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
31
|
+
hishel/beta/_core/_headers.py,sha256=vkdHZFFg734TO-kDpAZ271I7dXpwFUtAOuX3vS2LatU,9809
|
|
32
|
+
hishel/beta/_core/_spec.py,sha256=5z5kZ7Q9BO8yZynQIiDiIly77iTMzUljekhmrF1Otyc,99529
|
|
33
|
+
hishel/beta/_core/models.py,sha256=rbU72bCT_lpwASIs5Qzmo3vcjiDm-lu0C99-CgYWl7k,5524
|
|
34
|
+
hishel/beta/_core/_async/_storages/_sqlite.py,sha256=_PZ4t8KXk-YErTCze80Uh8XnG8WZ2323VrRd0NwoKHY,14719
|
|
35
|
+
hishel/beta/_core/_base/_storages/_base.py,sha256=XvhNNQhMNEc2Jt2p0k8SNW5_yLoDfmYMFfPncmKbmX0,8267
|
|
36
|
+
hishel/beta/_core/_base/_storages/_packing.py,sha256=8s0UxYTLdwzs4A_1E896EVj5VPT8Aqv9UabWbeMD8lw,4898
|
|
37
|
+
hishel/beta/_core/_sync/_storages/_sqlite.py,sha256=1sBU_geVbUSC8e46gao5p_k8MogYEWnZodse55FQQ6Q,14153
|
|
38
|
+
hishel-0.1.4.dist-info/METADATA,sha256=GBT-r6kU3dotaAozdL7xlqDQ5jPt1D88kBcXKceGV1U,14344
|
|
39
|
+
hishel-0.1.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
40
|
+
hishel-0.1.4.dist-info/licenses/LICENSE,sha256=1qQj7pE0V2O9OIedvyOgLGLvZLaPd3nFEup3IBEOZjQ,1493
|
|
41
|
+
hishel-0.1.4.dist-info/RECORD,,
|
hishel-0.1.2.dist-info/RECORD
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
hishel/__init__.py,sha256=R91Ika4Y8yXeuWLIrpbrXHUPASzYa-ZlaC2r7cX7L74,368
|
|
2
|
-
hishel/_controller.py,sha256=be1_eL34Gue6a1px_eLFWWxViPQbYENMvtZmv8gFRhA,24636
|
|
3
|
-
hishel/_exceptions.py,sha256=qbg55RNlzwhv5JreWY9Zog_zmmiKdn5degtqJKijuRs,198
|
|
4
|
-
hishel/_files.py,sha256=7J5uX7Nnzd7QQWfYuDGh8v6XGLG3eUDBjoJZ4aTaY1c,2228
|
|
5
|
-
hishel/_headers.py,sha256=BPvas0LQgwbz-HZhFykZiHEIeNgnY-E33U__oskYzJw,7323
|
|
6
|
-
hishel/_lfu_cache.py,sha256=GBxToQI8u_a9TzYnLlZMLhgZ8Lb83boPHzTvIgqV6pA,2707
|
|
7
|
-
hishel/_s3.py,sha256=HDS3-3HM8xmIb-1_p2VRKJk9EwfzoxgTT0F1Kryl8sU,4087
|
|
8
|
-
hishel/_serializers.py,sha256=gepVb8JC4aBkGw9kLcbAsyo-1XgK_lzTssLr_8av4SQ,11640
|
|
9
|
-
hishel/_synchronization.py,sha256=xOmU9_8KAWTAv3r8EpqPISrtSF3slyh1J0Sc7ZQO1rg,897
|
|
10
|
-
hishel/_utils.py,sha256=7HhJlomBCqbhBv01ZuK5WfG8dCtGONLFFF7ujIvBBWQ,3277
|
|
11
|
-
hishel/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
|
-
hishel/_async/__init__.py,sha256=_oAltH4emAtUF7_9SSxz_KKGYzSXL34o_EGgGvoPG7E,187
|
|
13
|
-
hishel/_async/_client.py,sha256=AkVSSbNTTHmK0gX6PRYVQ-3aDbuCX2Im4VKbLkwLiBU,1101
|
|
14
|
-
hishel/_async/_mock.py,sha256=995v9p5xiw3svGSOJATkLMqwodlhZhcwmGygLHM2VFw,1515
|
|
15
|
-
hishel/_async/_pool.py,sha256=xCcSAl4bHI5eVsZyPap7iHDpxzzgfMqYE_txcjQJ1Hs,8195
|
|
16
|
-
hishel/_async/_storages.py,sha256=tJXwov37HOvwYwXyjFtf-uRn7y7wR8RZs49F_Urj570,28744
|
|
17
|
-
hishel/_async/_transports.py,sha256=BhtEj8SHxu0YKHWDDP5mfCabIWgrAM7lMLJ1-TwWigw,11203
|
|
18
|
-
hishel/_sync/__init__.py,sha256=_oAltH4emAtUF7_9SSxz_KKGYzSXL34o_EGgGvoPG7E,187
|
|
19
|
-
hishel/_sync/_client.py,sha256=O-gwm9DsveKtSFUfqdbBB-3I1FmXr5rE-uQ7X5frwDA,1060
|
|
20
|
-
hishel/_sync/_mock.py,sha256=im88tZr-XhP9BpzvIt3uOjndAlNcJvFP7Puv3H-6lKU,1430
|
|
21
|
-
hishel/_sync/_pool.py,sha256=U2b9ZGYUltwTjI2q2KHZwmj4boIqUExJ_rUKWuLmYSs,7960
|
|
22
|
-
hishel/_sync/_storages.py,sha256=NhIIAoWdpFECcexz121rfYLFRCk3C1iBazVXwoDVoSU,27954
|
|
23
|
-
hishel/_sync/_transports.py,sha256=cQQgdJSy1zfmIa14ycADPek9Tobpa33nqBHA614_6kc,10875
|
|
24
|
-
hishel-0.1.2.dist-info/METADATA,sha256=aqgCs4WIdawt1s7MUa6kVR32jEWG9Zeu3yTGJUL9ah4,12583
|
|
25
|
-
hishel-0.1.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
26
|
-
hishel-0.1.2.dist-info/licenses/LICENSE,sha256=1qQj7pE0V2O9OIedvyOgLGLvZLaPd3nFEup3IBEOZjQ,1493
|
|
27
|
-
hishel-0.1.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|