You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opendal.apache.org by xu...@apache.org on 2026/01/09 04:48:30 UTC

(opendal-oli) branch main updated: chore: sync opendal deps and tooling (#12)

This is an automated email from the ASF dual-hosted git repository.

xuanwo pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/opendal-oli.git


The following commit(s) were added to refs/heads/main by this push:
     new 80dac50  chore: sync opendal deps and tooling (#12)
80dac50 is described below

commit 80dac5048a27fa64b1c74f48c0cfd56b12dccbe4
Author: Chojan Shang <ps...@apache.org>
AuthorDate: Fri Jan 9 12:48:25 2026 +0800

    chore: sync opendal deps and tooling (#12)
    
    * chore: sync opendal deps and tooling
    
    * test: normalize timestamp snapshots
---
 .github/dependabot.yml          |  30 +++
 DEPENDENCIES.rust.tsv           | 572 +++++++++++++++++++++-------------------
 scripts/constants.py            |  24 ++
 scripts/dependencies.py         |  81 ++++++
 tests/integration/test_utils.rs |   4 +-
 5 files changed, 431 insertions(+), 280 deletions(-)

diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 0000000..44be768
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,30 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+version: 2
+updates:
+  - package-ecosystem: "github-actions"
+    directory: "/"
+    open-pull-requests-limit: 2
+    schedule:
+      interval: "yearly"
+
+  - package-ecosystem: "cargo"
+    directory: "/"
+    open-pull-requests-limit: 2
+    schedule:
+      interval: "monthly"
diff --git a/DEPENDENCIES.rust.tsv b/DEPENDENCIES.rust.tsv
index 4cc3d7f..1209cde 100644
--- a/DEPENDENCIES.rust.tsv
+++ b/DEPENDENCIES.rust.tsv
@@ -1,278 +1,294 @@
-crate	0BSD	Apache-2.0	Apache-2.0 WITH LLVM-exception	BSD-2-Clause	BSD-3-Clause	BSL-1.0	CDLA-Permissive-2.0	ISC	LGPL-2.1-or-later	MIT	MPL-2.0	Unicode-3.0	Unlicense	Zlib
-addr2line@0.24.2		X								X				
-adler2@2.0.0	X	X								X				
-aes@0.8.4		X								X				
-android-tzdata@0.1.1		X								X				
-android_system_properties@0.1.5		X								X				
-anstream@0.6.18		X								X				
-anstyle@1.0.10		X								X				
-anstyle-parse@0.2.6		X								X				
-anstyle-query@1.1.2		X								X				
-anstyle-wincon@3.0.7		X								X				
-anyhow@1.0.98		X								X				
-async-trait@0.1.88		X								X				
-autocfg@1.4.0		X								X				
-backon@1.5.0		X												
-backtrace@0.3.75		X								X				
-base64@0.22.1		X								X				
-base64ct@1.7.3		X								X				
-bitflags@2.9.1		X								X				
-block-buffer@0.10.4		X								X				
-block-padding@0.3.3		X								X				
-bumpalo@3.17.0		X								X				
-byteorder@1.5.0										X			X	
-bytes@1.10.1										X				
-cbc@0.1.2		X								X				
-cc@1.2.23		X								X				
-cfg-if@1.0.0		X								X				
-chrono@0.4.41		X								X				
-cipher@0.4.4		X								X				
-clap@4.5.38		X								X				
-clap_builder@4.5.38		X								X				
-clap_derive@4.5.32		X								X				
-clap_lex@0.7.4		X								X				
-colorchoice@1.0.3		X								X				
-console@0.16.0										X				
-const-oid@0.9.6		X								X				
-core-foundation-sys@0.8.7		X								X				
-cpufeatures@0.2.17		X								X				
-crc32c@0.6.8		X								X				
-crypto-common@0.1.6		X								X				
-der@0.7.10		X								X				
-deranged@0.4.0		X								X				
-digest@0.10.7		X								X				
-dirs@6.0.0		X								X				
-dirs-sys@0.5.0		X								X				
-displaydoc@0.2.5		X								X				
-either@1.15.0		X								X				
-encode_unicode@1.0.0		X								X				
-errno@0.3.12		X								X				
-fastrand@2.3.0		X								X				
-fnv@1.0.7		X								X				
-form_urlencoded@1.2.1		X								X				
-futures@0.3.31		X								X				
-futures-channel@0.3.31		X								X				
-futures-core@0.3.31		X								X				
-futures-executor@0.3.31		X								X				
-futures-io@0.3.31		X								X				
-futures-macro@0.3.31		X								X				
-futures-sink@0.3.31		X								X				
-futures-task@0.3.31		X								X				
-futures-util@0.3.31		X								X				
-generic-array@0.14.7										X				
-getrandom@0.2.16		X								X				
-getrandom@0.3.3		X								X				
-ghac@0.2.0		X												
-gimli@0.31.1		X								X				
-gloo-timers@0.3.0		X								X				
-heck@0.5.0		X								X				
-hex@0.4.3		X								X				
-hmac@0.12.1		X								X				
-home@0.5.11		X								X				
-http@1.3.1		X								X				
-http-body@1.0.1										X				
-http-body-util@0.1.3										X				
-httparse@1.10.1		X								X				
-humansize@2.1.3		X								X				
-humantime@2.2.0		X								X				
-humantime-serde@1.1.1		X								X				
-hyper@1.6.0										X				
-hyper-rustls@0.27.5		X						X		X				
-hyper-util@0.1.12										X				
-iana-time-zone@0.1.63		X								X				
-iana-time-zone-haiku@0.1.2		X								X				
-icu_collections@2.0.0												X		
-icu_locale_core@2.0.0												X		
-icu_normalizer@2.0.0												X		
-icu_normalizer_data@2.0.0												X		
-icu_properties@2.0.1												X		
-icu_properties_data@2.0.1												X		
-icu_provider@2.0.0												X		
-idna@1.0.3		X								X				
-idna_adapter@1.2.1		X								X				
-indicatif@0.18.0										X				
-inout@0.1.4		X								X				
-io-uring@0.7.8		X								X				
-ipnet@2.11.0		X								X				
-iri-string@0.7.8		X								X				
-is_terminal_polyfill@1.70.1		X								X				
-itertools@0.14.0		X								X				
-itoa@1.0.15		X								X				
-js-sys@0.3.77		X								X				
-jsonwebtoken@9.3.1										X				
-lazy_static@1.5.0		X								X				
-libc@0.2.172		X								X				
-libm@0.2.15										X				
-libredox@0.1.3										X				
-linux-raw-sys@0.9.4		X	X							X				
-litemap@0.8.0												X		
-lock_api@0.4.12		X								X				
-log@0.4.27		X								X				
-md-5@0.10.6		X								X				
-memchr@2.7.4										X			X	
-miniz_oxide@0.8.8		X								X				X
-mio@1.0.3										X				
-num-bigint@0.4.6		X								X				
-num-bigint-dig@0.8.4		X								X				
-num-conv@0.1.0		X								X				
-num-integer@0.1.46		X								X				
-num-iter@0.1.45		X								X				
-num-traits@0.2.19		X								X				
-object@0.36.7		X								X				
-oli@0.41.23		X												
-once_cell@1.21.3		X								X				
-opendal@0.54.1		X												
-option-ext@0.2.0											X			
-parking_lot@0.12.3		X								X				
-parking_lot_core@0.9.10		X								X				
-parse-size@1.1.0										X				
-pbkdf2@0.12.2		X								X				
-pem@3.0.5										X				
-pem-rfc7468@0.7.0		X								X				
-percent-encoding@2.3.1		X								X				
-pin-project-lite@0.2.16		X								X				
-pin-utils@0.1.0		X								X				
-pkcs1@0.7.5		X								X				
-pkcs5@0.7.1		X								X				
-pkcs8@0.10.2		X								X				
-pollster@0.4.0		X								X				
-portable-atomic@1.11.0		X								X				
-potential_utf@0.1.2												X		
-powerfmt@0.2.0		X								X				
-ppv-lite86@0.2.21		X								X				
-proc-macro2@1.0.95		X								X				
-prost@0.13.5		X												
-prost-derive@0.13.5		X												
-quick-xml@0.37.5										X				
-quick-xml@0.38.0										X				
-quote@1.0.40		X								X				
-r-efi@5.2.0		X							X	X				
-rand@0.8.5		X								X				
-rand_chacha@0.3.1		X								X				
-rand_core@0.6.4		X								X				
-redox_syscall@0.5.12										X				
-redox_users@0.5.0										X				
-reqsign@0.16.5		X												
-reqwest@0.12.22		X								X				
-ring@0.17.14		X						X						
-rsa@0.9.8		X								X				
-rustc-demangle@0.1.24		X								X				
-rustc_version@0.4.1		X								X				
-rustix@1.0.7		X	X							X				
-rustls@0.23.27		X						X		X				
-rustls-pki-types@1.12.0		X								X				
-rustls-webpki@0.103.3								X						
-rustversion@1.0.20		X								X				
-ryu@1.0.20		X				X								
-salsa20@0.10.2		X								X				
-scopeguard@1.2.0		X								X				
-scrypt@0.11.0		X								X				
-semver@1.0.26		X								X				
-serde@1.0.219		X								X				
-serde_derive@1.0.219		X								X				
-serde_json@1.0.140		X								X				
-serde_spanned@1.0.0		X								X				
-serde_urlencoded@0.7.1		X								X				
-sha1@0.10.6		X								X				
-sha2@0.10.9		X								X				
-shlex@1.3.0		X								X				
-signal-hook-registry@1.4.5		X								X				
-signature@2.2.0		X								X				
-simple_asn1@0.6.3								X						
-slab@0.4.9										X				
-smallvec@1.15.0		X								X				
-socket2@0.5.9		X								X				
-socket2@0.6.0		X								X				
-spin@0.9.8										X				
-spki@0.7.3		X								X				
-stable_deref_trait@1.2.0		X								X				
-strsim@0.11.1										X				
-subtle@2.6.1					X									
-syn@2.0.101		X								X				
-sync_wrapper@1.0.2		X												
-synstructure@0.13.2										X				
-tempfile@3.21.0		X								X				
-thiserror@2.0.12		X								X				
-thiserror-impl@2.0.12		X								X				
-time@0.3.41		X								X				
-time-core@0.1.4		X								X				
-time-macros@0.2.22		X								X				
-tinystr@0.8.1												X		
-tokio@1.47.0										X				
-tokio-macros@2.5.0										X				
-tokio-rustls@0.26.2		X								X				
-tokio-util@0.7.15										X				
-toml@0.9.2		X								X				
-toml_datetime@0.7.0		X								X				
-toml_parser@1.0.1		X								X				
-toml_writer@1.0.2		X								X				
-tower@0.5.2										X				
-tower-http@0.6.6										X				
-tower-layer@0.3.3										X				
-tower-service@0.3.3										X				
-tracing@0.1.41										X				
-tracing-core@0.1.33										X				
-try-lock@0.2.5										X				
-typenum@1.18.0		X								X				
-unicode-ident@1.0.18		X								X		X		
-unicode-width@0.2.0		X								X				
-unit-prefix@0.5.1										X				
-untrusted@0.9.0								X						
-url@2.5.4		X								X				
-utf8_iter@1.0.4		X								X				
-utf8parse@0.2.2		X								X				
-uuid@1.17.0		X								X				
-version_check@0.9.5		X								X				
-want@0.3.1										X				
-wasi@0.11.0+wasi-snapshot-preview1		X	X							X				
-wasi@0.14.2+wasi-0.2.4		X	X							X				
-wasm-bindgen@0.2.100		X								X				
-wasm-bindgen-backend@0.2.100		X								X				
-wasm-bindgen-futures@0.4.50		X								X				
-wasm-bindgen-macro@0.2.100		X								X				
-wasm-bindgen-macro-support@0.2.100		X								X				
-wasm-bindgen-shared@0.2.100		X								X				
-wasm-streams@0.4.2		X								X				
-web-sys@0.3.77		X								X				
-web-time@1.1.0		X								X				
-webpki-roots@0.26.11							X							
-webpki-roots@1.0.0							X							
-windows-core@0.61.2		X								X				
-windows-implement@0.60.0		X								X				
-windows-interface@0.59.1		X								X				
-windows-link@0.1.3		X								X				
-windows-result@0.3.4		X								X				
-windows-strings@0.4.2		X								X				
-windows-sys@0.52.0		X								X				
-windows-sys@0.59.0		X								X				
-windows-sys@0.60.2		X								X				
-windows-targets@0.52.6		X								X				
-windows-targets@0.53.3		X								X				
-windows_aarch64_gnullvm@0.52.6		X								X				
-windows_aarch64_gnullvm@0.53.0		X								X				
-windows_aarch64_msvc@0.52.6		X								X				
-windows_aarch64_msvc@0.53.0		X								X				
-windows_i686_gnu@0.52.6		X								X				
-windows_i686_gnu@0.53.0		X								X				
-windows_i686_gnullvm@0.52.6		X								X				
-windows_i686_gnullvm@0.53.0		X								X				
-windows_i686_msvc@0.52.6		X								X				
-windows_i686_msvc@0.53.0		X								X				
-windows_x86_64_gnu@0.52.6		X								X				
-windows_x86_64_gnu@0.53.0		X								X				
-windows_x86_64_gnullvm@0.52.6		X								X				
-windows_x86_64_gnullvm@0.53.0		X								X				
-windows_x86_64_msvc@0.52.6		X								X				
-windows_x86_64_msvc@0.53.0		X								X				
-winnow@0.7.10										X				
-wit-bindgen-rt@0.39.0		X	X							X				
-writeable@0.6.1												X		
-yoke@0.8.0												X		
-yoke-derive@0.8.0												X		
-zerocopy@0.8.25		X		X						X				
-zerofrom@0.1.6												X		
-zerofrom-derive@0.1.6												X		
-zeroize@1.8.1		X								X				
-zerotrie@0.2.2												X		
-zerovec@0.11.2												X		
-zerovec-derive@0.11.1												X		
+crate	Apache-2.0	Apache-2.0 WITH LLVM-exception	BSD-2-Clause	BSD-3-Clause	BSL-1.0	CDLA-Permissive-2.0	ISC	LGPL-2.1-or-later	MIT	MPL-2.0	Unicode-3.0	Unlicense
+aes@0.8.4	X								X			
+android_system_properties@0.1.5	X								X			
+anstream@0.6.18	X								X			
+anstyle@1.0.10	X								X			
+anstyle-parse@0.2.6	X								X			
+anstyle-query@1.1.2	X								X			
+anstyle-wincon@3.0.7	X								X			
+anyhow@1.0.100	X								X			
+async-trait@0.1.88	X								X			
+autocfg@1.4.0	X								X			
+backon@1.6.0	X											
+base64@0.22.1	X								X			
+base64ct@1.7.3	X								X			
+bitflags@2.9.1	X								X			
+block-buffer@0.10.4	X								X			
+block-padding@0.3.3	X								X			
+bumpalo@3.17.0	X								X			
+byteorder@1.5.0									X			X
+bytes@1.10.1									X			
+cbc@0.1.2	X								X			
+cc@1.2.23	X								X			
+cfg-if@1.0.0	X								X			
+chrono@0.4.42	X								X			
+cipher@0.4.4	X								X			
+clap@4.5.41	X								X			
+clap_builder@4.5.41	X								X			
+clap_derive@4.5.41	X								X			
+clap_lex@0.7.4	X								X			
+colorchoice@1.0.3	X								X			
+console@0.16.0									X			
+const-oid@0.9.6	X								X			
+convert_case@0.7.1									X			
+core-foundation-sys@0.8.7	X								X			
+cpufeatures@0.2.17	X								X			
+crc32c@0.6.8	X								X			
+crossterm@0.29.0									X			
+crossterm_winapi@0.9.1									X			
+crypto-common@0.1.6	X								X			
+der@0.7.10	X								X			
+deranged@0.4.0	X								X			
+derive_more@2.0.1									X			
+derive_more-impl@2.0.1									X			
+digest@0.10.7	X								X			
+dirs@6.0.0	X								X			
+dirs-sys@0.5.0	X								X			
+displaydoc@0.2.5	X								X			
+document-features@0.2.12	X								X			
+dyn-clone@1.0.20	X								X			
+either@1.15.0	X								X			
+encode_unicode@1.0.0	X								X			
+errno@0.3.12	X								X			
+fastrand@2.3.0	X								X			
+fnv@1.0.7	X								X			
+form_urlencoded@1.2.1	X								X			
+futures@0.3.31	X								X			
+futures-channel@0.3.31	X								X			
+futures-core@0.3.31	X								X			
+futures-executor@0.3.31	X								X			
+futures-io@0.3.31	X								X			
+futures-macro@0.3.31	X								X			
+futures-sink@0.3.31	X								X			
+futures-task@0.3.31	X								X			
+futures-util@0.3.31	X								X			
+generic-array@0.14.7									X			
+getrandom@0.2.16	X								X			
+getrandom@0.3.3	X								X			
+ghac@0.2.0	X											
+gloo-timers@0.3.0	X								X			
+heck@0.5.0	X								X			
+hex@0.4.3	X								X			
+hmac@0.12.1	X								X			
+home@0.5.11	X								X			
+http@1.3.1	X								X			
+http-body@1.0.1									X			
+http-body-util@0.1.3									X			
+httparse@1.10.1	X								X			
+humansize@2.1.3	X								X			
+humantime@2.2.0	X								X			
+humantime-serde@1.1.1	X								X			
+hyper@1.6.0									X			
+hyper-rustls@0.27.5	X						X		X			
+hyper-util@0.1.12									X			
+iana-time-zone@0.1.63	X								X			
+iana-time-zone-haiku@0.1.2	X								X			
+icu_collections@2.0.0											X	
+icu_locale_core@2.0.0											X	
+icu_normalizer@2.0.0											X	
+icu_normalizer_data@2.0.0											X	
+icu_properties@2.0.1											X	
+icu_properties_data@2.0.1											X	
+icu_provider@2.0.0											X	
+idna@1.0.3	X								X			
+idna_adapter@1.2.1	X								X			
+indicatif@0.18.0									X			
+inout@0.1.4	X								X			
+inquire@0.9.1									X			
+ipnet@2.11.0	X								X			
+iri-string@0.7.8	X								X			
+is_terminal_polyfill@1.70.1	X								X			
+itertools@0.14.0	X								X			
+itoa@1.0.15	X								X			
+jiff@0.2.18									X			X
+jiff-tzdb@0.1.5									X			X
+jiff-tzdb-platform@0.1.3									X			X
+js-sys@0.3.77	X								X			
+jsonwebtoken@9.3.1									X			
+lazy_static@1.5.0	X								X			
+libc@0.2.172	X								X			
+libm@0.2.15									X			
+libredox@0.1.3									X			
+linux-raw-sys@0.9.4	X	X							X			
+litemap@0.8.0											X	
+litrs@1.0.0	X								X			
+lock_api@0.4.12	X								X			
+log@0.4.27	X								X			
+md-5@0.10.6	X								X			
+memchr@2.7.4									X			X
+mime@0.3.17	X								X			
+mime_guess@2.0.5									X			
+mio@1.0.3									X			
+num-bigint@0.4.6	X								X			
+num-bigint-dig@0.8.4	X								X			
+num-conv@0.1.0	X								X			
+num-integer@0.1.46	X								X			
+num-iter@0.1.45	X								X			
+num-traits@0.2.19	X								X			
+oli@0.41.23	X											
+once_cell@1.21.3	X								X			
+opendal@0.55.0	X											
+option-ext@0.2.0										X		
+parking_lot@0.12.3	X								X			
+parking_lot_core@0.9.10	X								X			
+parse-size@1.1.0									X			
+pbkdf2@0.12.2	X								X			
+pem@3.0.5									X			
+pem-rfc7468@0.7.0	X								X			
+percent-encoding@2.3.1	X								X			
+pin-project-lite@0.2.16	X								X			
+pin-utils@0.1.0	X								X			
+pkcs1@0.7.5	X								X			
+pkcs5@0.7.1	X								X			
+pkcs8@0.10.2	X								X			
+pollster@0.4.0	X								X			
+portable-atomic@1.11.0	X								X			
+portable-atomic-util@0.2.4	X								X			
+potential_utf@0.1.2											X	
+powerfmt@0.2.0	X								X			
+ppv-lite86@0.2.21	X								X			
+proc-macro2@1.0.95	X								X			
+prost@0.13.5	X											
+prost-derive@0.13.5	X											
+quick-xml@0.37.5									X			
+quick-xml@0.38.0									X			
+quote@1.0.40	X								X			
+r-efi@5.2.0	X							X	X			
+rand@0.8.5	X								X			
+rand_chacha@0.3.1	X								X			
+rand_core@0.6.4	X								X			
+redox_syscall@0.5.12									X			
+redox_users@0.5.0									X			
+reqsign@0.16.5	X											
+reqwest@0.12.28	X								X			
+ring@0.17.14	X						X					
+rsa@0.9.8	X								X			
+rustc_version@0.4.1	X								X			
+rustix@1.0.7	X	X							X			
+rustls@0.23.27	X						X		X			
+rustls-pki-types@1.12.0	X								X			
+rustls-webpki@0.103.3							X					
+rustversion@1.0.20	X								X			
+ryu@1.0.20	X				X							
+salsa20@0.10.2	X								X			
+scopeguard@1.2.0	X								X			
+scrypt@0.11.0	X								X			
+semver@1.0.26	X								X			
+serde@1.0.228	X								X			
+serde_core@1.0.228	X								X			
+serde_derive@1.0.228	X								X			
+serde_json@1.0.140	X								X			
+serde_spanned@1.0.0	X								X			
+serde_urlencoded@0.7.1	X								X			
+sha1@0.10.6	X								X			
+sha2@0.10.9	X								X			
+shlex@1.3.0	X								X			
+signal-hook@0.3.18	X								X			
+signal-hook-mio@0.2.5	X								X			
+signal-hook-registry@1.4.5	X								X			
+signature@2.2.0	X								X			
+simple_asn1@0.6.3							X					
+slab@0.4.9									X			
+smallvec@1.15.0	X								X			
+socket2@0.5.9	X								X			
+socket2@0.6.0	X								X			
+spin@0.9.8									X			
+spki@0.7.3	X								X			
+stable_deref_trait@1.2.0	X								X			
+strsim@0.11.1									X			
+subtle@2.6.1				X								
+syn@2.0.101	X								X			
+sync_wrapper@1.0.2	X											
+synstructure@0.13.2									X			
+tempfile@3.23.0	X								X			
+thiserror@2.0.12	X								X			
+thiserror-impl@2.0.12	X								X			
+time@0.3.41	X								X			
+time-core@0.1.4	X								X			
+time-macros@0.2.22	X								X			
+tinystr@0.8.1											X	
+tokio@1.49.0									X			
+tokio-macros@2.6.0									X			
+tokio-rustls@0.26.2	X								X			
+tokio-util@0.7.15									X			
+toml@0.9.2	X								X			
+toml_datetime@0.7.0	X								X			
+toml_parser@1.0.1	X								X			
+toml_writer@1.0.2	X								X			
+tower@0.5.2									X			
+tower-http@0.6.8									X			
+tower-layer@0.3.3									X			
+tower-service@0.3.3									X			
+tracing@0.1.41									X			
+tracing-core@0.1.33									X			
+try-lock@0.2.5									X			
+typenum@1.18.0	X								X			
+unicase@2.8.1	X								X			
+unicode-ident@1.0.18	X								X		X	
+unicode-segmentation@1.12.0	X								X			
+unicode-width@0.2.0	X								X			
+unit-prefix@0.5.1									X			
+untrusted@0.9.0							X					
+url@2.5.4	X								X			
+utf8_iter@1.0.4	X								X			
+utf8parse@0.2.2	X								X			
+uuid@1.18.1	X								X			
+version_check@0.9.5	X								X			
+want@0.3.1									X			
+wasi@0.11.0+wasi-snapshot-preview1	X	X							X			
+wasi@0.14.2+wasi-0.2.4	X	X							X			
+wasm-bindgen@0.2.100	X								X			
+wasm-bindgen-backend@0.2.100	X								X			
+wasm-bindgen-futures@0.4.50	X								X			
+wasm-bindgen-macro@0.2.100	X								X			
+wasm-bindgen-macro-support@0.2.100	X								X			
+wasm-bindgen-shared@0.2.100	X								X			
+wasm-streams@0.4.2	X								X			
+web-sys@0.3.77	X								X			
+web-time@1.1.0	X								X			
+webpki-roots@0.26.11						X						
+webpki-roots@1.0.0						X						
+winapi@0.3.9	X								X			
+winapi-i686-pc-windows-gnu@0.4.0	X								X			
+winapi-x86_64-pc-windows-gnu@0.4.0	X								X			
+windows-core@0.61.2	X								X			
+windows-implement@0.60.0	X								X			
+windows-interface@0.59.1	X								X			
+windows-link@0.1.3	X								X			
+windows-link@0.2.1	X								X			
+windows-result@0.3.4	X								X			
+windows-strings@0.4.2	X								X			
+windows-sys@0.52.0	X								X			
+windows-sys@0.59.0	X								X			
+windows-sys@0.60.2	X								X			
+windows-sys@0.61.2	X								X			
+windows-targets@0.52.6	X								X			
+windows-targets@0.53.3	X								X			
+windows_aarch64_gnullvm@0.52.6	X								X			
+windows_aarch64_gnullvm@0.53.0	X								X			
+windows_aarch64_msvc@0.52.6	X								X			
+windows_aarch64_msvc@0.53.0	X								X			
+windows_i686_gnu@0.52.6	X								X			
+windows_i686_gnu@0.53.0	X								X			
+windows_i686_gnullvm@0.52.6	X								X			
+windows_i686_gnullvm@0.53.0	X								X			
+windows_i686_msvc@0.52.6	X								X			
+windows_i686_msvc@0.53.0	X								X			
+windows_x86_64_gnu@0.52.6	X								X			
+windows_x86_64_gnu@0.53.0	X								X			
+windows_x86_64_gnullvm@0.52.6	X								X			
+windows_x86_64_gnullvm@0.53.0	X								X			
+windows_x86_64_msvc@0.52.6	X								X			
+windows_x86_64_msvc@0.53.0	X								X			
+winnow@0.7.10									X			
+wit-bindgen-rt@0.39.0	X	X							X			
+writeable@0.6.1											X	
+yoke@0.8.0											X	
+yoke-derive@0.8.0											X	
+zerocopy@0.8.25	X		X						X			
+zerofrom@0.1.6											X	
+zerofrom-derive@0.1.6											X	
+zeroize@1.8.1	X								X			
+zerotrie@0.2.2											X	
+zerovec@0.11.2											X	
+zerovec-derive@0.11.1											X	
diff --git a/scripts/constants.py b/scripts/constants.py
new file mode 100644
index 0000000..b2cc28f
--- /dev/null
+++ b/scripts/constants.py
@@ -0,0 +1,24 @@
+#!/usr/bin/env python3
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+from pathlib import Path
+
+ROOT_DIR = Path(__file__).resolve().parent.parent
+PACKAGES = [
+    ".",
+]
diff --git a/scripts/dependencies.py b/scripts/dependencies.py
new file mode 100644
index 0000000..93b6183
--- /dev/null
+++ b/scripts/dependencies.py
@@ -0,0 +1,81 @@
+#!/usr/bin/env python3
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+from argparse import ArgumentParser, ArgumentDefaultsHelpFormatter
+from pathlib import Path
+import subprocess
+
+from constants import PACKAGES, ROOT_DIR
+
+
+def package_paths():
+    for package in PACKAGES:
+        yield (ROOT_DIR / package).resolve()
+
+
+def check_single_package(package_dir: Path):
+    if (package_dir / "Cargo.toml").exists():
+        print(f"Checking dependencies of {package_dir}")
+        subprocess.run(["cargo", "deny", "check", "license"], cwd=package_dir)
+    else:
+        print(f"Skipping {package_dir} as Cargo.toml does not exist")
+
+
+def check_deps():
+    for package_dir in package_paths():
+        check_single_package(package_dir)
+
+
+def generate_single_package(package_dir: Path):
+    if (package_dir / "Cargo.toml").exists():
+        print(f"Generating dependencies {package_dir}")
+        result = subprocess.check_output(
+            ["cargo", "deny", "list", "-f", "tsv", "-t", "0.6"],
+            cwd=package_dir,
+            text=True,
+        )
+        output_path = package_dir / "DEPENDENCIES.rust.tsv"
+        output_path.write_text(result)
+    else:
+        print(f"Skipping {package_dir} as Cargo.toml does not exist")
+
+
+def generate_deps():
+    for package_dir in package_paths():
+        generate_single_package(package_dir)
+
+
+if __name__ == "__main__":
+    parser = ArgumentParser(formatter_class=ArgumentDefaultsHelpFormatter)
+    parser.set_defaults(func=parser.print_help)
+    subparsers = parser.add_subparsers()
+
+    parser_check = subparsers.add_parser(
+        "check", description="Check dependencies", help="Check dependencies"
+    )
+    parser_check.set_defaults(func=check_deps)
+
+    parser_generate = subparsers.add_parser(
+        "generate", description="Generate dependencies", help="Generate dependencies"
+    )
+    parser_generate.set_defaults(func=generate_deps)
+
+    args = parser.parse_args()
+    arg_dict = dict(vars(args))
+    del arg_dict["func"]
+    args.func(**arg_dict)
diff --git a/tests/integration/test_utils.rs b/tests/integration/test_utils.rs
index 78e0c45..568aa04 100644
--- a/tests/integration/test_utils.rs
+++ b/tests/integration/test_utils.rs
@@ -140,11 +140,11 @@ pub(crate) use assert_snapshot;
 pub const REPLACEMENTS: &[(&str, &str)] = &[
     (r"(?:/|(\s))\S*\.tmp[^/]+", "$1[TEMP_DIR]"), // New regex for specific /.tmpXXXX patterns
     (
-        r"(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{9} UTC)",
+        r"(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{1,9} UTC)",
         "[TIMESTAMP]",
     ),
     (
-        r"(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{9}Z)",
+        r"(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{1,9}Z)",
         "[TIMESTAMP]",
     ),
 ];