pycrdt 0.12.40__tar.gz → 0.12.41__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 pycrdt might be problematic. Click here for more details.
- {pycrdt-0.12.40 → pycrdt-0.12.41}/.github/workflows/publish.yml +3 -3
- {pycrdt-0.12.40 → pycrdt-0.12.41}/.github/workflows/test.yml +2 -3
- {pycrdt-0.12.40 → pycrdt-0.12.41}/CHANGELOG.md +5 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/Cargo.lock +19 -19
- {pycrdt-0.12.40 → pycrdt-0.12.41}/Cargo.toml +2 -2
- {pycrdt-0.12.40 → pycrdt-0.12.41}/PKG-INFO +2 -1
- {pycrdt-0.12.40 → pycrdt-0.12.41}/pyproject.toml +1 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/src/doc.rs +2 -2
- {pycrdt-0.12.40 → pycrdt-0.12.41}/src/type_conversions.rs +3 -3
- {pycrdt-0.12.40 → pycrdt-0.12.41}/tests/test_typed.py +0 -1
- {pycrdt-0.12.40 → pycrdt-0.12.41}/.gitignore +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/.pre-commit-config.yaml +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/LICENSE +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/README.md +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/docs/api_reference.md +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/docs/assets/logo.png +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/docs/index.md +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/docs/install.md +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/docs/usage.md +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/mkdocs.yml +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/python/pycrdt/__init__.py +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/python/pycrdt/_array.py +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/python/pycrdt/_awareness.py +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/python/pycrdt/_base.py +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/python/pycrdt/_doc.py +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/python/pycrdt/_map.py +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/python/pycrdt/_provider.py +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/python/pycrdt/_pycrdt.pyi +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/python/pycrdt/_snapshot.py +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/python/pycrdt/_sticky_index.py +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/python/pycrdt/_sync.py +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/python/pycrdt/_text.py +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/python/pycrdt/_transaction.py +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/python/pycrdt/_undo.py +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/python/pycrdt/_update.py +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/python/pycrdt/_version.py +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/python/pycrdt/_xml.py +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/python/pycrdt/py.typed +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/src/array.rs +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/src/lib.rs +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/src/map.rs +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/src/snapshot.rs +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/src/sticky_index.rs +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/src/subscription.rs +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/src/text.rs +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/src/transaction.rs +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/src/undo.rs +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/src/update.rs +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/src/xml.rs +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/tests/conftest.py +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/tests/test_array.py +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/tests/test_awareness.py +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/tests/test_doc.py +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/tests/test_map.py +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/tests/test_model.py +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/tests/test_provider.py +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/tests/test_snapshot.py +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/tests/test_sync.py +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/tests/test_text.py +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/tests/test_threads.py +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/tests/test_transaction.py +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/tests/test_types.py +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/tests/test_undo.py +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/tests/test_update.py +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/tests/test_xml.py +0 -0
- {pycrdt-0.12.40 → pycrdt-0.12.41}/tests/utils.py +0 -0
|
@@ -28,7 +28,7 @@ jobs:
|
|
|
28
28
|
- name: Build wheels - universal2
|
|
29
29
|
uses: PyO3/maturin-action@v1
|
|
30
30
|
with:
|
|
31
|
-
args: --release --target universal2-apple-darwin --out dist -i 3.10 3.11 3.12 3.13 3.14 pypy3.
|
|
31
|
+
args: --release --target universal2-apple-darwin --out dist -i 3.10 3.11 3.12 3.13 3.14 pypy3.11
|
|
32
32
|
- name: Test built wheel - universal2
|
|
33
33
|
run: |
|
|
34
34
|
pip install pytest pytest-mypy-testing "pydantic>=2.5.2,<3" "anyio>=4.4.0,<5" "trio>=0.25.1,<0.32" "exceptiongroup; python_version<'3.11'"
|
|
@@ -98,7 +98,7 @@ jobs:
|
|
|
98
98
|
rust-toolchain: stable
|
|
99
99
|
target: ${{ matrix.target }}
|
|
100
100
|
manylinux: auto
|
|
101
|
-
args: --release --out dist -i 3.10 3.11 3.12 3.13 3.14 pypy3.
|
|
101
|
+
args: --release --out dist -i 3.10 3.11 3.12 3.13 3.14 pypy3.11
|
|
102
102
|
- name: Test built wheel
|
|
103
103
|
if: matrix.target == 'x86_64'
|
|
104
104
|
run: |
|
|
@@ -127,7 +127,7 @@ jobs:
|
|
|
127
127
|
rust-toolchain: stable
|
|
128
128
|
target: ${{ matrix.target }}
|
|
129
129
|
manylinux: auto
|
|
130
|
-
args: --release --out dist -i 3.10 3.11 3.12 3.13 3.14 pypy3.
|
|
130
|
+
args: --release --out dist -i 3.10 3.11 3.12 3.13 3.14 pypy3.11
|
|
131
131
|
|
|
132
132
|
- uses: uraimo/run-on-arch-action@v2.8.1
|
|
133
133
|
name: Test built wheel
|
|
@@ -26,7 +26,6 @@ jobs:
|
|
|
26
26
|
- '3.12'
|
|
27
27
|
- '3.13'
|
|
28
28
|
- '3.14'
|
|
29
|
-
- 'pypy3.10'
|
|
30
29
|
- 'pypy3.11'
|
|
31
30
|
|
|
32
31
|
runs-on: ${{ matrix.os }}-latest
|
|
@@ -61,11 +60,11 @@ jobs:
|
|
|
61
60
|
run: mypy python
|
|
62
61
|
|
|
63
62
|
- name: Run tests
|
|
64
|
-
if: ${{ !((matrix.python-version == '3.
|
|
63
|
+
if: ${{ !((matrix.python-version == '3.14') && (matrix.os == 'ubuntu')) }}
|
|
65
64
|
run: pytest --color=yes -v tests
|
|
66
65
|
|
|
67
66
|
- name: Run code coverage
|
|
68
|
-
if: ${{ (matrix.python-version == '3.
|
|
67
|
+
if: ${{ (matrix.python-version == '3.14') && (matrix.os == 'ubuntu') }}
|
|
69
68
|
run: |
|
|
70
69
|
coverage run -m pytest tests
|
|
71
70
|
coverage report --show-missing --fail-under=100
|
|
@@ -38,9 +38,9 @@ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
|
|
|
38
38
|
|
|
39
39
|
[[package]]
|
|
40
40
|
name = "bitflags"
|
|
41
|
-
version = "2.
|
|
41
|
+
version = "2.10.0"
|
|
42
42
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
43
|
-
checksum = "
|
|
43
|
+
checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3"
|
|
44
44
|
|
|
45
45
|
[[package]]
|
|
46
46
|
name = "bumpalo"
|
|
@@ -50,9 +50,9 @@ checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43"
|
|
|
50
50
|
|
|
51
51
|
[[package]]
|
|
52
52
|
name = "cfg-if"
|
|
53
|
-
version = "1.0.
|
|
53
|
+
version = "1.0.4"
|
|
54
54
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
55
|
-
checksum = "
|
|
55
|
+
checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
|
|
56
56
|
|
|
57
57
|
[[package]]
|
|
58
58
|
name = "concurrent-queue"
|
|
@@ -162,9 +162,9 @@ dependencies = [
|
|
|
162
162
|
|
|
163
163
|
[[package]]
|
|
164
164
|
name = "libc"
|
|
165
|
-
version = "0.2.
|
|
165
|
+
version = "0.2.177"
|
|
166
166
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
167
|
-
checksum = "
|
|
167
|
+
checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976"
|
|
168
168
|
|
|
169
169
|
[[package]]
|
|
170
170
|
name = "lock_api"
|
|
@@ -244,7 +244,7 @@ dependencies = [
|
|
|
244
244
|
|
|
245
245
|
[[package]]
|
|
246
246
|
name = "pycrdt"
|
|
247
|
-
version = "0.12.
|
|
247
|
+
version = "0.12.41"
|
|
248
248
|
dependencies = [
|
|
249
249
|
"pyo3",
|
|
250
250
|
"serde_json",
|
|
@@ -253,9 +253,9 @@ dependencies = [
|
|
|
253
253
|
|
|
254
254
|
[[package]]
|
|
255
255
|
name = "pyo3"
|
|
256
|
-
version = "0.
|
|
256
|
+
version = "0.27.0"
|
|
257
257
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
258
|
-
checksum = "
|
|
258
|
+
checksum = "fa8e48c12afdeb26aa4be4e5c49fb5e11c3efa0878db783a960eea2b9ac6dd19"
|
|
259
259
|
dependencies = [
|
|
260
260
|
"indoc",
|
|
261
261
|
"libc",
|
|
@@ -270,18 +270,18 @@ dependencies = [
|
|
|
270
270
|
|
|
271
271
|
[[package]]
|
|
272
272
|
name = "pyo3-build-config"
|
|
273
|
-
version = "0.
|
|
273
|
+
version = "0.27.0"
|
|
274
274
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
275
|
-
checksum = "
|
|
275
|
+
checksum = "bc1989dbf2b60852e0782c7487ebf0b4c7f43161ffe820849b56cf05f945cee1"
|
|
276
276
|
dependencies = [
|
|
277
277
|
"target-lexicon",
|
|
278
278
|
]
|
|
279
279
|
|
|
280
280
|
[[package]]
|
|
281
281
|
name = "pyo3-ffi"
|
|
282
|
-
version = "0.
|
|
282
|
+
version = "0.27.0"
|
|
283
283
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
284
|
-
checksum = "
|
|
284
|
+
checksum = "c808286da7500385148930152e54fb6883452033085bf1f857d85d4e82ca905c"
|
|
285
285
|
dependencies = [
|
|
286
286
|
"libc",
|
|
287
287
|
"pyo3-build-config",
|
|
@@ -289,9 +289,9 @@ dependencies = [
|
|
|
289
289
|
|
|
290
290
|
[[package]]
|
|
291
291
|
name = "pyo3-macros"
|
|
292
|
-
version = "0.
|
|
292
|
+
version = "0.27.0"
|
|
293
293
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
294
|
-
checksum = "
|
|
294
|
+
checksum = "83a0543c16be0d86cf0dbf2e2b636ece9fd38f20406bb43c255e0bc368095f92"
|
|
295
295
|
dependencies = [
|
|
296
296
|
"proc-macro2",
|
|
297
297
|
"pyo3-macros-backend",
|
|
@@ -301,9 +301,9 @@ dependencies = [
|
|
|
301
301
|
|
|
302
302
|
[[package]]
|
|
303
303
|
name = "pyo3-macros-backend"
|
|
304
|
-
version = "0.
|
|
304
|
+
version = "0.27.0"
|
|
305
305
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
306
|
-
checksum = "
|
|
306
|
+
checksum = "2a00da2ce064dcd582448ea24a5a26fa9527e0483103019b741ebcbe632dcd29"
|
|
307
307
|
dependencies = [
|
|
308
308
|
"heck",
|
|
309
309
|
"proc-macro2",
|
|
@@ -408,9 +408,9 @@ checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
|
|
|
408
408
|
|
|
409
409
|
[[package]]
|
|
410
410
|
name = "syn"
|
|
411
|
-
version = "2.0.
|
|
411
|
+
version = "2.0.107"
|
|
412
412
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
413
|
-
checksum = "
|
|
413
|
+
checksum = "2a26dbd934e5451d21ef060c018dae56fc073894c5a7896f882928a76e6d081b"
|
|
414
414
|
dependencies = [
|
|
415
415
|
"proc-macro2",
|
|
416
416
|
"quote",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pycrdt
|
|
3
|
-
Version: 0.12.
|
|
3
|
+
Version: 0.12.41
|
|
4
4
|
Classifier: Development Status :: 4 - Beta
|
|
5
5
|
Classifier: Intended Audience :: Developers
|
|
6
6
|
Classifier: License :: OSI Approved :: MIT License
|
|
@@ -9,6 +9,7 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
9
9
|
Classifier: Programming Language :: Python :: 3.11
|
|
10
10
|
Classifier: Programming Language :: Python :: 3.12
|
|
11
11
|
Classifier: Programming Language :: Python :: 3.13
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
12
13
|
Classifier: Programming Language :: Rust
|
|
13
14
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
14
15
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
@@ -24,6 +24,7 @@ classifiers = [
|
|
|
24
24
|
"Programming Language :: Python :: 3.11",
|
|
25
25
|
"Programming Language :: Python :: 3.12",
|
|
26
26
|
"Programming Language :: Python :: 3.13",
|
|
27
|
+
"Programming Language :: Python :: 3.14",
|
|
27
28
|
"Programming Language :: Rust",
|
|
28
29
|
"Programming Language :: Python :: Implementation :: CPython",
|
|
29
30
|
"Programming Language :: Python :: Implementation :: PyPy",
|
|
@@ -71,14 +71,14 @@ impl Doc {
|
|
|
71
71
|
fn new(client_id: &Bound<'_, PyAny>, skip_gc: &Bound<'_, PyAny>) -> PyResult<Self> {
|
|
72
72
|
let mut options = Options::default();
|
|
73
73
|
if !client_id.is_none() {
|
|
74
|
-
let _client_id: u64 = client_id.
|
|
74
|
+
let _client_id: u64 = client_id.cast::<PyInt>()
|
|
75
75
|
.map_err(|_| PyValueError::new_err("client_id must be an integer"))?
|
|
76
76
|
.extract()
|
|
77
77
|
.map_err(|_| PyValueError::new_err("client_id must be a valid u64"))?;
|
|
78
78
|
options.client_id = _client_id;
|
|
79
79
|
}
|
|
80
80
|
if !skip_gc.is_none() {
|
|
81
|
-
let _skip_gc: bool = skip_gc.
|
|
81
|
+
let _skip_gc: bool = skip_gc.cast::<PyBool>()
|
|
82
82
|
.map_err(|_| PyValueError::new_err("skip_gc must be a boolean"))?
|
|
83
83
|
.extract()
|
|
84
84
|
.map_err(|_| PyValueError::new_err("skip_gc must be a valid bool"))?;
|
|
@@ -236,17 +236,17 @@ pub fn py_to_any<'py>(value: &Bound<'py, PyAny>) -> Any {
|
|
|
236
236
|
} else if value.is_instance_of::<PyFloat>() {
|
|
237
237
|
let v: f64 = value.extract().unwrap();
|
|
238
238
|
Any::Number(v)
|
|
239
|
-
} else if let Ok(v) = value.
|
|
239
|
+
} else if let Ok(v) = value.cast::<PyList>() {
|
|
240
240
|
let mut items = Vec::new();
|
|
241
241
|
for i in v.iter() {
|
|
242
242
|
let a = py_to_any(&i);
|
|
243
243
|
items.push(a);
|
|
244
244
|
}
|
|
245
245
|
Any::Array(items.into())
|
|
246
|
-
} else if let Ok(val) = value.
|
|
246
|
+
} else if let Ok(val) = value.cast::<PyDict>() {
|
|
247
247
|
let mut items: HashMap<String, Any> = HashMap::new();
|
|
248
248
|
for (k, v) in val.iter() {
|
|
249
|
-
let k = k.
|
|
249
|
+
let k = k.cast::<PyString>().unwrap().to_str().unwrap().to_string();
|
|
250
250
|
let v = py_to_any(&v);
|
|
251
251
|
items.insert(k, v);
|
|
252
252
|
}
|
|
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
|
|
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
|