git: 5b36b96af627 - main - devel/py-loro: Add new port
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 28 Jun 2026 21:05:22 UTC
The branch main has been updated by makc:
URL: https://cgit.FreeBSD.org/ports/commit/?id=5b36b96af6272ede6a5a8385e36b105b36099765
commit 5b36b96af6272ede6a5a8385e36b105b36099765
Author: Max Brazhnikov <makc@FreeBSD.org>
AuthorDate: 2026-06-28 21:04:43 +0000
Commit: Max Brazhnikov <makc@FreeBSD.org>
CommitDate: 2026-06-28 21:04:43 +0000
devel/py-loro: Add new port
Python bindings for Loro CRDT (Conflict-free Replicated Data Types).
WWW: https://loro.dev
---
devel/Makefile | 1 +
devel/py-loro/Makefile | 25 +++
devel/py-loro/Makefile.crates | 179 +++++++++++++++++++++
devel/py-loro/distinfo | 361 ++++++++++++++++++++++++++++++++++++++++++
devel/py-loro/pkg-descr | 3 +
5 files changed, 569 insertions(+)
diff --git a/devel/Makefile b/devel/Makefile
index 6c9489314ff8..6f652d97b99a 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -5351,6 +5351,7 @@
SUBDIR += py-logutils
SUBDIR += py-logzero
SUBDIR += py-looseversion
+ SUBDIR += py-loro
SUBDIR += py-louie
SUBDIR += py-lru-dict
SUBDIR += py-lsprotocol
diff --git a/devel/py-loro/Makefile b/devel/py-loro/Makefile
new file mode 100644
index 000000000000..57dd567a7cb2
--- /dev/null
+++ b/devel/py-loro/Makefile
@@ -0,0 +1,25 @@
+PORTNAME= loro
+PORTVERSION= 1.13.1
+DISTVERSIONPREFIX= v
+CATEGORIES= devel python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= makc@FreeBSD.org
+COMMENT= Python bindings for Loro CRDT
+WWW= https://loro.dev
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}maturin>=1.8<2.0:devel/py-maturin@${PY_FLAVOR}
+
+USES= cargo python
+USE_PYTHON= autoplist pep517
+
+USE_GITHUB= yes
+GH_ACCOUNT= loro-dev
+GH_PROJECT= loro-py
+
+CARGO_BUILD= no
+CARGO_INSTALL= no
+CARGO_TARGET_DIR= ${WRKSRC}/target
+
+.include <bsd.port.mk>
diff --git a/devel/py-loro/Makefile.crates b/devel/py-loro/Makefile.crates
new file mode 100644
index 000000000000..6eae6af9f3cb
--- /dev/null
+++ b/devel/py-loro/Makefile.crates
@@ -0,0 +1,179 @@
+CARGO_CRATES= ahash-0.8.11 \
+ aho-corasick-1.1.3 \
+ append-only-bytes-0.1.12 \
+ arbitrary-1.4.1 \
+ arrayvec-0.7.6 \
+ arref-0.1.0 \
+ atomic-polyfill-1.0.3 \
+ autocfg-1.4.0 \
+ bitflags-2.6.0 \
+ bitmaps-2.1.0 \
+ block-buffer-0.10.4 \
+ bumpalo-3.17.0 \
+ byteorder-1.5.0 \
+ bytes-1.9.0 \
+ cfg-if-1.0.0 \
+ cobs-0.2.3 \
+ cpufeatures-0.2.17 \
+ critical-section-1.2.0 \
+ crypto-common-0.1.7 \
+ darling-0.20.10 \
+ darling_core-0.20.10 \
+ darling_macro-0.20.10 \
+ derive_arbitrary-1.4.1 \
+ diff-0.1.13 \
+ digest-0.10.7 \
+ either-1.13.0 \
+ embedded-io-0.4.0 \
+ embedded-io-0.6.1 \
+ ensure-cov-0.1.0 \
+ enum-as-inner-0.5.1 \
+ enum-as-inner-0.6.1 \
+ enum_dispatch-0.3.13 \
+ equivalent-1.0.1 \
+ fnv-1.0.7 \
+ generator-0.8.4 \
+ generic-array-0.14.7 \
+ generic-btree-0.10.7 \
+ getrandom-0.2.15 \
+ hash32-0.2.1 \
+ hash32-0.3.1 \
+ hashbrown-0.14.5 \
+ heapless-0.7.17 \
+ heapless-0.8.0 \
+ heapless-0.9.2 \
+ heck-0.4.1 \
+ heck-0.5.0 \
+ ident_case-1.0.1 \
+ im-15.1.0 \
+ indoc-2.0.5 \
+ itertools-0.11.0 \
+ itertools-0.12.1 \
+ itoa-1.0.14 \
+ js-sys-0.3.77 \
+ lazy_static-1.5.0 \
+ leb128-0.2.5 \
+ libc-0.2.169 \
+ lock_api-0.4.14 \
+ log-0.4.27 \
+ loom-0.7.2 \
+ loro-1.13.1 \
+ loro-common-1.13.1 \
+ loro-delta-1.13.0 \
+ loro-internal-1.13.1 \
+ loro-kv-store-1.13.1 \
+ loro-rle-1.6.0 \
+ loro-thunderdome-0.6.2 \
+ loro_fractional_index-1.13.0 \
+ lz4_flex-0.11.3 \
+ matchers-0.1.0 \
+ md5-0.7.0 \
+ memchr-2.7.4 \
+ memoffset-0.9.1 \
+ nonmax-0.5.5 \
+ nu-ansi-term-0.46.0 \
+ num-0.4.3 \
+ num-bigint-0.4.6 \
+ num-complex-0.4.6 \
+ num-integer-0.1.46 \
+ num-iter-0.1.45 \
+ num-rational-0.4.2 \
+ num-traits-0.2.19 \
+ once_cell-1.21.3 \
+ overload-0.1.1 \
+ parking_lot-0.12.5 \
+ parking_lot_core-0.9.12 \
+ pest-2.8.4 \
+ pest_derive-2.8.4 \
+ pest_generator-2.8.4 \
+ pest_meta-2.8.4 \
+ pin-project-lite-0.2.15 \
+ portable-atomic-1.10.0 \
+ postcard-1.1.1 \
+ ppv-lite86-0.2.20 \
+ pretty_assertions-1.4.1 \
+ proc-macro2-1.0.92 \
+ pyo3-0.26.0 \
+ pyo3-build-config-0.26.0 \
+ pyo3-ffi-0.26.0 \
+ pyo3-macros-0.26.0 \
+ pyo3-macros-backend-0.26.0 \
+ quick_cache-0.6.9 \
+ quote-1.0.38 \
+ rand-0.8.5 \
+ rand_chacha-0.3.1 \
+ rand_core-0.6.4 \
+ rand_xoshiro-0.6.0 \
+ redox_syscall-0.5.8 \
+ regex-1.11.1 \
+ regex-automata-0.1.10 \
+ regex-automata-0.4.9 \
+ regex-syntax-0.6.29 \
+ regex-syntax-0.8.5 \
+ rustc-hash-2.1.1 \
+ rustc_version-0.4.1 \
+ rustversion-1.0.20 \
+ ryu-1.0.18 \
+ scoped-tls-1.0.1 \
+ scopeguard-1.2.0 \
+ semver-1.0.24 \
+ serde-1.0.217 \
+ serde_columnar-0.3.14 \
+ serde_columnar_derive-0.3.7 \
+ serde_derive-1.0.217 \
+ serde_json-1.0.134 \
+ sha2-0.10.9 \
+ sharded-slab-0.1.7 \
+ sized-chunks-0.6.5 \
+ smallvec-1.13.2 \
+ spin-0.9.8 \
+ stable_deref_trait-1.2.0 \
+ static_assertions-1.1.0 \
+ strsim-0.11.1 \
+ syn-1.0.109 \
+ syn-2.0.93 \
+ target-lexicon-0.13.2 \
+ thiserror-1.0.69 \
+ thiserror-impl-1.0.69 \
+ thread_local-1.1.8 \
+ tracing-0.1.41 \
+ tracing-attributes-0.1.28 \
+ tracing-core-0.1.33 \
+ tracing-log-0.2.0 \
+ tracing-subscriber-0.3.19 \
+ twox-hash-1.6.3 \
+ typenum-1.17.0 \
+ ucd-trie-0.1.7 \
+ unicode-ident-1.0.14 \
+ unindent-0.2.3 \
+ valuable-0.1.1 \
+ version_check-0.9.5 \
+ wasi-0.11.0+wasi-snapshot-preview1 \
+ wasm-bindgen-0.2.100 \
+ wasm-bindgen-backend-0.2.100 \
+ wasm-bindgen-macro-0.2.100 \
+ wasm-bindgen-macro-support-0.2.100 \
+ wasm-bindgen-shared-0.2.100 \
+ winapi-0.3.9 \
+ winapi-i686-pc-windows-gnu-0.4.0 \
+ winapi-x86_64-pc-windows-gnu-0.4.0 \
+ windows-0.58.0 \
+ windows-core-0.58.0 \
+ windows-implement-0.58.0 \
+ windows-interface-0.58.0 \
+ windows-link-0.2.1 \
+ windows-result-0.2.0 \
+ windows-strings-0.1.0 \
+ windows-targets-0.52.6 \
+ windows_aarch64_gnullvm-0.52.6 \
+ windows_aarch64_msvc-0.52.6 \
+ windows_i686_gnu-0.52.6 \
+ windows_i686_gnullvm-0.52.6 \
+ windows_i686_msvc-0.52.6 \
+ windows_x86_64_gnu-0.52.6 \
+ windows_x86_64_gnullvm-0.52.6 \
+ windows_x86_64_msvc-0.52.6 \
+ xxhash-rust-0.8.15 \
+ yansi-1.0.1 \
+ zerocopy-0.7.35 \
+ zerocopy-derive-0.7.35
diff --git a/devel/py-loro/distinfo b/devel/py-loro/distinfo
new file mode 100644
index 000000000000..98d87e648417
--- /dev/null
+++ b/devel/py-loro/distinfo
@@ -0,0 +1,361 @@
+TIMESTAMP = 1782678802
+SHA256 (rust/crates/ahash-0.8.11.crate) = e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011
+SIZE (rust/crates/ahash-0.8.11.crate) = 43607
+SHA256 (rust/crates/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916
+SIZE (rust/crates/aho-corasick-1.1.3.crate) = 183311
+SHA256 (rust/crates/append-only-bytes-0.1.12.crate) = ac436601d6bdde674a0d7fb593e829ffe7b3387c351b356dd20e2d40f5bf3ee5
+SIZE (rust/crates/append-only-bytes-0.1.12.crate) = 5184
+SHA256 (rust/crates/arbitrary-1.4.1.crate) = dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223
+SIZE (rust/crates/arbitrary-1.4.1.crate) = 36816
+SHA256 (rust/crates/arrayvec-0.7.6.crate) = 7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50
+SIZE (rust/crates/arrayvec-0.7.6.crate) = 31237
+SHA256 (rust/crates/arref-0.1.0.crate) = 2ccd462b64c3c72f1be8305905a85d85403d768e8690c9b8bd3b9009a5761679
+SIZE (rust/crates/arref-0.1.0.crate) = 2081
+SHA256 (rust/crates/atomic-polyfill-1.0.3.crate) = 8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4
+SIZE (rust/crates/atomic-polyfill-1.0.3.crate) = 11581
+SHA256 (rust/crates/autocfg-1.4.0.crate) = ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26
+SIZE (rust/crates/autocfg-1.4.0.crate) = 17712
+SHA256 (rust/crates/bitflags-2.6.0.crate) = b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de
+SIZE (rust/crates/bitflags-2.6.0.crate) = 45357
+SHA256 (rust/crates/bitmaps-2.1.0.crate) = 031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2
+SIZE (rust/crates/bitmaps-2.1.0.crate) = 16717
+SHA256 (rust/crates/block-buffer-0.10.4.crate) = 3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71
+SIZE (rust/crates/block-buffer-0.10.4.crate) = 10538
+SHA256 (rust/crates/bumpalo-3.17.0.crate) = 1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf
+SIZE (rust/crates/bumpalo-3.17.0.crate) = 91975
+SHA256 (rust/crates/byteorder-1.5.0.crate) = 1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b
+SIZE (rust/crates/byteorder-1.5.0.crate) = 23288
+SHA256 (rust/crates/bytes-1.9.0.crate) = 325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b
+SIZE (rust/crates/bytes-1.9.0.crate) = 67320
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/cobs-0.2.3.crate) = 67ba02a97a2bd10f4b59b25c7973101c79642302776489e030cd13cdab09ed15
+SIZE (rust/crates/cobs-0.2.3.crate) = 12576
+SHA256 (rust/crates/cpufeatures-0.2.17.crate) = 59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280
+SIZE (rust/crates/cpufeatures-0.2.17.crate) = 13466
+SHA256 (rust/crates/critical-section-1.2.0.crate) = 790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b
+SIZE (rust/crates/critical-section-1.2.0.crate) = 19133
+SHA256 (rust/crates/crypto-common-0.1.7.crate) = 78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a
+SIZE (rust/crates/crypto-common-0.1.7.crate) = 9619
+SHA256 (rust/crates/darling-0.20.10.crate) = 6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989
+SIZE (rust/crates/darling-0.20.10.crate) = 32031
+SHA256 (rust/crates/darling_core-0.20.10.crate) = 95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5
+SIZE (rust/crates/darling_core-0.20.10.crate) = 65015
+SHA256 (rust/crates/darling_macro-0.20.10.crate) = d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806
+SIZE (rust/crates/darling_macro-0.20.10.crate) = 1874
+SHA256 (rust/crates/derive_arbitrary-1.4.1.crate) = 30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800
+SIZE (rust/crates/derive_arbitrary-1.4.1.crate) = 11521
+SHA256 (rust/crates/diff-0.1.13.crate) = 56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8
+SIZE (rust/crates/diff-0.1.13.crate) = 46216
+SHA256 (rust/crates/digest-0.10.7.crate) = 9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292
+SIZE (rust/crates/digest-0.10.7.crate) = 19557
+SHA256 (rust/crates/either-1.13.0.crate) = 60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0
+SIZE (rust/crates/either-1.13.0.crate) = 19169
+SHA256 (rust/crates/embedded-io-0.4.0.crate) = ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced
+SIZE (rust/crates/embedded-io-0.4.0.crate) = 12901
+SHA256 (rust/crates/embedded-io-0.6.1.crate) = edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d
+SIZE (rust/crates/embedded-io-0.6.1.crate) = 13133
+SHA256 (rust/crates/ensure-cov-0.1.0.crate) = 33753185802e107b8fa907192af1f0eca13b1fb33327a59266d650fef29b2b4e
+SIZE (rust/crates/ensure-cov-0.1.0.crate) = 6562
+SHA256 (rust/crates/enum-as-inner-0.5.1.crate) = c9720bba047d567ffc8a3cba48bf19126600e249ab7f128e9233e6376976a116
+SIZE (rust/crates/enum-as-inner-0.5.1.crate) = 11707
+SHA256 (rust/crates/enum-as-inner-0.6.1.crate) = a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc
+SIZE (rust/crates/enum-as-inner-0.6.1.crate) = 12190
+SHA256 (rust/crates/enum_dispatch-0.3.13.crate) = aa18ce2bc66555b3218614519ac839ddb759a7d6720732f979ef8d13be147ecd
+SIZE (rust/crates/enum_dispatch-0.3.13.crate) = 29876
+SHA256 (rust/crates/equivalent-1.0.1.crate) = 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5
+SIZE (rust/crates/equivalent-1.0.1.crate) = 6615
+SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1
+SIZE (rust/crates/fnv-1.0.7.crate) = 11266
+SHA256 (rust/crates/generator-0.8.4.crate) = cc6bd114ceda131d3b1d665eba35788690ad37f5916457286b32ab6fd3c438dd
+SIZE (rust/crates/generator-0.8.4.crate) = 34400
+SHA256 (rust/crates/generic-array-0.14.7.crate) = 85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a
+SIZE (rust/crates/generic-array-0.14.7.crate) = 15950
+SHA256 (rust/crates/generic-btree-0.10.7.crate) = a0c1bce85c110ab718fd139e0cc89c51b63bd647b14a767e24bdfc77c83df79b
+SIZE (rust/crates/generic-btree-0.10.7.crate) = 46395
+SHA256 (rust/crates/getrandom-0.2.15.crate) = c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7
+SIZE (rust/crates/getrandom-0.2.15.crate) = 37163
+SHA256 (rust/crates/hash32-0.2.1.crate) = b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67
+SIZE (rust/crates/hash32-0.2.1.crate) = 11168
+SHA256 (rust/crates/hash32-0.3.1.crate) = 47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606
+SIZE (rust/crates/hash32-0.3.1.crate) = 10273
+SHA256 (rust/crates/hashbrown-0.14.5.crate) = e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1
+SIZE (rust/crates/hashbrown-0.14.5.crate) = 141498
+SHA256 (rust/crates/heapless-0.7.17.crate) = cdc6457c0eb62c71aac4bc17216026d8410337c4126773b9c5daba343f17964f
+SIZE (rust/crates/heapless-0.7.17.crate) = 75767
+SHA256 (rust/crates/heapless-0.8.0.crate) = 0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad
+SIZE (rust/crates/heapless-0.8.0.crate) = 77802
+SHA256 (rust/crates/heapless-0.9.2.crate) = 2af2455f757db2b292a9b1768c4b70186d443bcb3b316252d6b540aec1cd89ed
+SIZE (rust/crates/heapless-0.9.2.crate) = 128098
+SHA256 (rust/crates/heck-0.4.1.crate) = 95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8
+SIZE (rust/crates/heck-0.4.1.crate) = 11567
+SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea
+SIZE (rust/crates/heck-0.5.0.crate) = 11517
+SHA256 (rust/crates/ident_case-1.0.1.crate) = b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39
+SIZE (rust/crates/ident_case-1.0.1.crate) = 3492
+SHA256 (rust/crates/im-15.1.0.crate) = d0acd33ff0285af998aaf9b57342af478078f53492322fafc47450e09397e0e9
+SIZE (rust/crates/im-15.1.0.crate) = 117169
+SHA256 (rust/crates/indoc-2.0.5.crate) = b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5
+SIZE (rust/crates/indoc-2.0.5.crate) = 14396
+SHA256 (rust/crates/itertools-0.11.0.crate) = b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57
+SIZE (rust/crates/itertools-0.11.0.crate) = 125074
+SHA256 (rust/crates/itertools-0.12.1.crate) = ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569
+SIZE (rust/crates/itertools-0.12.1.crate) = 137761
+SHA256 (rust/crates/itoa-1.0.14.crate) = d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674
+SIZE (rust/crates/itoa-1.0.14.crate) = 11210
+SHA256 (rust/crates/js-sys-0.3.77.crate) = 1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f
+SIZE (rust/crates/js-sys-0.3.77.crate) = 55538
+SHA256 (rust/crates/lazy_static-1.5.0.crate) = bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe
+SIZE (rust/crates/lazy_static-1.5.0.crate) = 14025
+SHA256 (rust/crates/leb128-0.2.5.crate) = 884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67
+SIZE (rust/crates/leb128-0.2.5.crate) = 11843
+SHA256 (rust/crates/libc-0.2.169.crate) = b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a
+SIZE (rust/crates/libc-0.2.169.crate) = 757901
+SHA256 (rust/crates/lock_api-0.4.14.crate) = 224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965
+SIZE (rust/crates/lock_api-0.4.14.crate) = 29249
+SHA256 (rust/crates/log-0.4.27.crate) = 13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94
+SIZE (rust/crates/log-0.4.27.crate) = 48120
+SHA256 (rust/crates/loom-0.7.2.crate) = 419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca
+SIZE (rust/crates/loom-0.7.2.crate) = 73989
+SHA256 (rust/crates/loro-1.13.1.crate) = 7bd1b63cd2f0cf66acbbb3191c41feaff03c94c3f6c6bb1e61d2ab3062c301c7
+SIZE (rust/crates/loro-1.13.1.crate) = 204365
+SHA256 (rust/crates/loro-common-1.13.1.crate) = b51042936156a1d537df8a38938ec8ed24b45de14530af933c1d02de39c9e056
+SIZE (rust/crates/loro-common-1.13.1.crate) = 34715
+SHA256 (rust/crates/loro-delta-1.13.0.crate) = 96f381e7fb5d4bf5605b4f4a9241f3adf61403ded978d757552004c8302cccbb
+SIZE (rust/crates/loro-delta-1.13.0.crate) = 26533
+SHA256 (rust/crates/loro-internal-1.13.1.crate) = 252a84196402ac55a7dd064af87a747a430fc176ec744d5bb99f4ed92e639fa8
+SIZE (rust/crates/loro-internal-1.13.1.crate) = 1328934
+SHA256 (rust/crates/loro-kv-store-1.13.1.crate) = 950cc8bcc64dcff536e949fbc56ccc3d0759646fa441c7f76b3cd7c3eafa2096
+SIZE (rust/crates/loro-kv-store-1.13.1.crate) = 28298
+SHA256 (rust/crates/loro-rle-1.6.0.crate) = 76400c3eea6bb39b013406acce964a8db39311534e308286c8d8721baba8ee20
+SIZE (rust/crates/loro-rle-1.6.0.crate) = 11464
+SHA256 (rust/crates/loro-thunderdome-0.6.2.crate) = 3f3d053a135388e6b1df14e8af1212af5064746e9b87a06a345a7a779ee9695a
+SIZE (rust/crates/loro-thunderdome-0.6.2.crate) = 19560
+SHA256 (rust/crates/loro_fractional_index-1.13.0.crate) = aca7180674d0273ddf37049a5efcde4547fd5330d24abb7519bb9d9eb6780d5b
+SIZE (rust/crates/loro_fractional_index-1.13.0.crate) = 12545
+SHA256 (rust/crates/lz4_flex-0.11.3.crate) = 75761162ae2b0e580d7e7c390558127e5f01b4194debd6221fd8c207fc80e3f5
+SIZE (rust/crates/lz4_flex-0.11.3.crate) = 40633
+SHA256 (rust/crates/matchers-0.1.0.crate) = 8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558
+SIZE (rust/crates/matchers-0.1.0.crate) = 6948
+SHA256 (rust/crates/md5-0.7.0.crate) = 490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771
+SIZE (rust/crates/md5-0.7.0.crate) = 6671
+SHA256 (rust/crates/memchr-2.7.4.crate) = 78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3
+SIZE (rust/crates/memchr-2.7.4.crate) = 96670
+SHA256 (rust/crates/memoffset-0.9.1.crate) = 488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a
+SIZE (rust/crates/memoffset-0.9.1.crate) = 9032
+SHA256 (rust/crates/nonmax-0.5.5.crate) = 610a5acd306ec67f907abe5567859a3c693fb9886eb1f012ab8f2a47bef3db51
+SIZE (rust/crates/nonmax-0.5.5.crate) = 10795
+SHA256 (rust/crates/nu-ansi-term-0.46.0.crate) = 77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84
+SIZE (rust/crates/nu-ansi-term-0.46.0.crate) = 24311
+SHA256 (rust/crates/num-0.4.3.crate) = 35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23
+SIZE (rust/crates/num-0.4.3.crate) = 9575
+SHA256 (rust/crates/num-bigint-0.4.6.crate) = a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9
+SIZE (rust/crates/num-bigint-0.4.6.crate) = 102801
+SHA256 (rust/crates/num-complex-0.4.6.crate) = 73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495
+SIZE (rust/crates/num-complex-0.4.6.crate) = 30352
+SHA256 (rust/crates/num-integer-0.1.46.crate) = 7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f
+SIZE (rust/crates/num-integer-0.1.46.crate) = 22331
+SHA256 (rust/crates/num-iter-0.1.45.crate) = 1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf
+SIZE (rust/crates/num-iter-0.1.45.crate) = 10320
+SHA256 (rust/crates/num-rational-0.4.2.crate) = f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824
+SIZE (rust/crates/num-rational-0.4.2.crate) = 28159
+SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841
+SIZE (rust/crates/num-traits-0.2.19.crate) = 51631
+SHA256 (rust/crates/once_cell-1.21.3.crate) = 42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d
+SIZE (rust/crates/once_cell-1.21.3.crate) = 34534
+SHA256 (rust/crates/overload-0.1.1.crate) = b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39
+SIZE (rust/crates/overload-0.1.1.crate) = 24439
+SHA256 (rust/crates/parking_lot-0.12.5.crate) = 93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a
+SIZE (rust/crates/parking_lot-0.12.5.crate) = 46735
+SHA256 (rust/crates/parking_lot_core-0.9.12.crate) = 2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1
+SIZE (rust/crates/parking_lot_core-0.9.12.crate) = 34110
+SHA256 (rust/crates/pest-2.8.4.crate) = cbcfd20a6d4eeba40179f05735784ad32bdaef05ce8e8af05f180d45bb3e7e22
+SIZE (rust/crates/pest-2.8.4.crate) = 129758
+SHA256 (rust/crates/pest_derive-2.8.4.crate) = 51f72981ade67b1ca6adc26ec221be9f463f2b5839c7508998daa17c23d94d7f
+SIZE (rust/crates/pest_derive-2.8.4.crate) = 43466
+SHA256 (rust/crates/pest_generator-2.8.4.crate) = dee9efd8cdb50d719a80088b76f81aec7c41ed6d522ee750178f83883d271625
+SIZE (rust/crates/pest_generator-2.8.4.crate) = 18650
+SHA256 (rust/crates/pest_meta-2.8.4.crate) = bf1d70880e76bdc13ba52eafa6239ce793d85c8e43896507e43dd8984ff05b82
+SIZE (rust/crates/pest_meta-2.8.4.crate) = 42947
+SHA256 (rust/crates/pin-project-lite-0.2.15.crate) = 915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff
+SIZE (rust/crates/pin-project-lite-0.2.15.crate) = 29683
+SHA256 (rust/crates/portable-atomic-1.10.0.crate) = 280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6
+SIZE (rust/crates/portable-atomic-1.10.0.crate) = 174760
+SHA256 (rust/crates/postcard-1.1.1.crate) = 170a2601f67cc9dba8edd8c4870b15f71a6a2dc196daec8c83f72b59dff628a8
+SIZE (rust/crates/postcard-1.1.1.crate) = 35639
+SHA256 (rust/crates/ppv-lite86-0.2.20.crate) = 77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04
+SIZE (rust/crates/ppv-lite86-0.2.20.crate) = 22478
+SHA256 (rust/crates/pretty_assertions-1.4.1.crate) = 3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d
+SIZE (rust/crates/pretty_assertions-1.4.1.crate) = 78952
+SHA256 (rust/crates/proc-macro2-1.0.92.crate) = 37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0
+SIZE (rust/crates/proc-macro2-1.0.92.crate) = 52353
+SHA256 (rust/crates/pyo3-0.26.0.crate) = 7ba0117f4212101ee6544044dae45abe1083d30ce7b29c4b5cbdfa2354e07383
+SIZE (rust/crates/pyo3-0.26.0.crate) = 1151579
+SHA256 (rust/crates/pyo3-build-config-0.26.0.crate) = 4fc6ddaf24947d12a9aa31ac65431fb1b851b8f4365426e182901eabfb87df5f
+SIZE (rust/crates/pyo3-build-config-0.26.0.crate) = 34309
+SHA256 (rust/crates/pyo3-ffi-0.26.0.crate) = 025474d3928738efb38ac36d4744a74a400c901c7596199e20e45d98eb194105
+SIZE (rust/crates/pyo3-ffi-0.26.0.crate) = 78247
+SHA256 (rust/crates/pyo3-macros-0.26.0.crate) = 2e64eb489f22fe1c95911b77c44cc41e7c19f3082fc81cce90f657cdc42ffded
+SIZE (rust/crates/pyo3-macros-0.26.0.crate) = 8906
+SHA256 (rust/crates/pyo3-macros-backend-0.26.0.crate) = 100246c0ecf400b475341b8455a9213344569af29a3c841d29270e53102e0fcf
+SIZE (rust/crates/pyo3-macros-backend-0.26.0.crate) = 81809
+SHA256 (rust/crates/quick_cache-0.6.9.crate) = 7d7c94f8935a9df96bb6380e8592c70edf497a643f94bd23b2f76b399385dbf4
+SIZE (rust/crates/quick_cache-0.6.9.crate) = 41207
+SHA256 (rust/crates/quote-1.0.38.crate) = 0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc
+SIZE (rust/crates/quote-1.0.38.crate) = 31252
+SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404
+SIZE (rust/crates/rand-0.8.5.crate) = 87113
+SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88
+SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251
+SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c
+SIZE (rust/crates/rand_core-0.6.4.crate) = 22666
+SHA256 (rust/crates/rand_xoshiro-0.6.0.crate) = 6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa
+SIZE (rust/crates/rand_xoshiro-0.6.0.crate) = 17125
+SHA256 (rust/crates/redox_syscall-0.5.8.crate) = 03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834
+SIZE (rust/crates/redox_syscall-0.5.8.crate) = 26319
+SHA256 (rust/crates/regex-1.11.1.crate) = b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191
+SIZE (rust/crates/regex-1.11.1.crate) = 254170
+SHA256 (rust/crates/regex-automata-0.1.10.crate) = 6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132
+SIZE (rust/crates/regex-automata-0.1.10.crate) = 114533
+SHA256 (rust/crates/regex-automata-0.4.9.crate) = 809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908
+SIZE (rust/crates/regex-automata-0.4.9.crate) = 618525
+SHA256 (rust/crates/regex-syntax-0.6.29.crate) = f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1
+SIZE (rust/crates/regex-syntax-0.6.29.crate) = 299752
+SHA256 (rust/crates/regex-syntax-0.8.5.crate) = 2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c
+SIZE (rust/crates/regex-syntax-0.8.5.crate) = 357541
+SHA256 (rust/crates/rustc-hash-2.1.1.crate) = 357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d
+SIZE (rust/crates/rustc-hash-2.1.1.crate) = 14154
+SHA256 (rust/crates/rustc_version-0.4.1.crate) = cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92
+SIZE (rust/crates/rustc_version-0.4.1.crate) = 12245
+SHA256 (rust/crates/rustversion-1.0.20.crate) = eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2
+SIZE (rust/crates/rustversion-1.0.20.crate) = 20666
+SHA256 (rust/crates/ryu-1.0.18.crate) = f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f
+SIZE (rust/crates/ryu-1.0.18.crate) = 47713
+SHA256 (rust/crates/scoped-tls-1.0.1.crate) = e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294
+SIZE (rust/crates/scoped-tls-1.0.1.crate) = 8202
+SHA256 (rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49
+SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619
+SHA256 (rust/crates/semver-1.0.24.crate) = 3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba
+SIZE (rust/crates/semver-1.0.24.crate) = 31267
+SHA256 (rust/crates/serde-1.0.217.crate) = 02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70
+SIZE (rust/crates/serde-1.0.217.crate) = 79019
+SHA256 (rust/crates/serde_columnar-0.3.14.crate) = 2a16e404f17b16d0273460350e29b02d76ba0d70f34afdc9a4fa034c97d6c6eb
+SIZE (rust/crates/serde_columnar-0.3.14.crate) = 29955
+SHA256 (rust/crates/serde_columnar_derive-0.3.7.crate) = 45958fce4903f67e871fbf15ac78e289269b21ebd357d6fecacdba233629112e
+SIZE (rust/crates/serde_columnar_derive-0.3.7.crate) = 19311
+SHA256 (rust/crates/serde_derive-1.0.217.crate) = 5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0
+SIZE (rust/crates/serde_derive-1.0.217.crate) = 57749
+SHA256 (rust/crates/serde_json-1.0.134.crate) = d00f4175c42ee48b15416f6193a959ba3a0d67fc699a0db9ad12df9f83991c7d
+SIZE (rust/crates/serde_json-1.0.134.crate) = 154351
+SHA256 (rust/crates/sha2-0.10.9.crate) = a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283
+SIZE (rust/crates/sha2-0.10.9.crate) = 29271
+SHA256 (rust/crates/sharded-slab-0.1.7.crate) = f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6
+SIZE (rust/crates/sharded-slab-0.1.7.crate) = 58227
+SHA256 (rust/crates/sized-chunks-0.6.5.crate) = 16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e
+SIZE (rust/crates/sized-chunks-0.6.5.crate) = 43628
+SHA256 (rust/crates/smallvec-1.13.2.crate) = 3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67
+SIZE (rust/crates/smallvec-1.13.2.crate) = 35216
+SHA256 (rust/crates/spin-0.9.8.crate) = 6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67
+SIZE (rust/crates/spin-0.9.8.crate) = 38958
+SHA256 (rust/crates/stable_deref_trait-1.2.0.crate) = a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3
+SIZE (rust/crates/stable_deref_trait-1.2.0.crate) = 8054
+SHA256 (rust/crates/static_assertions-1.1.0.crate) = a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f
+SIZE (rust/crates/static_assertions-1.1.0.crate) = 18480
+SHA256 (rust/crates/strsim-0.11.1.crate) = 7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f
+SIZE (rust/crates/strsim-0.11.1.crate) = 14266
+SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237
+SIZE (rust/crates/syn-1.0.109.crate) = 237611
+SHA256 (rust/crates/syn-2.0.93.crate) = 9c786062daee0d6db1132800e623df74274a0a87322d8e183338e01b3d98d058
+SIZE (rust/crates/syn-2.0.93.crate) = 293925
+SHA256 (rust/crates/target-lexicon-0.13.2.crate) = e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a
+SIZE (rust/crates/target-lexicon-0.13.2.crate) = 27923
+SHA256 (rust/crates/thiserror-1.0.69.crate) = b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52
+SIZE (rust/crates/thiserror-1.0.69.crate) = 22198
+SHA256 (rust/crates/thiserror-impl-1.0.69.crate) = 4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1
+SIZE (rust/crates/thiserror-impl-1.0.69.crate) = 18365
+SHA256 (rust/crates/thread_local-1.1.8.crate) = 8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c
+SIZE (rust/crates/thread_local-1.1.8.crate) = 13962
+SHA256 (rust/crates/tracing-0.1.41.crate) = 784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0
+SIZE (rust/crates/tracing-0.1.41.crate) = 82448
+SHA256 (rust/crates/tracing-attributes-0.1.28.crate) = 395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d
+SIZE (rust/crates/tracing-attributes-0.1.28.crate) = 33280
+SHA256 (rust/crates/tracing-core-0.1.33.crate) = e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c
+SIZE (rust/crates/tracing-core-0.1.33.crate) = 63434
+SHA256 (rust/crates/tracing-log-0.2.0.crate) = ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3
+SIZE (rust/crates/tracing-log-0.2.0.crate) = 17561
+SHA256 (rust/crates/tracing-subscriber-0.3.19.crate) = e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008
+SIZE (rust/crates/tracing-subscriber-0.3.19.crate) = 198345
+SHA256 (rust/crates/twox-hash-1.6.3.crate) = 97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675
+SIZE (rust/crates/twox-hash-1.6.3.crate) = 21842
+SHA256 (rust/crates/typenum-1.17.0.crate) = 42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825
+SIZE (rust/crates/typenum-1.17.0.crate) = 42849
+SHA256 (rust/crates/ucd-trie-0.1.7.crate) = 2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971
+SIZE (rust/crates/ucd-trie-0.1.7.crate) = 46795
+SHA256 (rust/crates/unicode-ident-1.0.14.crate) = adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83
+SIZE (rust/crates/unicode-ident-1.0.14.crate) = 47547
+SHA256 (rust/crates/unindent-0.2.3.crate) = c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce
+SIZE (rust/crates/unindent-0.2.3.crate) = 7306
+SHA256 (rust/crates/valuable-0.1.1.crate) = ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65
+SIZE (rust/crates/valuable-0.1.1.crate) = 28679
+SHA256 (rust/crates/version_check-0.9.5.crate) = 0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a
+SIZE (rust/crates/version_check-0.9.5.crate) = 15554
+SHA256 (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423
+SIZE (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131
+SHA256 (rust/crates/wasm-bindgen-0.2.100.crate) = 1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5
+SIZE (rust/crates/wasm-bindgen-0.2.100.crate) = 48288
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.100.crate) = 2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6
+SIZE (rust/crates/wasm-bindgen-backend-0.2.100.crate) = 32111
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.100.crate) = 7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407
+SIZE (rust/crates/wasm-bindgen-macro-0.2.100.crate) = 9663
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.100.crate) = 8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.100.crate) = 26243
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.100.crate) = 1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d
+SIZE (rust/crates/wasm-bindgen-shared-0.2.100.crate) = 8570
+SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
+SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
+SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
+SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
+SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
+SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
+SHA256 (rust/crates/windows-0.58.0.crate) = dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6
+SIZE (rust/crates/windows-0.58.0.crate) = 9744521
+SHA256 (rust/crates/windows-core-0.58.0.crate) = 6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99
+SIZE (rust/crates/windows-core-0.58.0.crate) = 41022
+SHA256 (rust/crates/windows-implement-0.58.0.crate) = 2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b
+SIZE (rust/crates/windows-implement-0.58.0.crate) = 10491
+SHA256 (rust/crates/windows-interface-0.58.0.crate) = 053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515
+SIZE (rust/crates/windows-interface-0.58.0.crate) = 11246
+SHA256 (rust/crates/windows-link-0.2.1.crate) = f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5
+SIZE (rust/crates/windows-link-0.2.1.crate) = 6133
+SHA256 (rust/crates/windows-result-0.2.0.crate) = 1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e
+SIZE (rust/crates/windows-result-0.2.0.crate) = 12756
+SHA256 (rust/crates/windows-strings-0.1.0.crate) = 4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10
+SIZE (rust/crates/windows-strings-0.1.0.crate) = 13832
+SHA256 (rust/crates/windows-targets-0.52.6.crate) = 9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973
+SIZE (rust/crates/windows-targets-0.52.6.crate) = 6403
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3
+SIZE (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 435718
+SHA256 (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469
+SIZE (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 832615
+SHA256 (rust/crates/windows_i686_gnu-0.52.6.crate) = 8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b
+SIZE (rust/crates/windows_i686_gnu-0.52.6.crate) = 880402
+SHA256 (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66
+SIZE (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 475940
+SHA256 (rust/crates/windows_i686_msvc-0.52.6.crate) = 240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66
+SIZE (rust/crates/windows_i686_msvc-0.52.6.crate) = 901163
+SHA256 (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78
+SIZE (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 836363
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d
+SIZE (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 435707
+SHA256 (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec
+SIZE (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 832564
+SHA256 (rust/crates/xxhash-rust-0.8.15.crate) = fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3
+SIZE (rust/crates/xxhash-rust-0.8.15.crate) = 21515
+SHA256 (rust/crates/yansi-1.0.1.crate) = cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049
+SIZE (rust/crates/yansi-1.0.1.crate) = 75497
+SHA256 (rust/crates/zerocopy-0.7.35.crate) = 1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0
+SIZE (rust/crates/zerocopy-0.7.35.crate) = 152645
+SHA256 (rust/crates/zerocopy-derive-0.7.35.crate) = fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e
+SIZE (rust/crates/zerocopy-derive-0.7.35.crate) = 37829
+SHA256 (loro-dev-loro-py-v1.13.1_GH0.tar.gz) = e58b910c325f2856942bc8006dedd29215c125270ae7b1e900d01b773b2052d8
+SIZE (loro-dev-loro-py-v1.13.1_GH0.tar.gz) = 69157
diff --git a/devel/py-loro/pkg-descr b/devel/py-loro/pkg-descr
new file mode 100644
index 000000000000..c70a003a3587
--- /dev/null
+++ b/devel/py-loro/pkg-descr
@@ -0,0 +1,3 @@
+Loro is a CRDTs (Conflict-free Replicated Data Types) library that makes
+building local-first and collaborative apps easier. You can now use it
+in Rust, JS (via WASM), and Swift.