ormsgpack 1.5.0__tar.gz → 1.6.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.
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/CHANGELOG.md +22 -9
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/Cargo.lock +40 -151
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/Cargo.toml +4 -4
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/PKG-INFO +4 -2
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/README.md +2 -1
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/pyproject.toml +9 -0
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/python/ormsgpack/__init__.pyi +4 -1
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/src/deserialize/deserializer.rs +25 -28
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/LICENSE-APACHE +0 -0
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/LICENSE-MIT +0 -0
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/build.rs +0 -0
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/python/ormsgpack/__init__.py +0 -0
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/python/ormsgpack/py.typed +0 -0
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/src/deserialize/cache.rs +0 -0
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/src/deserialize/error.rs +0 -0
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/src/deserialize/mod.rs +0 -0
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/src/exc.rs +0 -0
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/src/ext.rs +0 -0
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/src/ffi.rs +0 -0
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/src/lib.rs +0 -0
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/src/opt.rs +0 -0
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/src/serialize/bytes.rs +0 -0
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/src/serialize/dataclass.rs +0 -0
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/src/serialize/datetime.rs +0 -0
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/src/serialize/datetimelike.rs +0 -0
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/src/serialize/default.rs +0 -0
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/src/serialize/dict.rs +0 -0
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/src/serialize/ext.rs +0 -0
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/src/serialize/int.rs +0 -0
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/src/serialize/list.rs +0 -0
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/src/serialize/mod.rs +0 -0
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/src/serialize/numpy.rs +0 -0
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/src/serialize/serializer.rs +0 -0
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/src/serialize/str.rs +0 -0
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/src/serialize/tuple.rs +0 -0
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/src/serialize/uuid.rs +0 -0
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/src/serialize/writer.rs +0 -0
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/src/typeref.rs +0 -0
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/src/unicode.rs +0 -0
- {ormsgpack-1.5.0 → ormsgpack-1.6.0}/src/util.rs +0 -0
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.6.0 18/10/2024
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- Deduplicate map keys also when `OPT_NON_STR_KEYS` is set [#279](/../../issues/279)
|
|
8
|
+
- Add missing type information for Ext type by [trim21](https://github.com/trim21) in [#285](/../../pull/285)
|
|
9
|
+
- Fix type annotation of unpackb first argument
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
|
|
13
|
+
- Add support for python 3.13
|
|
14
|
+
- Improve test coverage
|
|
15
|
+
|
|
3
16
|
## 1.5.0 19/04/2024
|
|
4
17
|
|
|
5
18
|
- Add support for numpy datetime64 and float16 types
|
|
@@ -47,7 +60,7 @@
|
|
|
47
60
|
|
|
48
61
|
### Fixed
|
|
49
62
|
|
|
50
|
-
- `once_cell` poisoning on parallel initialization by
|
|
63
|
+
- `once_cell` poisoning on parallel initialization by [@Quitlox](https://github.com/Quitlox) in [#153](/../../pull/153)
|
|
51
64
|
|
|
52
65
|
|
|
53
66
|
## 1.2.5 02/02/2023
|
|
@@ -69,7 +82,7 @@
|
|
|
69
82
|
|
|
70
83
|
## 1.2.3 - 26/06/2022
|
|
71
84
|
### Misc
|
|
72
|
-
- Updated dependencies. partially by [@tilman19](
|
|
85
|
+
- Updated dependencies. partially by [@tilman19](/../../pull/101)
|
|
73
86
|
- Handle clippy warnings.
|
|
74
87
|
|
|
75
88
|
|
|
@@ -82,15 +95,15 @@
|
|
|
82
95
|
- Update dependencies
|
|
83
96
|
## 1.2.0 - 14/2/2022
|
|
84
97
|
### Changed
|
|
85
|
-
- Extended int passthrough to support u64. by [@pejter](
|
|
98
|
+
- Extended int passthrough to support u64. by [@pejter](/../../pull/77)
|
|
86
99
|
### Misc
|
|
87
|
-
- Updated README to include new options. by [@ThomasTNO](
|
|
100
|
+
- Updated README to include new options. by [@ThomasTNO](/../../pull/70)
|
|
88
101
|
- Updated dependencies
|
|
89
102
|
- Renamed in `numpy.rs` `from_parent` to `to_children` to fix new lint rules
|
|
90
103
|
## 1.1.0 - 8/1/2022
|
|
91
104
|
### Added
|
|
92
|
-
- Add optional passthrough for tuples. by [@TariqTNO](
|
|
93
|
-
- Add optional passthrough for ints, that do not fit into an i64. by [@TariqTNO](
|
|
105
|
+
- Add optional passthrough for tuples. by [@TariqTNO](/../../pull/64)
|
|
106
|
+
- Add optional passthrough for ints, that do not fit into an i64. by [@TariqTNO](/../../pull/64)
|
|
94
107
|
### Changed
|
|
95
108
|
- `opt` parameter can be `None`.
|
|
96
109
|
### Misc
|
|
@@ -132,7 +145,7 @@
|
|
|
132
145
|
- Refactored adding objects to the module, creating a `__all__` object similar to the way PyO3 creates. This solves an issue with upgrading to new maturin version.
|
|
133
146
|
- Changed < Py3.7 implementation to use automatic range inclusion.
|
|
134
147
|
- Added test to validate correct Python method flags are used on declare.
|
|
135
|
-
- Changed to use PyO3 configurations instead of our own. PR [#25](
|
|
148
|
+
- Changed to use PyO3 configurations instead of our own. PR [#25](/../../pull/25) by [@pejter](https://github.com/pejter).
|
|
136
149
|
## 0.3.2 - 13/7/2021
|
|
137
150
|
### Fixed
|
|
138
151
|
- Fix memory leak serializing `datetime.datetime` with `tzinfo`. (Copied from orjson)
|
|
@@ -142,9 +155,9 @@
|
|
|
142
155
|
- Setup dependabot.
|
|
143
156
|
## 0.3.1 - 19/6/2021
|
|
144
157
|
### Changed
|
|
145
|
-
- `packb` of maps and sequences is now almost 2x faster as it leverages known size. PR [#18](
|
|
158
|
+
- `packb` of maps and sequences is now almost 2x faster as it leverages known size. PR [#18](/../../pull/18) by [@ijl](https://github.com/ijl).
|
|
146
159
|
### Misc
|
|
147
|
-
- Added `scripts/bench_target.py` and `scripts/profile.sh` for easily benchmarking and profiling. Works only on Linux. PR [#17](
|
|
160
|
+
- Added `scripts/bench_target.py` and `scripts/profile.sh` for easily benchmarking and profiling. Works only on Linux. PR [#17](/../../pull/17) by [@ijl](https://github.com/ijl).
|
|
148
161
|
## 0.3.0 - 13/6/2021
|
|
149
162
|
### Added
|
|
150
163
|
- `unpackb` now accepts keyword argument `option` with argument `OPT_NON_STR_KEYS`. This option will let ormsgpack
|
|
@@ -31,15 +31,9 @@ checksum = "b993cd767a2bc7307dd87622311ca22c44329cc7a21366206bfa0896827b2bad"
|
|
|
31
31
|
|
|
32
32
|
[[package]]
|
|
33
33
|
name = "autocfg"
|
|
34
|
-
version = "1.
|
|
34
|
+
version = "1.3.0"
|
|
35
35
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
36
|
-
checksum = "
|
|
37
|
-
|
|
38
|
-
[[package]]
|
|
39
|
-
name = "bitflags"
|
|
40
|
-
version = "1.3.2"
|
|
41
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
42
|
-
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
|
|
36
|
+
checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
|
|
43
37
|
|
|
44
38
|
[[package]]
|
|
45
39
|
name = "bytecount"
|
|
@@ -102,47 +96,37 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
|
|
|
102
96
|
|
|
103
97
|
[[package]]
|
|
104
98
|
name = "libc"
|
|
105
|
-
version = "0.2.
|
|
99
|
+
version = "0.2.154"
|
|
106
100
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
107
|
-
checksum = "
|
|
108
|
-
|
|
109
|
-
[[package]]
|
|
110
|
-
name = "lock_api"
|
|
111
|
-
version = "0.4.11"
|
|
112
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
113
|
-
checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
|
|
114
|
-
dependencies = [
|
|
115
|
-
"autocfg",
|
|
116
|
-
"scopeguard",
|
|
117
|
-
]
|
|
101
|
+
checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346"
|
|
118
102
|
|
|
119
103
|
[[package]]
|
|
120
104
|
name = "memoffset"
|
|
121
|
-
version = "0.9.
|
|
105
|
+
version = "0.9.1"
|
|
122
106
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
123
|
-
checksum = "
|
|
107
|
+
checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
|
|
124
108
|
dependencies = [
|
|
125
109
|
"autocfg",
|
|
126
110
|
]
|
|
127
111
|
|
|
128
112
|
[[package]]
|
|
129
113
|
name = "num-traits"
|
|
130
|
-
version = "0.2.
|
|
114
|
+
version = "0.2.19"
|
|
131
115
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
132
|
-
checksum = "
|
|
116
|
+
checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
|
|
133
117
|
dependencies = [
|
|
134
118
|
"autocfg",
|
|
135
119
|
]
|
|
136
120
|
|
|
137
121
|
[[package]]
|
|
138
122
|
name = "once_cell"
|
|
139
|
-
version = "1.
|
|
123
|
+
version = "1.20.2"
|
|
140
124
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
141
|
-
checksum = "
|
|
125
|
+
checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775"
|
|
142
126
|
|
|
143
127
|
[[package]]
|
|
144
128
|
name = "ormsgpack"
|
|
145
|
-
version = "1.
|
|
129
|
+
version = "1.6.0"
|
|
146
130
|
dependencies = [
|
|
147
131
|
"ahash",
|
|
148
132
|
"associative-cache",
|
|
@@ -161,34 +145,11 @@ dependencies = [
|
|
|
161
145
|
"smallvec",
|
|
162
146
|
]
|
|
163
147
|
|
|
164
|
-
[[package]]
|
|
165
|
-
name = "parking_lot"
|
|
166
|
-
version = "0.12.1"
|
|
167
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
168
|
-
checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
|
|
169
|
-
dependencies = [
|
|
170
|
-
"lock_api",
|
|
171
|
-
"parking_lot_core",
|
|
172
|
-
]
|
|
173
|
-
|
|
174
|
-
[[package]]
|
|
175
|
-
name = "parking_lot_core"
|
|
176
|
-
version = "0.9.9"
|
|
177
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
178
|
-
checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
|
|
179
|
-
dependencies = [
|
|
180
|
-
"cfg-if",
|
|
181
|
-
"libc",
|
|
182
|
-
"redox_syscall",
|
|
183
|
-
"smallvec",
|
|
184
|
-
"windows-targets",
|
|
185
|
-
]
|
|
186
|
-
|
|
187
148
|
[[package]]
|
|
188
149
|
name = "paste"
|
|
189
|
-
version = "1.0.
|
|
150
|
+
version = "1.0.15"
|
|
190
151
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
191
|
-
checksum = "
|
|
152
|
+
checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
|
|
192
153
|
|
|
193
154
|
[[package]]
|
|
194
155
|
name = "portable-atomic"
|
|
@@ -198,23 +159,23 @@ checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0"
|
|
|
198
159
|
|
|
199
160
|
[[package]]
|
|
200
161
|
name = "proc-macro2"
|
|
201
|
-
version = "1.0.
|
|
162
|
+
version = "1.0.82"
|
|
202
163
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
203
|
-
checksum = "
|
|
164
|
+
checksum = "8ad3d49ab951a01fbaafe34f2ec74122942fe18a3f9814c3268f1bb72042131b"
|
|
204
165
|
dependencies = [
|
|
205
166
|
"unicode-ident",
|
|
206
167
|
]
|
|
207
168
|
|
|
208
169
|
[[package]]
|
|
209
170
|
name = "pyo3"
|
|
210
|
-
version = "0.
|
|
171
|
+
version = "0.22.5"
|
|
211
172
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
212
|
-
checksum = "
|
|
173
|
+
checksum = "3d922163ba1f79c04bc49073ba7b32fd5a8d3b76a87c955921234b8e77333c51"
|
|
213
174
|
dependencies = [
|
|
214
175
|
"cfg-if",
|
|
215
176
|
"libc",
|
|
216
177
|
"memoffset",
|
|
217
|
-
"
|
|
178
|
+
"once_cell",
|
|
218
179
|
"portable-atomic",
|
|
219
180
|
"pyo3-build-config",
|
|
220
181
|
"pyo3-ffi",
|
|
@@ -222,9 +183,9 @@ dependencies = [
|
|
|
222
183
|
|
|
223
184
|
[[package]]
|
|
224
185
|
name = "pyo3-build-config"
|
|
225
|
-
version = "0.
|
|
186
|
+
version = "0.22.5"
|
|
226
187
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
227
|
-
checksum = "
|
|
188
|
+
checksum = "bc38c5feeb496c8321091edf3d63e9a6829eab4b863b4a6a65f26f3e9cc6b179"
|
|
228
189
|
dependencies = [
|
|
229
190
|
"once_cell",
|
|
230
191
|
"target-lexicon",
|
|
@@ -232,9 +193,9 @@ dependencies = [
|
|
|
232
193
|
|
|
233
194
|
[[package]]
|
|
234
195
|
name = "pyo3-ffi"
|
|
235
|
-
version = "0.
|
|
196
|
+
version = "0.22.5"
|
|
236
197
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
237
|
-
checksum = "
|
|
198
|
+
checksum = "94845622d88ae274d2729fcefc850e63d7a3ddff5e3ce11bd88486db9f1d357d"
|
|
238
199
|
dependencies = [
|
|
239
200
|
"libc",
|
|
240
201
|
"pyo3-build-config",
|
|
@@ -242,22 +203,13 @@ dependencies = [
|
|
|
242
203
|
|
|
243
204
|
[[package]]
|
|
244
205
|
name = "quote"
|
|
245
|
-
version = "1.0.
|
|
206
|
+
version = "1.0.36"
|
|
246
207
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
247
|
-
checksum = "
|
|
208
|
+
checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
|
|
248
209
|
dependencies = [
|
|
249
210
|
"proc-macro2",
|
|
250
211
|
]
|
|
251
212
|
|
|
252
|
-
[[package]]
|
|
253
|
-
name = "redox_syscall"
|
|
254
|
-
version = "0.4.1"
|
|
255
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
256
|
-
checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
|
|
257
|
-
dependencies = [
|
|
258
|
-
"bitflags",
|
|
259
|
-
]
|
|
260
|
-
|
|
261
213
|
[[package]]
|
|
262
214
|
name = "rmp"
|
|
263
215
|
version = "0.8.14"
|
|
@@ -271,44 +223,38 @@ dependencies = [
|
|
|
271
223
|
|
|
272
224
|
[[package]]
|
|
273
225
|
name = "rmp-serde"
|
|
274
|
-
version = "1.
|
|
226
|
+
version = "1.3.0"
|
|
275
227
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
276
|
-
checksum = "
|
|
228
|
+
checksum = "52e599a477cf9840e92f2cde9a7189e67b42c57532749bf90aea6ec10facd4db"
|
|
277
229
|
dependencies = [
|
|
278
230
|
"byteorder",
|
|
279
231
|
"rmp",
|
|
280
232
|
"serde",
|
|
281
233
|
]
|
|
282
234
|
|
|
283
|
-
[[package]]
|
|
284
|
-
name = "scopeguard"
|
|
285
|
-
version = "1.2.0"
|
|
286
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
287
|
-
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
|
|
288
|
-
|
|
289
235
|
[[package]]
|
|
290
236
|
name = "serde"
|
|
291
|
-
version = "1.0.
|
|
237
|
+
version = "1.0.210"
|
|
292
238
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
293
|
-
checksum = "
|
|
239
|
+
checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a"
|
|
294
240
|
dependencies = [
|
|
295
241
|
"serde_derive",
|
|
296
242
|
]
|
|
297
243
|
|
|
298
244
|
[[package]]
|
|
299
245
|
name = "serde_bytes"
|
|
300
|
-
version = "0.11.
|
|
246
|
+
version = "0.11.15"
|
|
301
247
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
302
|
-
checksum = "
|
|
248
|
+
checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a"
|
|
303
249
|
dependencies = [
|
|
304
250
|
"serde",
|
|
305
251
|
]
|
|
306
252
|
|
|
307
253
|
[[package]]
|
|
308
254
|
name = "serde_derive"
|
|
309
|
-
version = "1.0.
|
|
255
|
+
version = "1.0.210"
|
|
310
256
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
311
|
-
checksum = "
|
|
257
|
+
checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f"
|
|
312
258
|
dependencies = [
|
|
313
259
|
"proc-macro2",
|
|
314
260
|
"quote",
|
|
@@ -323,9 +269,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
|
|
|
323
269
|
|
|
324
270
|
[[package]]
|
|
325
271
|
name = "syn"
|
|
326
|
-
version = "2.0.
|
|
272
|
+
version = "2.0.62"
|
|
327
273
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
328
|
-
checksum = "
|
|
274
|
+
checksum = "9f660c3bfcefb88c538776b6685a0c472e3128b51e74d48793dc2a488196e8eb"
|
|
329
275
|
dependencies = [
|
|
330
276
|
"proc-macro2",
|
|
331
277
|
"quote",
|
|
@@ -334,9 +280,9 @@ dependencies = [
|
|
|
334
280
|
|
|
335
281
|
[[package]]
|
|
336
282
|
name = "target-lexicon"
|
|
337
|
-
version = "0.12.
|
|
283
|
+
version = "0.12.14"
|
|
338
284
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
339
|
-
checksum = "
|
|
285
|
+
checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f"
|
|
340
286
|
|
|
341
287
|
[[package]]
|
|
342
288
|
name = "unicode-ident"
|
|
@@ -350,77 +296,20 @@ version = "0.9.4"
|
|
|
350
296
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
351
297
|
checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
|
|
352
298
|
|
|
353
|
-
[[package]]
|
|
354
|
-
name = "windows-targets"
|
|
355
|
-
version = "0.48.5"
|
|
356
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
357
|
-
checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
|
|
358
|
-
dependencies = [
|
|
359
|
-
"windows_aarch64_gnullvm",
|
|
360
|
-
"windows_aarch64_msvc",
|
|
361
|
-
"windows_i686_gnu",
|
|
362
|
-
"windows_i686_msvc",
|
|
363
|
-
"windows_x86_64_gnu",
|
|
364
|
-
"windows_x86_64_gnullvm",
|
|
365
|
-
"windows_x86_64_msvc",
|
|
366
|
-
]
|
|
367
|
-
|
|
368
|
-
[[package]]
|
|
369
|
-
name = "windows_aarch64_gnullvm"
|
|
370
|
-
version = "0.48.5"
|
|
371
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
372
|
-
checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
|
|
373
|
-
|
|
374
|
-
[[package]]
|
|
375
|
-
name = "windows_aarch64_msvc"
|
|
376
|
-
version = "0.48.5"
|
|
377
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
378
|
-
checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
|
|
379
|
-
|
|
380
|
-
[[package]]
|
|
381
|
-
name = "windows_i686_gnu"
|
|
382
|
-
version = "0.48.5"
|
|
383
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
384
|
-
checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
|
|
385
|
-
|
|
386
|
-
[[package]]
|
|
387
|
-
name = "windows_i686_msvc"
|
|
388
|
-
version = "0.48.5"
|
|
389
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
390
|
-
checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
|
|
391
|
-
|
|
392
|
-
[[package]]
|
|
393
|
-
name = "windows_x86_64_gnu"
|
|
394
|
-
version = "0.48.5"
|
|
395
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
396
|
-
checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
|
|
397
|
-
|
|
398
|
-
[[package]]
|
|
399
|
-
name = "windows_x86_64_gnullvm"
|
|
400
|
-
version = "0.48.5"
|
|
401
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
402
|
-
checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
|
|
403
|
-
|
|
404
|
-
[[package]]
|
|
405
|
-
name = "windows_x86_64_msvc"
|
|
406
|
-
version = "0.48.5"
|
|
407
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
408
|
-
checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
|
|
409
|
-
|
|
410
299
|
[[package]]
|
|
411
300
|
name = "zerocopy"
|
|
412
|
-
version = "0.7.
|
|
301
|
+
version = "0.7.34"
|
|
413
302
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
414
|
-
checksum = "
|
|
303
|
+
checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087"
|
|
415
304
|
dependencies = [
|
|
416
305
|
"zerocopy-derive",
|
|
417
306
|
]
|
|
418
307
|
|
|
419
308
|
[[package]]
|
|
420
309
|
name = "zerocopy-derive"
|
|
421
|
-
version = "0.7.
|
|
310
|
+
version = "0.7.34"
|
|
422
311
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
423
|
-
checksum = "
|
|
312
|
+
checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b"
|
|
424
313
|
dependencies = [
|
|
425
314
|
"proc-macro2",
|
|
426
315
|
"quote",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "ormsgpack"
|
|
3
|
-
version = "1.
|
|
3
|
+
version = "1.6.0"
|
|
4
4
|
authors = [
|
|
5
5
|
"Aviram Hassan <aviramyhassan@gmail.com>",
|
|
6
6
|
"Emanuele Giaquinta <emanuele.giaquinta@gmail.com>",
|
|
@@ -45,15 +45,15 @@ encoding_rs = { version = "0.8", default-features = false }
|
|
|
45
45
|
half = { version = "2.4.1", default-features = false }
|
|
46
46
|
itoa = { version = "1", default-features = false }
|
|
47
47
|
once_cell = { version = "1", default-features = false, features = ["race"] }
|
|
48
|
-
pyo3 = { version = "^0.
|
|
48
|
+
pyo3 = { version = "^0.22.5", default-features = false, features = ["extension-module"] }
|
|
49
49
|
rmp = { version = "^0.8.14", default-features = false, features = ["std"] }
|
|
50
50
|
rmp-serde = { version = "1", default-features = false }
|
|
51
51
|
serde = { version = "1", default-features = false }
|
|
52
|
-
serde_bytes = { version = "0.11.
|
|
52
|
+
serde_bytes = { version = "0.11.15", default-features = false, features = ["std"] }
|
|
53
53
|
smallvec = { version = "^1.13", default-features = false, features = ["union", "write"] }
|
|
54
54
|
|
|
55
55
|
[build-dependencies]
|
|
56
|
-
pyo3-build-config = { version = "^0.
|
|
56
|
+
pyo3-build-config = { version = "^0.22.0" }
|
|
57
57
|
|
|
58
58
|
[profile.release]
|
|
59
59
|
codegen-units = 1
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: ormsgpack
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.6.0
|
|
4
4
|
Classifier: Development Status :: 5 - Production/Stable
|
|
5
5
|
Classifier: Intended Audience :: Developers
|
|
6
6
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
@@ -14,6 +14,7 @@ Classifier: Programming Language :: Python :: 3.9
|
|
|
14
14
|
Classifier: Programming Language :: Python :: 3.10
|
|
15
15
|
Classifier: Programming Language :: Python :: 3.11
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
17
18
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
18
19
|
Classifier: Programming Language :: Python
|
|
19
20
|
Classifier: Programming Language :: Rust
|
|
@@ -52,7 +53,8 @@ e.g., "1970-01-01T00:00:00+00:00"
|
|
|
52
53
|
* serializes `pydantic.BaseModel` instances natively
|
|
53
54
|
* serializes arbitrary types using a `default` hook
|
|
54
55
|
|
|
55
|
-
ormsgpack supports CPython 3.8, 3.9, 3.10, 3.11
|
|
56
|
+
ormsgpack supports CPython 3.8, 3.9, 3.10, 3.11, 3.12 and 3.13.
|
|
57
|
+
ormsgpack does not support PyPy. Releases follow semantic
|
|
56
58
|
versioning and serializing a new object type without an opt-in flag is
|
|
57
59
|
considered a breaking change.
|
|
58
60
|
|
|
@@ -20,7 +20,8 @@ e.g., "1970-01-01T00:00:00+00:00"
|
|
|
20
20
|
* serializes `pydantic.BaseModel` instances natively
|
|
21
21
|
* serializes arbitrary types using a `default` hook
|
|
22
22
|
|
|
23
|
-
ormsgpack supports CPython 3.8, 3.9, 3.10, 3.11
|
|
23
|
+
ormsgpack supports CPython 3.8, 3.9, 3.10, 3.11, 3.12 and 3.13.
|
|
24
|
+
ormsgpack does not support PyPy. Releases follow semantic
|
|
24
25
|
versioning and serializing a new object type without an opt-in flag is
|
|
25
26
|
considered a breaking change.
|
|
26
27
|
|
|
@@ -16,6 +16,7 @@ classifiers = [
|
|
|
16
16
|
"Programming Language :: Python :: 3.10",
|
|
17
17
|
"Programming Language :: Python :: 3.11",
|
|
18
18
|
"Programming Language :: Python :: 3.12",
|
|
19
|
+
"Programming Language :: Python :: 3.13",
|
|
19
20
|
"Programming Language :: Python :: Implementation :: CPython",
|
|
20
21
|
"Programming Language :: Python",
|
|
21
22
|
"Programming Language :: Rust",
|
|
@@ -30,6 +31,14 @@ requires = ["maturin>=1.0,<2.0"]
|
|
|
30
31
|
python-source = "python"
|
|
31
32
|
strip = true
|
|
32
33
|
|
|
34
|
+
[tool.mypy]
|
|
35
|
+
exclude = "benchmarks"
|
|
36
|
+
strict = true
|
|
37
|
+
|
|
38
|
+
[[tool.mypy.overrides]]
|
|
39
|
+
module = ["msgpack"]
|
|
40
|
+
ignore_missing_imports = true
|
|
41
|
+
|
|
33
42
|
[tool.ruff]
|
|
34
43
|
line-length = 88
|
|
35
44
|
target-version = "py38"
|
|
@@ -8,7 +8,7 @@ def packb(
|
|
|
8
8
|
option: Optional[int] = None,
|
|
9
9
|
) -> bytes: ...
|
|
10
10
|
def unpackb(
|
|
11
|
-
|
|
11
|
+
obj: Union[bytes, bytearray, memoryview],
|
|
12
12
|
ext_hook: Optional[Callable[[int, bytes], Any]] = ...,
|
|
13
13
|
option: Optional[int] = ...,
|
|
14
14
|
) -> Any: ...
|
|
@@ -16,6 +16,9 @@ def unpackb(
|
|
|
16
16
|
class MsgpackDecodeError(ValueError): ...
|
|
17
17
|
class MsgpackEncodeError(TypeError): ...
|
|
18
18
|
|
|
19
|
+
class Ext:
|
|
20
|
+
def __init__(self, tag: int, data: bytes) -> None: ...
|
|
21
|
+
|
|
19
22
|
OPT_NAIVE_UTC: int
|
|
20
23
|
OPT_OMIT_MICROSECONDS: int
|
|
21
24
|
OPT_PASSTHROUGH_BIG_INT: int
|
|
@@ -56,6 +56,26 @@ pub fn deserialize(
|
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
+
fn unicode_from_map_key(key: &str) -> *mut pyo3::ffi::PyObject {
|
|
60
|
+
if unlikely!(key.len() > 64) {
|
|
61
|
+
let pykey = unicode_from_str(key);
|
|
62
|
+
hash_str(pykey);
|
|
63
|
+
pykey
|
|
64
|
+
} else {
|
|
65
|
+
let hash = cache_hash(key.as_bytes());
|
|
66
|
+
let map = unsafe { KEY_MAP.get_mut().unwrap_or_else(|| unreachable!()) };
|
|
67
|
+
let entry = map.entry(&hash).or_insert_with(
|
|
68
|
+
|| hash,
|
|
69
|
+
|| {
|
|
70
|
+
let pykey = unicode_from_str(key);
|
|
71
|
+
hash_str(pykey);
|
|
72
|
+
CachedKey::new(pykey)
|
|
73
|
+
},
|
|
74
|
+
);
|
|
75
|
+
entry.get()
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
59
79
|
#[derive(Clone, Copy)]
|
|
60
80
|
struct MsgpackExtValue {
|
|
61
81
|
ext_hook: Option<NonNull<pyo3::ffi::PyObject>>,
|
|
@@ -236,31 +256,8 @@ impl<'de> Visitor<'de> for MsgpackValue {
|
|
|
236
256
|
let dict_ptr = ffi!(_PyDict_NewPresized(size));
|
|
237
257
|
while let Some(key) = map.next_key::<Cow<str>>()? {
|
|
238
258
|
let value = map.next_value_seed(self)?;
|
|
239
|
-
let pykey
|
|
240
|
-
let pyhash
|
|
241
|
-
if unlikely!(key.len() > 64) {
|
|
242
|
-
pykey = unicode_from_str(&key);
|
|
243
|
-
pyhash = hash_str(pykey);
|
|
244
|
-
} else {
|
|
245
|
-
let hash = cache_hash(key.as_bytes());
|
|
246
|
-
{
|
|
247
|
-
let map = unsafe {
|
|
248
|
-
KEY_MAP
|
|
249
|
-
.get_mut()
|
|
250
|
-
.unwrap_or_else(|| unsafe { std::hint::unreachable_unchecked() })
|
|
251
|
-
};
|
|
252
|
-
let entry = map.entry(&hash).or_insert_with(
|
|
253
|
-
|| hash,
|
|
254
|
-
|| {
|
|
255
|
-
let pyob = unicode_from_str(&key);
|
|
256
|
-
hash_str(pyob);
|
|
257
|
-
CachedKey::new(pyob)
|
|
258
|
-
},
|
|
259
|
-
);
|
|
260
|
-
pykey = entry.get();
|
|
261
|
-
pyhash = unsafe { (*pykey.cast::<pyo3::ffi::PyASCIIObject>()).hash }
|
|
262
|
-
}
|
|
263
|
-
}
|
|
259
|
+
let pykey = unicode_from_map_key(&key);
|
|
260
|
+
let pyhash = unsafe { (*pykey.cast::<pyo3::ffi::PyASCIIObject>()).hash };
|
|
264
261
|
let _ = ffi!(_PyDict_SetItem_KnownHash(
|
|
265
262
|
dict_ptr,
|
|
266
263
|
pykey,
|
|
@@ -480,21 +477,21 @@ impl<'de> Visitor<'de> for MsgpackKey {
|
|
|
480
477
|
where
|
|
481
478
|
E: de::Error,
|
|
482
479
|
{
|
|
483
|
-
Ok(nonnull!(
|
|
480
|
+
Ok(nonnull!(unicode_from_map_key(value.as_str())))
|
|
484
481
|
}
|
|
485
482
|
|
|
486
483
|
fn visit_borrowed_str<E>(self, value: &str) -> Result<Self::Value, E>
|
|
487
484
|
where
|
|
488
485
|
E: de::Error,
|
|
489
486
|
{
|
|
490
|
-
Ok(nonnull!(
|
|
487
|
+
Ok(nonnull!(unicode_from_map_key(value)))
|
|
491
488
|
}
|
|
492
489
|
|
|
493
490
|
fn visit_str<E>(self, value: &str) -> Result<Self::Value, E>
|
|
494
491
|
where
|
|
495
492
|
E: de::Error,
|
|
496
493
|
{
|
|
497
|
-
Ok(nonnull!(
|
|
494
|
+
Ok(nonnull!(unicode_from_map_key(value)))
|
|
498
495
|
}
|
|
499
496
|
|
|
500
497
|
fn visit_bytes<E>(self, v: &[u8]) -> Result<Self::Value, E>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|