Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
e69f5c1
expose XetSession APIs
seanses Apr 9, 2026
cd3b5db
expose XetDownloadStreamGroup; fix issues
seanses Apr 9, 2026
36c0d76
restore original header utilities; route all features through xet-pkg
seanses Apr 9, 2026
fe7894d
fmt cleanup and minor polish in hf_xet bindings
seanses Apr 9, 2026
b3bb567
Refactor hf_xet bindings: split handles into own modules, add streami…
seanses Apr 10, 2026
db8ebc9
fix CI pytest steps
seanses Apr 10, 2026
1d81a43
refactor hf_xet bindings, add open-ended range streams, legacy module…
seanses Apr 15, 2026
ed125ba
bring back legacy APIs and mark as deprecated
seanses Apr 16, 2026
63a3232
add back incorrectly removed comments for legacy functions
seanses Apr 16, 2026
1604623
add back raise handle limits
seanses Apr 16, 2026
aa3e037
handle SIGINT and fork-exec
seanses Apr 17, 2026
5d3aa3c
address agent review
seanses Apr 17, 2026
865e35a
more Pythonic Sha256Policy
seanses Apr 27, 2026
56b69ba
replace builder pattern with kwargs pattern
seanses Apr 28, 2026
e8063ca
make __repr__ more informative
seanses Apr 29, 2026
2023caa
rename functions for more intuitive API
seanses Apr 29, 2026
10bf16d
expose XetTaskState as typed Python enum; add GIL/fork/abort fixes
seanses Apr 29, 2026
0676fd4
expose XetConfig to Python; PyXetSession creation with config
seanses Apr 29, 2026
9bade54
check status before grap progress so not to miss final 100% completio…
seanses Apr 29, 2026
9eea7fe
Merge branch 'main' into di/use-hf-xet-in-hf-xet
seanses Apr 30, 2026
6afd1d9
Merge branch 'main' into di/use-hf-xet-in-hf-xet
seanses Apr 30, 2026
0edc75f
update docstrings
seanses Apr 30, 2026
dc478ab
Merge branch 'main' into di/use-hf-xet-in-hf-xet
seanses May 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,22 @@ jobs:
- name: Build and Test hf_xet
run: |
cd hf_xet && cargo test --verbose --no-fail-fast
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
with:
python-version: '3.10'
- name: Create venv
run: python3 -m venv .venv
- name: Build wheel
uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1
with:
command: develop
sccache: 'true'
working-directory: hf_xet
- name: Python integration tests (hf_xet)
run: |
source .venv/bin/activate
pip install pytest
pytest hf_xet/tests/ -v
Comment thread
cursor[bot] marked this conversation as resolved.
- name: Check Cargo.lock has no uncommitted changes
run: |
# the build and test steps would update Cargo.lock if it is out of date
Expand All @@ -88,6 +104,23 @@ jobs:
- name: Build and Test hf_xet
run: |
cd hf_xet && cargo test --verbose --no-fail-fast
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
with:
python-version: '3.10'
- name: Create venv
run: python -m venv .venv
- name: Build wheel
uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1
with:
command: develop
sccache: 'true'
working-directory: hf_xet
- name: Python integration tests (hf_xet)
shell: bash
run: |
source .venv/Scripts/activate
pip install pytest
pytest hf_xet/tests/ -v
build_and_test-macos:
runs-on: macos-latest
steps:
Expand All @@ -108,6 +141,22 @@ jobs:
- name: Build and Test hf_xet
run: |
cd hf_xet && cargo test --verbose --no-fail-fast
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
with:
python-version: '3.10'
- name: Create venv
run: python3 -m venv .venv
- name: Build wheel
uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1
with:
command: develop
sccache: 'true'
working-directory: hf_xet
- name: Python integration tests (hf_xet)
run: |
source .venv/bin/activate
pip install pytest
pytest hf_xet/tests/ -v
build_and_test-wasm:
name: Build WASM
runs-on: ubuntu-latest
Expand Down
5 changes: 3 additions & 2 deletions hf_xet/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

26 changes: 14 additions & 12 deletions hf_xet/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "hf_xet"
version = "1.4.2"
version = "1.5.0"
edition = "2024"
license = "Apache-2.0"

Expand All @@ -10,14 +10,10 @@ name = "hf_xet"
crate-type = ["cdylib", "lib"]

[dependencies]
xet-pkg = { package = "hf-xet", path = "../xet_pkg", features = ["python"] }
xet-runtime = { path = "../xet_runtime" }
xet-client = { path = "../xet_client" }
xet-pkg = { package = "hf-xet", path = "../xet_pkg", features = ["python"] }

async-trait = "0.1"
chrono = "0.4"
itertools = "0.14"
lazy_static = "1.5"
pprof = { version = "0.14", features = [
"flamegraph",
"prost",
Expand All @@ -27,9 +23,12 @@ pyo3 = { version = "0.26", features = [
"abi3-py37",
"auto-initialize",
] }
async-trait = "0.1"
http = "1"
itertools = "0.14"
lazy_static = "1.5"
rand = "0.10"
tracing = "0.1"
http = "1"

# Unix-specific dependencies
[target.'cfg(unix)'.dependencies]
Expand All @@ -42,12 +41,12 @@ winapi = { version = "0.3", features = ["consoleapi", "wincon", "errhandlingapi"
[features]
default = ["no-default-cache", "elevated_information_level"] # By default, hf_xet disables the disk cache and uses aggressive logging level
extension-module = ["pyo3/extension-module"] # Only enabled when building with maturin
native-tls = ["xet-client/native-tls-vendored"]
native-tls-vendored = ["xet-client/native-tls-vendored"]
no-default-cache = ["xet-runtime/no-default-cache"]
native-tls = ["xet-pkg/native-tls"]
native-tls-vendored = ["xet-pkg/native-tls-vendored"]
no-default-cache = ["xet-pkg/no-default-cache"]
profiling = ["pprof"]
tokio-console = ["xet-runtime/tokio-console"]
elevated_information_level = ["xet-client/elevated_information_level", "xet-runtime/elevated_information_level"]
tokio-console = ["xet-pkg/tokio-console"]
elevated_information_level = ["xet-pkg/elevated_information_level"]

[profile.release]
split-debuginfo = "packed"
Expand All @@ -64,6 +63,9 @@ debug = true
split-debuginfo = "none"


[dev-dependencies]
tempfile = "3"

[profile.opt-test]
inherits = "dev"
debug = true
Expand Down
Loading
Loading