ormsgpack 1.4.2__tar.gz → 1.5.0__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.

Potentially problematic release.


This version of ormsgpack might be problematic. Click here for more details.

Files changed (42) hide show
  1. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/CHANGELOG.md +6 -0
  2. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/Cargo.lock +69 -53
  3. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/Cargo.toml +17 -16
  4. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/PKG-INFO +200 -176
  5. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/README.md +198 -174
  6. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/pyproject.toml +15 -7
  7. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/python/ormsgpack/__init__.py +21 -3
  8. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/src/deserialize/deserializer.rs +37 -51
  9. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/src/exc.rs +0 -2
  10. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/src/ext.rs +6 -6
  11. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/src/serialize/bytes.rs +4 -4
  12. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/src/serialize/dataclass.rs +67 -46
  13. ormsgpack-1.5.0/src/serialize/datetime.rs +214 -0
  14. ormsgpack-1.5.0/src/serialize/datetimelike.rs +162 -0
  15. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/src/serialize/default.rs +5 -5
  16. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/src/serialize/dict.rs +24 -24
  17. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/src/serialize/ext.rs +6 -6
  18. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/src/serialize/int.rs +4 -4
  19. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/src/serialize/list.rs +8 -10
  20. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/src/serialize/mod.rs +1 -0
  21. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/src/serialize/numpy.rs +256 -7
  22. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/src/serialize/serializer.rs +52 -52
  23. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/src/serialize/str.rs +8 -8
  24. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/src/serialize/tuple.rs +14 -15
  25. ormsgpack-1.5.0/src/serialize/writer.rs +93 -0
  26. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/src/typeref.rs +24 -16
  27. ormsgpack-1.4.2/src/serialize/datetime.rs +0 -277
  28. ormsgpack-1.4.2/src/serialize/writer.rs +0 -213
  29. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/LICENSE-APACHE +0 -0
  30. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/LICENSE-MIT +0 -0
  31. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/build.rs +0 -0
  32. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/python/ormsgpack/__init__.pyi +0 -0
  33. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/python/ormsgpack/py.typed +0 -0
  34. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/src/deserialize/cache.rs +0 -0
  35. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/src/deserialize/error.rs +0 -0
  36. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/src/deserialize/mod.rs +0 -0
  37. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/src/ffi.rs +0 -0
  38. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/src/lib.rs +0 -0
  39. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/src/opt.rs +0 -0
  40. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/src/serialize/uuid.rs +0 -0
  41. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/src/unicode.rs +0 -0
  42. {ormsgpack-1.4.2 → ormsgpack-1.5.0}/src/util.rs +0 -0
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.5.0 19/04/2024
4
+
5
+ - Add support for numpy datetime64 and float16 types
6
+ - Optimize serialization of dataclasses
7
+ - Optimize deserialization of arrays and maps
8
+
3
9
  ## 1.4.2 28/01/2024
4
10
 
5
11
  ### Fixed
@@ -4,9 +4,9 @@ version = 3
4
4
 
5
5
  [[package]]
6
6
  name = "ahash"
7
- version = "0.8.7"
7
+ version = "0.8.11"
8
8
  source = "registry+https://github.com/rust-lang/crates.io-index"
