This release is a pre-release and may not be stable for production use.
sgl-deep-ep
sgl-deep-ep is SGLang's binary distribution of
DeepEP. The distribution name is
sgl-deep-ep, while the Python import remains compatible with DeepEP:
import deep_ep
Installation
The PyPI package targets CUDA 13 and installs with:
pip install sgl-deep-ep
Each wheel is specific to a CPython version, CPU architecture, and CUDA major.
The package checks these constraints when deep_ep is imported.
Host prerequisites
The wheel contains DeepEP's Python code and CUDA extension. It does not and cannot provision the host kernel or RDMA stack. Every host must provide:
- a compatible NVIDIA driver and CUDA runtime;
- the RDMA/NVLink environment required by the selected DeepEP transport.
At import time, the package checks the supported platform, PyTorch and CUDA
versions, and CUDA driver/device availability. Failures raise an actionable
ImportError. Transport-specific prerequisites are validated when DeepEP
initializes the selected transport.
CUDA 13 wheels use DeepEP v2 and its NCCL Gin transport. Release and runtime
images pin nvidia-nccl-cu13==2.30.7. NVSHMEM remains a build and runtime
dependency because the current v2 extension still links the legacy DeepEP methods.
Wheel release workflow
Wheels are built and published by SGLang's
Release sgl-deep-ep workflow.
Implementation and packaging are maintained together on sgl-deepep.
Before starting a release, merge both kinds of changes into that branch:
- CUDA 13, x86_64 and aarch64:
sgl-deepep(DeepEP v2)
Run the workflow manually with:
version: the public package version, without a leadingv;deepep-ref: the branch, tag, or commit containing both the implementation andsgl_deep_ep/(normallysgl-deepep; use a commit for a reproducible release).
For each selected CUDA target, the workflow uploads CUDA-tagged wheels to the cu130 index in
sgl-project/whl. CUDA 13.0 wheels are also
published to PyPI as sgl-deep-ep, without a CUDA suffix in the package name.
Publishing requires the GH_PAT_FOR_WHL_RELEASE and
SGL_DEEP_EP_PYPI_TOKEN repository secrets.
After the workflow completes, check that every expected Python and architecture
artifact was published, install the appropriate wheel in a clean environment,
and verify both import deep_ep and a multi-GPU DeepEP or SGLang workload.
Building from a checkout
Initialize the submodules and install the build dependencies, including the
target CUDA PyTorch build, NCCL 2.30.7, NVSHMEM, ninja, setuptools, and wheel.
The release container in SGLang's docker/sgl-deep-ep.Dockerfile provides these
dependencies for manylinux builds. Then run:
git clone --recursive --branch sgl-deepep https://github.com/sgl-project/DeepEP.git
cd DeepEP
SGL_DEEP_EP_VERSION=0.1.3 bash sgl_deep_ep/build_sgl_deep_ep.sh dist 13.0 x86_64
The arguments are the output directory, CUDA version (13.0 or 13.4), and
CPU architecture (x86_64 or aarch64). Use the CUDA version and
architecture of the build environment. The script reads implementation and
packaging from its own checkout, stages a temporary copy, and leaves the source
unchanged. SGL_DEEP_EP_VERSION overrides sgl_deep_ep/VERSION; the wheel
version includes the corresponding +cu130 or +cu134 suffix.
PYTHON_BIN selects the build interpreter and MAX_JOBS controls parallelism.
This produces a native Linux wheel. The SGLang release build script applies
auditwheel repair for manylinux and creates the public-version PyPI wheel.
The CUDA 13.4 image also uses this entry point; the release workflow currently
publishes CUDA 13.0 wheels only.
Metadata
Release files for sgl-deep-ep 0.1.3rc4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 93.7 MB
Release files / sgl_deep_ep-0.1.3rc4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | sgl_deep_ep-0.1.3rc4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 15.7 MB |
| Tags | CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
608ccf3445eb0b81f7068609c7da4609083b18608be7802654620c6ca0bf2b06
|
|
BLAKE2b-256 checksum How to use checksums |
0cd5b297864a5c276b11dfdca23b89c073fc9a9b1c8e489d3bb2a145faa13227
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / sgl_deep_ep-0.1.3rc4-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | sgl_deep_ep-0.1.3rc4-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 15.5 MB |
| Tags | CPython 3.13 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
23253f844642e2231257cd29e3aeb759b39916fc5a9703938cb1ac712373dc9b
|
|
BLAKE2b-256 checksum How to use checksums |
d71a8e1415648859a16a9dfe6754a1b25b5001526160d1871c568821827a38bf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / sgl_deep_ep-0.1.3rc4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | sgl_deep_ep-0.1.3rc4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 15.7 MB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
aa00711b6f901690b769545cca06b9a0c37c6745f01a22578ae7138153908fe1
|
|
BLAKE2b-256 checksum How to use checksums |
e61e90288e8fbbdc16c402f97a49e292e8c2cbe1e9771aaf04f30b7e75769ff0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / sgl_deep_ep-0.1.3rc4-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | sgl_deep_ep-0.1.3rc4-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 15.5 MB |
| Tags | CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
3e658fb2fb9a3cc9ee8af10792cbf2bdfaec8ddd20859ce69c3fdc9322320a99
|
|
BLAKE2b-256 checksum How to use checksums |
9430dde6025c520539d08fb966ba65ab6082f3f2b8b54c637e8c43e9852451f9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / sgl_deep_ep-0.1.3rc4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | sgl_deep_ep-0.1.3rc4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 15.7 MB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
43cec238e59fc856f07ac29e5bdcf39b5b2a27f724b66b156e9f962ee387c3bc
|
|
BLAKE2b-256 checksum How to use checksums |
1cc092e7e1f2e6ef9bb0974d7842c66779d5dff04771bb6aa3745545583f2c7f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / sgl_deep_ep-0.1.3rc4-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | sgl_deep_ep-0.1.3rc4-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 15.5 MB |
| Tags | CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
011876ea0b3457a34e8d160dce715ca720753b2998e74ea7d7d9f19d6313a46d
|
|
BLAKE2b-256 checksum How to use checksums |
ac8c044f51e4bb79ce7514138da8d8b7d024a65bdd73daf94f5bc27e9d7da7f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Security for sgl-deep-ep 0.1.3rc4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.