9
- checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01"
9
+ checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
10
10
  dependencies = [
11
11
  "cfg-if",
12
12
  "once_cell",
@@ -14,6 +14,15 @@ dependencies = [
14
14
  "zerocopy",
15
15
  ]
16
16
 
17
+ [[package]]
18
+ name = "any_all_workaround"
19
+ version = "0.1.0"
20
+ source = "registry+https://github.com/rust-lang/crates.io-index"
21
+ checksum = "88fea40735f2cc320a5133ce772d39c571bd6c9b0d4c1a326926eecdd5af2e86"
22
+ dependencies = [
23
+ "cfg-if",
24
+ ]
25
+
17
26
  [[package]]
18
27
  name = "associative-cache"
19
28
  version = "2.0.0"
@@ -34,12 +43,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
34
43
 
35
44
  [[package]]
36
45
  name = "bytecount"
37
- version = "0.6.7"
46
+ version = "0.6.8"
38
47
  source = "registry+https://github.com/rust-lang/crates.io-index"
39
- checksum = "e1e5f035d16fc623ae5f74981db80a439803888314e3a555fd6f04acd51a3205"
40
- dependencies = [
41
- "packed_simd",
42
- ]
48
+ checksum = "5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce"
43
49
 
44
50
  [[package]]
45
51
  name = "byteorder"
@@ -53,21 +59,46 @@ version = "1.0.0"
53
59
  source = "registry+https://github.com/rust-lang/crates.io-index"
54
60
  checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
55
61
 
62
+ [[package]]
63
+ name = "chrono"
64
+ version = "0.4.38"
65
+ source = "registry+https://github.com/rust-lang/crates.io-index"
66
+ checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401"
67
+ dependencies = [
68
+ "num-traits",
69
+ ]
70
+
71
+ [[package]]
72
+ name = "crunchy"
73
+ version = "0.2.2"
74
+ source = "registry+https://github.com/rust-lang/crates.io-index"
75
+ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
76
+
56
77
  [[package]]
57
78
  name = "encoding_rs"
58
- version = "0.8.33"
79
+ version = "0.8.34"
59
80
  source = "registry+https://github.com/rust-lang/crates.io-index"
60
- checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
81
+ checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59"
61
82
  dependencies = [
83
+ "any_all_workaround",
62
84
  "cfg-if",
63
- "packed_simd",
85
+ ]
86
+
87
+ [[package]]
88
+ name = "half"
89
+ version = "2.4.1"
90
+ source = "registry+https://github.com/rust-lang/crates.io-index"
91
+ checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888"
92
+ dependencies = [
93
+ "cfg-if",
94
+ "crunchy",
64
95
  ]
65
96
 
66
97
  [[package]]
67
98
  name = "itoa"
68
- version = "1.0.10"
99
+ version = "1.0.11"
69
100
  source = "registry+https://github.com/rust-lang/crates.io-index"
70
- checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
101
+ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
71
102
 
72
103
  [[package]]
73
104
  name = "libc"
@@ -75,12 +106,6 @@ version = "0.2.151"
75
106
  source = "registry+https://github.com/rust-lang/crates.io-index"
76
107
  checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4"
77
108
 
78
- [[package]]
79
- name = "libm"
80
- version = "0.2.8"
81
- source = "registry+https://github.com/rust-lang/crates.io-index"
82
- checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
83
-
84
109
  [[package]]
85
110
  name = "lock_api"
86
111
  version = "0.4.11"
@@ -107,7 +132,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
107
132
  checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
108
133
  dependencies = [
109
134
  "autocfg",
110
- "libm",
111
135
  ]
112
136
 
113
137
  [[package]]
@@ -118,12 +142,14 @@ checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
118
142
 
119
143
  [[package]]
120
144
  name = "ormsgpack"
121
- version = "1.4.2"
145
+ version = "1.5.0"
122
146
  dependencies = [
123
147
  "ahash",
124
148
  "associative-cache",
125
149
  "bytecount",
150
+ "chrono",
126
151
  "encoding_rs",
152
+ "half",
127
153
  "itoa",
128
154
  "once_cell",
129
155
  "pyo3",
@@ -132,20 +158,9 @@ dependencies = [
132
158
  "rmp-serde",
133
159
  "serde",
134
160
  "serde_bytes",
135
- "simdutf8",
136
161
  "smallvec",
137
162
  ]
138
163
 
139
- [[package]]
140
- name = "packed_simd"
141
- version = "0.3.9"
142
- source = "registry+https://github.com/rust-lang/crates.io-index"
143
- checksum = "1f9f08af0c877571712e2e3e686ad79efad9657dbf0f7c3c8ba943ff6c38932d"
144
- dependencies = [
145
- "cfg-if",
146
- "num-traits",
147
- ]
148
-
149
164
  [[package]]
150
165
  name = "parking_lot"
151
166
  version = "0.12.1"
@@ -175,6 +190,12 @@ version = "1.0.14"
175
190
  source = "registry+https://github.com/rust-lang/crates.io-index"
176
191
  checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
177
192
 
193
+ [[package]]
194
+ name = "portable-atomic"
195
+ version = "1.6.0"
196
+ source = "registry+https://github.com/rust-lang/crates.io-index"
197
+ checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0"
198
+
178
199
  [[package]]
179
200
  name = "proc-macro2"
180
201
  version = "1.0.74"
@@ -186,23 +207,24 @@ dependencies = [
186
207
 
187
208
  [[package]]
188
209
  name = "pyo3"
189
- version = "0.20.2"
210
+ version = "0.21.2"
190
211
  source = "registry+https://github.com/rust-lang/crates.io-index"
191
- checksum = "9a89dc7a5850d0e983be1ec2a463a171d20990487c3cfcd68b5363f1ee3d6fe0"
212
+ checksum = "a5e00b96a521718e08e03b1a622f01c8a8deb50719335de3f60b3b3950f069d8"
192
213
  dependencies = [
193
214
  "cfg-if",
194
215
  "libc",
195
216
  "memoffset",
196
217
  "parking_lot",
218
+ "portable-atomic",
197
219
  "pyo3-build-config",
198
220
  "pyo3-ffi",
199
221
  ]
200
222
 
201
223
  [[package]]
202
224
  name = "pyo3-build-config"
203
- version = "0.20.2"
225
+ version = "0.21.2"
204
226
  source = "registry+https://github.com/rust-lang/crates.io-index"
205
- checksum = "07426f0d8fe5a601f26293f300afd1a7b1ed5e78b2a705870c5f30893c5163be"
227
+ checksum = "7883df5835fafdad87c0d888b266c8ec0f4c9ca48a5bed6bbb592e8dedee1b50"
206
228
  dependencies = [
207
229
  "once_cell",
208
230
  "target-lexicon",
@@ -210,9 +232,9 @@ dependencies = [
210
232
 
211
233
  [[package]]
212
234
  name = "pyo3-ffi"
213
- version = "0.20.2"
235
+ version = "0.21.2"
214
236
  source = "registry+https://github.com/rust-lang/crates.io-index"
215
- checksum = "dbb7dec17e17766b46bca4f1a4215a85006b4c2ecde122076c562dd058da6cf1"
237
+ checksum = "01be5843dc60b916ab4dad1dca6d20b9b4e6ddc8e15f50c47fe6d85f1fb97403"
216
238
  dependencies = [
217
239
  "libc",
218
240
  "pyo3-build-config",
@@ -238,9 +260,9 @@ dependencies = [
238
260
 
239
261
  [[package]]
240
262
  name = "rmp"
241
- version = "0.8.12"
263
+ version = "0.8.14"
242
264
  source = "registry+https://github.com/rust-lang/crates.io-index"
243
- checksum = "7f9860a6cc38ed1da53456442089b4dfa35e7cedaa326df63017af88385e6b20"
265
+ checksum = "228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4"
244
266
  dependencies = [
245
267
  "byteorder",
246
268
  "num-traits",
@@ -249,9 +271,9 @@ dependencies = [
249
271
 
250
272
  [[package]]
251
273
  name = "rmp-serde"
252
- version = "1.1.2"
274
+ version = "1.2.0"
253
275
  source = "registry+https://github.com/rust-lang/crates.io-index"
254
- checksum = "bffea85eea980d8a74453e5d02a8d93028f3c34725de143085a844ebe953258a"
276
+ checksum = "938a142ab806f18b88a97b0dea523d39e0fd730a064b035726adcfc58a8a5188"
255
277
  dependencies = [
256
278
  "byteorder",
257
279
  "rmp",
@@ -266,9 +288,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
266
288
 
267
289
  [[package]]
268
290
  name = "serde"
269
- version = "1.0.195"
291
+ version = "1.0.198"
270
292
  source = "registry+https://github.com/rust-lang/crates.io-index"
271
- checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02"
293
+ checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc"
272
294
  dependencies = [
273
295
  "serde_derive",
274
296
  ]
@@ -284,26 +306,20 @@ dependencies = [
284
306
 
285
307
  [[package]]
286
308
  name = "serde_derive"
287
- version = "1.0.195"
309
+ version = "1.0.198"
288
310
  source = "registry+https://github.com/rust-lang/crates.io-index"
289
- checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c"
311
+ checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9"
290
312
  dependencies = [
291
313
  "proc-macro2",
292
314
  "quote",
293
315
  "syn",
294
316
  ]
295
317
 
296
- [[package]]
297
- name = "simdutf8"
298
- version = "0.1.4"
299
- source = "registry+https://github.com/rust-lang/crates.io-index"
300
- checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a"
301
-
302
318
  [[package]]
303
319
  name = "smallvec"
304
- version = "1.13.1"
320
+ version = "1.13.2"
305
321
  source = "registry+https://github.com/rust-lang/crates.io-index"
306
- checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
322
+ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
307
323
 
308
324
  [[package]]
309
325
  name = "syn"
@@ -1,12 +1,12 @@
1
1
  [package]
2
2
  name = "ormsgpack"
3
- version = "1.4.2"
3
+ version = "1.5.0"
4
4
  authors = [
5
5
  "Aviram Hassan <aviramyhassan@gmail.com>",
6
6
  "Emanuele Giaquinta <emanuele.giaquinta@gmail.com>",
7
7
  ]
8
8
  description = "Fast, correct Python msgpack library supporting dataclasses, datetimes, and numpy"
9
- edition = "2018"
9
+ edition = "2021"
10
10
  license = "Apache-2.0 OR MIT"
11
11
  repository = "https://github.com/aviramha/ormsgpack"
12
12
  homepage = "https://github.com/aviramha/ormsgpack"
@@ -37,22 +37,23 @@ unstable-simd = [
37
37
  ]
38
38
 
39
39
  [dependencies]
40
- ahash = { version = "0.8", default_features = false }
41
- associative-cache = { version = "2", default_features = false }
42
- bytecount = { version = "^0.6.7", default_features = false, features = ["runtime-dispatch-simd"] }
43
- encoding_rs = { version = "0.8", default_features = false }
44
- itoa = { version = "1", default_features = false }
45
- once_cell = { version = "1", default_features = false, features = ["race"] }
46
- pyo3 = { version = "^0.20.2", default_features = false, features = ["extension-module"] }
47
- rmp = { version = "^0.8.10", default_features = false, features = ["std"] }
48
- rmp-serde = { version = "1", default_features = false }
49
- serde = { version = "1", default_features = false }
50
- serde_bytes = { version = "0.11.14", default_features = false, features = ["std"] }
51
- simdutf8 = { version = "0.1", default_features = false, features = ["std", "aarch64_neon"] }
52
- smallvec = { version = "^1.13", default_features = false, features = ["union", "write"] }
40
+ ahash = { version = "0.8", default-features = false }
41
+ associative-cache = { version = "2", default-features = false }
42
+ bytecount = { version = "^0.6.7", default-features = false, features = ["runtime-dispatch-simd"] }
43
+ chrono = { version = "0.4.38", default-features = false }
44
+ encoding_rs = { version = "0.8", default-features = false }
45
+ half = { version = "2.4.1", default-features = false }
46
+ itoa = { version = "1", default-features = false }
47
+ once_cell = { version = "1", default-features = false, features = ["race"] }
48
+ pyo3 = { version = "^0.21.2", default-features = false, features = ["extension-module"] }
49
+ rmp = { version = "^0.8.14", default-features = false, features = ["std"] }
50
+ rmp-serde = { version = "1", default-features = false }
51
+ serde = { version = "1", default-features = false }
52
+ serde_bytes = { version = "0.11.14", default-features = false, features = ["std"] }
53
+ smallvec = { version = "^1.13", default-features = false, features = ["union", "write"] }
53
54
 
54
55
  [build-dependencies]
55
- pyo3-build-config = { version = "^0.20.0" }
56
+ pyo3-build-config = { version = "^0.21.0" }
56
57
 
57
58
  [profile.release]
58
59
  codegen-units = 1