Skip to main content

Downloads gpu Open in Colab roadmap MkDocs

Inference, Ingestion, and Indexing in Rust 🦀
Python docs »
Rust docs »
Benchmarks · FAQ · Adapters . Collaborations

EmbedAnything is a minimalist, highly performant, lightning-fast, lightweight, multisource, multimodal, and local embedding pipeline built in Rust. Whether you're working with text, images, audio, PDFs, websites, or other media, EmbedAnything streamlines the process of generating embeddings from various sources and seamlessly streaming (memory-efficient-indexing) them to a vector database. It supports dense, sparse, ONNX and late-interaction embeddings, offering flexibility for a wide range of use cases.

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. How to add custom model and chunk size

🚀 Key Features

  • Candle Backend : Supports BERT, Jina, ColPali, Splade, ModernBERT
  • ONNX Backend: Supports BERT, Jina, ColPali, ColBERT Splade, Reranker, ModernBERT
  • Cloud Embedding Models:: Supports OpenAI and Cohere.
  • MultiModality : Works with text sources like PDFs, txt, md, Images JPG and Audio, .WAV
  • Rust : All the file processing is done in rust for speed and efficiency
  • GPU support : We have taken care of hardware acceleration on GPU as well.
  • Python Interface: Packaged as a Python library for seamless integration into your existing projects.
  • Vector Streaming: Continuously create and stream embeddings if you have low resource.
  • No Dependency on Pytorch Easy to deploy on cloud, as it comes with low memory footprint.

💡What is Vector Streaming

Vector Streaming enables you to process and generate embeddings for files and stream them, so if you have 10 GB of file, it can continuously generate embeddings Chunk by Chunk, that you can segment semantically, and store them in the vector database of your choice, Thus it eliminates bulk embeddings storage on RAM at once. The embedding process happens separetly from the main process, so as to maintain high performance enabled by rust MPSC. Find our blog.

EmbedAnythingXWeaviate

🦀 Why Embed Anything

➡️Faster execution.
➡️No Pytorch Dependency, thus low-memory footprint and easy to deploy on cloud.
➡️Memory Management: Rust enforces memory management simultaneously, preventing memory leaks and crashes that can plague other languages
➡️True multithreading
➡️Running embedding models locally and efficiently
➡️Candle allows inferences on CUDA-enabled GPUs right out of the box.
➡️Decrease the memory usage.
➡️Supports range of models, Dense, Sparse, Late-interaction, ReRanker, ModernBert.

🍓 Our Past Collaborations:

We have collaborated with reputed enterprise like Elastic, Weaviate, SingleStore and Datahours

You can get in touch with us for further collaborations.

Benchmarks

Only measures embedding model inference speed, on onnx-runtime. Code

⭐ Supported Models

We support any hugging-face models on Candle. And We also support ONNX runtime for BERT and ColPali.

How to add custom model on candle: from_pretrained_hf

model = EmbeddingModel.from_pretrained_hf(
    WhichModel.Bert, model_id="model link from huggingface"
)
config = TextEmbedConfig(chunk_size=1000, batch_size=32)
data = embed_anything.embed_file("file_address", embedder=model, config=config)
Model HF link
Jina Jina Models
Bert All Bert based models
CLIP openai/clip-*
Whisper OpenAI Whisper models
ColPali starlight-ai/colpali-v1.2-merged-onnx
Colbert answerdotai/answerai-colbert-small-v1, jinaai/jina-colbert-v2 and more
Splade Splade Models and other Splade like models
Reranker Jina Reranker Models, Xenova/bge-reranker

Splade Models:

model = EmbeddingModel.from_pretrained_hf(
    WhichModel.SparseBert, "prithivida/Splade_PP_en_v1"
)

ONNX-Runtime: from_pretrained_onnx

BERT

model = EmbeddingModel.from_pretrained_onnx(
  WhichModel.Bert, model_id="onnx_model_link"
)

ColPali

model: ColpaliModel = ColpaliModel.from_pretrained_onnx("starlight-ai/colpali-v1.2-merged-onnx", None)

Colbert

sentences = [
"The quick brown fox jumps over the lazy dog", 
"The cat is sleeping on the mat", "The dog is barking at the moon", 
"I love pizza", 
"The dog is sitting in the park"]

model = ColbertModel.from_pretrained_onnx("jinaai/jina-colbert-v2", path_in_repo="onnx/model.onnx")
embeddings = model.embed(sentences, batch_size=2)

ModernBERT

model = EmbeddingModel.from_pretrained_onnx(
    WhichModel.Bert, ONNXModel.ModernBERTBase, dtype = Dtype.Q4F16
)

ReRankers

reranker = Reranker.from_pretrained("jinaai/jina-reranker-v1-turbo-en", dtype=Dtype.F16)

results: list[RerankerResult] = reranker.rerank(["What is the capital of France?"], ["France is a country in Europe.", "Paris is the capital of France."], 2)

For Semantic Chunking

model = EmbeddingModel.from_pretrained_hf(
    WhichModel.Bert, model_id="sentence-transformers/all-MiniLM-L12-v2"
)

# with semantic encoder
semantic_encoder = EmbeddingModel.from_pretrained_hf(WhichModel.Jina, model_id = "jinaai/jina-embeddings-v2-small-en")
config = TextEmbedConfig(chunk_size=1000, batch_size=32, splitting_strategy = "semantic", semantic_encoder=semantic_encoder)

For late-chunking

config = TextEmbedConfig(
    chunk_size=1000,
    batch_size=8,
    splitting_strategy="sentence",
    late_chunking=True,
)

# Embed a single file
data: list[EmbedData] = model.embed_file("test_files/attention.pdf", config=config)

🧑‍🚀 Getting Started

💚 Installation

pip install embed-anything

For GPUs and using special models like ColPali

pip install embed-anything-gpu

Usage

➡️ Usage For 0.3 and later version

To use local embedding: we support Bert and Jina

model = EmbeddingModel.from_pretrained_local(
    WhichModel.Bert, model_id="Hugging_face_link"
)
data = embed_anything.embed_file("test_files/test.pdf", embedder=model)

For multimodal embedding: we support CLIP

Requirements Directory with pictures you want to search for example we have test_files with images of cat, dogs etc

import embed_anything
from embed_anything import EmbedData
model = embed_anything.EmbeddingModel.from_pretrained_local(
    embed_anything.WhichModel.Clip,
    model_id="openai/clip-vit-base-patch16",
    # revision="refs/pr/15",
)
data: list[EmbedData] = embed_anything.embed_directory("test_files", embedder=model)
embeddings = np.array([data.embedding for data in data])
query = ["Photo of a monkey?"]
query_embedding = np.array(
    embed_anything.embed_query(query, embedder=model)[0].embedding
)
similarities = np.dot(embeddings, query_embedding)
max_index = np.argmax(similarities)
Image.open(data[max_index].text).show()

Audio Embedding using Whisper

requirements: Audio .wav files.

import embed_anything
from embed_anything import (
    AudioDecoderModel,
    EmbeddingModel,
    embed_audio_file,
    TextEmbedConfig,
)
# choose any whisper or distilwhisper model from https://huggingface.co/distil-whisper or https://huggingface.co/collections/openai/whisper-release-6501bba2cf999715fd953013
audio_decoder = AudioDecoderModel.from_pretrained_hf(
    "openai/whisper-tiny.en", revision="main", model_type="tiny-en", quantized=False
)
embedder = EmbeddingModel.from_pretrained_hf(
    embed_anything.WhichModel.Bert,
    model_id="sentence-transformers/all-MiniLM-L6-v2",
    revision="main",
)
config = TextEmbedConfig(chunk_size=1000, batch_size=32)
data = embed_anything.embed_audio_file(
    "test_files/audio/samples_hp0.wav",
    audio_decoder=audio_decoder,
    embedder=embedder,
    text_embed_config=config,
)
print(data[0].metadata)

Using ONNX Models

To use ONNX models, you can either use the ONNXModel enum or the model_id from the Hugging Face model.

model = EmbeddingModel.from_pretrained_onnx(
  WhichModel.Bert, model_name = ONNXModel.AllMiniLML6V2Q
)

For some models, you can also specify the dtype to use for the model.

model = EmbeddingModel.from_pretrained_onnx(
    WhichModel.Bert, ONNXModel.ModernBERTBase, dtype = Dtype.Q4F16
)

Using the above method is best to ensure that the model works correctly as these models are tested. But if you want to use other models, like finetuned models, you can use the hf_model_id and path_in_repo to load the model like below.

model = EmbeddingModel.from_pretrained_onnx(
  WhichModel.Jina, hf_model_id = "jinaai/jina-embeddings-v2-small-en", path_in_repo="model.onnx"
)

To see all the ONNX models supported with model_name, see here

⁉️FAQ

Do I need to know rust to use or contribute to embedanything?

The answer is No. EmbedAnything provides you pyo3 bindings, so you can run any function in python without any issues. To contibute you should check out our guidelines and python folder example of adapters.

How is it different from fastembed?

We provide both backends, candle and onnx. On top of it we also give an end-to-end pipeline, that is you can ingest different data-types and index to any vector database, and inference any model. Fastembed is just an onnx-wrapper.

We've received quite a few questions about why we're using Candle.

One of the main reasons is that Candle doesn't require any specific ONNX format models, which means it can work seamlessly with any Hugging Face model. This flexibility has been a key factor for us. However, we also recognize that we’ve been compromising a bit on speed in favor of that flexibility.

🚧 Contributing to EmbedAnything

First of all, thank you for taking the time to contribute to this project. We truly appreciate your contributions, whether it's bug reports, feature suggestions, or pull requests. Your time and effort are highly valued in this project. 🚀

This document provides guidelines and best practices to help you to contribute effectively. These are meant to serve as guidelines, not strict rules. We encourage you to use your best judgment and feel comfortable proposing changes to this document through a pull request.

  • Roadmap
  • Quick Start
  • Guidelines
  • 🏎️ RoadMap

    Accomplishments

    One of the aims of EmbedAnything is to allow AI engineers to easily use state of the art embedding models on typical files and documents. A lot has already been accomplished here and these are the formats that we support right now and a few more have to be done.

    Adding Fine-tuning

    One of the major goals of this year is to add finetuning these models on your data. Like a simple sentence transformer does.

    🖼️ Modalities and Source

    We’re excited to share that we've expanded our platform to support multiple modalities, including:

    • Audio files

    • Markdowns

    • Websites

    • Images

    • Videos

    • Graph

    This gives you the flexibility to work with various data types all in one place! 🌐

    💜 Product

    We’ve rolled out some major updates in version 0.3 to improve both functionality and performance. Here’s what’s new:

    • Semantic Chunking: Optimized chunking strategy for better Retrieval-Augmented Generation (RAG) workflows.

    • Streaming for Efficient Indexing: We’ve introduced streaming for memory-efficient indexing in vector databases. Want to know more? Check out our article on this feature here: https://www.analyticsvidhya.com/blog/2024/09/vector-streaming/

    • Zero-Shot Applications: Explore our zero-shot application demos to see the power of these updates in action.

    • Intuitive Functions: Version 0.3 includes a complete refactor for more intuitive functions, making the platform easier to use.

    • Chunkwise Streaming: Instead of file-by-file streaming, we now support chunkwise streaming, allowing for more flexible and efficient data processing.

    Check out the latest release : and see how these features can supercharge your GenerativeAI pipeline! ✨

    🚀Coming Soon

    ⚙️ Performance

    We now support ONNX as well

    ➡️ Support for GGUF models

    • Significantly faster performance
    • Stay tuned for these exciting updates! 🚀

    🫐Embeddings:

    We had multimodality from day one for our infrastructure. We have already included it for websites, images and audios but we want to expand it further to.

    ☑️Graph embedding -- build deepwalks embeddings depth first and word to vec
    ☑️Video Embedding
    ☑️ Yolo Clip

    🌊Expansion to other Vector Adapters

    We currently support a wide range of vector databases for streaming embeddings, including:

    • Elastic: thanks to amazing and active Elastic team for the contribution
    • Weaviate
    • Pinecone
    • Qdrant
    • Milvus

    How to add an adpters: https://starlight-search.com/blog/2024/02/25/adapter-development-guide.md

    But we're not stopping there! We're actively working to expand this list.

    Want to Contribute? If you’d like to add support for your favorite vector database, we’d love to have your help! Check out our contribution.md for guidelines, or feel free to reach out directly starlight-search@proton.me. Let's build something amazing together! 💡

    A big Thank you to all our StarGazers

    Star History

    Star History Chart

    Download files

    Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

    Source Distribution

    embed_anything-0.5.6.tar.gz (946.7 kB view details)

    Uploaded Source

    Built Distributions

    If you're not sure about the file name format, learn more about wheel file names.

    embed_anything-0.5.6-cp313-cp313-win_amd64.whl (17.4 MB view details)

    Uploaded CPython 3.13Windows x86-64

    embed_anything-0.5.6-cp313-cp313-manylinux_2_34_x86_64.whl (19.3 MB view details)

    Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

    embed_anything-0.5.6-cp313-cp313-macosx_11_0_arm64.whl (19.4 MB view details)

    Uploaded CPython 3.13macOS 11.0+ ARM64

    embed_anything-0.5.6-cp312-cp312-win_amd64.whl (17.4 MB view details)

    Uploaded CPython 3.12Windows x86-64

    embed_anything-0.5.6-cp312-cp312-manylinux_2_34_x86_64.whl (19.3 MB view details)

    Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

    embed_anything-0.5.6-cp312-cp312-macosx_11_0_arm64.whl (19.4 MB view details)

    Uploaded CPython 3.12macOS 11.0+ ARM64

    embed_anything-0.5.6-cp311-cp311-win_amd64.whl (17.4 MB view details)

    Uploaded CPython 3.11Windows x86-64

    embed_anything-0.5.6-cp311-cp311-manylinux_2_34_x86_64.whl (19.3 MB view details)

    Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

    embed_anything-0.5.6-cp311-cp311-macosx_11_0_arm64.whl (19.4 MB view details)

    Uploaded CPython 3.11macOS 11.0+ ARM64

    embed_anything-0.5.6-cp310-cp310-win_amd64.whl (17.4 MB view details)

    Uploaded CPython 3.10Windows x86-64

    embed_anything-0.5.6-cp310-cp310-manylinux_2_34_x86_64.whl (19.3 MB view details)

    Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

    embed_anything-0.5.6-cp39-cp39-win_amd64.whl (17.4 MB view details)

    Uploaded CPython 3.9Windows x86-64

    embed_anything-0.5.6-cp39-cp39-manylinux_2_34_x86_64.whl (19.3 MB view details)

    Uploaded CPython 3.9manylinux: glibc 2.34+ x86-64

    embed_anything-0.5.6-cp38-cp38-win_amd64.whl (17.4 MB view details)

    Uploaded CPython 3.8Windows x86-64

    File details

    Details for the file embed_anything-0.5.6.tar.gz.

    File metadata

    • Download URL: embed_anything-0.5.6.tar.gz
    • Upload date:
    • Size: 946.7 kB
    • Tags: Source
    • Uploaded using Trusted Publishing? Yes
    • Uploaded via: maturin/1.8.6

    File hashes

    Hashes for embed_anything-0.5.6.tar.gz
    Algorithm Hash digest
    SHA256 16677e6fa237ddb1c0370e4fde34402e1e1ad7c49b0500cf75714d75714ad954
    MD5 a246613e817b19fa7e34358b64252789
    BLAKE2b-256 108b289e5b7e814e313010e68cefdc89993f9ee28698b96206018007fe250815

    See more details on using hashes here.

    File details

    Details for the file embed_anything-0.5.6-cp313-cp313-win_amd64.whl.

    File metadata

    File hashes

    Hashes for embed_anything-0.5.6-cp313-cp313-win_amd64.whl
    Algorithm Hash digest
    SHA256 5db470ea52fd143f29bd1dd408c047bab67b2b675bb466ac0e0848c9c4901eb9
    MD5 d1f351f9a0849558b44ec25c73d97bfd
    BLAKE2b-256 63cce2c87317f545e1b635484df0ad431a5a78afbec2003480e3e8edcfa896f5

    See more details on using hashes here.

    File details

    Details for the file embed_anything-0.5.6-cp313-cp313-manylinux_2_34_x86_64.whl.

    File metadata

    File hashes

    Hashes for embed_anything-0.5.6-cp313-cp313-manylinux_2_34_x86_64.whl
    Algorithm Hash digest
    SHA256 e2da88475982441b9be50a8ca80f2a6ec607c04b69b5bc4ba79ebee7ecf23fbd
    MD5 f4a80361eb4629055b430aa939f877d0
    BLAKE2b-256 702296b483addf0f1557027d7fef5b9f48754cf1656c5dbe2d201f688a066e33

    See more details on using hashes here.

    File details

    Details for the file embed_anything-0.5.6-cp313-cp313-macosx_11_0_arm64.whl.

    File metadata

    File hashes

    Hashes for embed_anything-0.5.6-cp313-cp313-macosx_11_0_arm64.whl
    Algorithm Hash digest
    SHA256 6a549e7c5e397be840f539d664cfc18aba674e6b8f8b72322624675793b18543
    MD5 2c9159052abcf969cbea4502e8b276e5
    BLAKE2b-256 77efdb9bb419f603d55a55122b5452435cb91f3825a04a0d24acfb0262de6817

    See more details on using hashes here.

    File details

    Details for the file embed_anything-0.5.6-cp312-cp312-win_amd64.whl.

    File metadata

    File hashes

    Hashes for embed_anything-0.5.6-cp312-cp312-win_amd64.whl
    Algorithm Hash digest
    SHA256 010e8cc2473a68b98192baeac3bfc2c529bc071c482d0a03d9476117ccd9c26c
    MD5 a8b5e7279c5c8d98fc9d5f209238aa1f
    BLAKE2b-256 6066d4aed142eef01ab58d60bbfa0341758c1ee592710e3579311502a6e60f5e

    See more details on using hashes here.

    File details

    Details for the file embed_anything-0.5.6-cp312-cp312-manylinux_2_34_x86_64.whl.

    File metadata

    File hashes

    Hashes for embed_anything-0.5.6-cp312-cp312-manylinux_2_34_x86_64.whl
    Algorithm Hash digest
    SHA256 167f7416ab7f21749e921f6c2c814b1e6ff33744e37c40791034e818ddc9c9db
    MD5 8bdcf20c08990db8fa45fcf1af84fca4
    BLAKE2b-256 13ed99c003f92b30933b47b2f864dc9bb6005479097576360c2a4726315f4bbe

    See more details on using hashes here.

    File details

    Details for the file embed_anything-0.5.6-cp312-cp312-macosx_11_0_arm64.whl.

    File metadata

    File hashes

    Hashes for embed_anything-0.5.6-cp312-cp312-macosx_11_0_arm64.whl
    Algorithm Hash digest
    SHA256 6ee2154303883a75cb9f7c57c74e49fffb38151aee1ecd0e1ba00eda94508e3d
    MD5 43f8165b2734b2c82588a86fd14dec78
    BLAKE2b-256 44740fb29e69dd5a03a793578166e7d0207dd6a8d213c22febf6701179cdc726

    See more details on using hashes here.

    File details

    Details for the file embed_anything-0.5.6-cp311-cp311-win_amd64.whl.

    File metadata

    File hashes

    Hashes for embed_anything-0.5.6-cp311-cp311-win_amd64.whl
    Algorithm Hash digest
    SHA256 d64975863473e70d26069a641cfcaf722fe70864970d94d267ea7aad6d3b7dd2
    MD5 542cb7d13e5d96d1462e0093a33b0a69
    BLAKE2b-256 e8ea8a35eadc638b462f60557865c2a61483c5774df6cc479f06959050907684

    See more details on using hashes here.

    File details

    Details for the file embed_anything-0.5.6-cp311-cp311-manylinux_2_34_x86_64.whl.

    File metadata

    File hashes

    Hashes for embed_anything-0.5.6-cp311-cp311-manylinux_2_34_x86_64.whl
    Algorithm Hash digest
    SHA256 1e7acc52dacdae581466d9537376509459741fba907ae990c34b0ee278e3baaf
    MD5 0dcbe3e3428e132604c28064ab4b8a25
    BLAKE2b-256 a8910e2658b2ec7d8e19c2fe48e979b67308e8538c76e057ef984b18a15cede9

    See more details on using hashes here.

    File details

    Details for the file embed_anything-0.5.6-cp311-cp311-macosx_11_0_arm64.whl.

    File metadata

    File hashes

    Hashes for embed_anything-0.5.6-cp311-cp311-macosx_11_0_arm64.whl
    Algorithm Hash digest
    SHA256 bdad96c1d2a161c87d7eac63f14397539dbc02ba93afe8fb4af88ccb1ed3a76a
    MD5 cddf9f4c1c7327ca0169767da4f51b22
    BLAKE2b-256 798614a6e7ac75e499c85e3918e27b576fed1ab801e32bf20e1b2cf40cd7e088

    See more details on using hashes here.

    File details

    Details for the file embed_anything-0.5.6-cp310-cp310-win_amd64.whl.

    File metadata

    File hashes

    Hashes for embed_anything-0.5.6-cp310-cp310-win_amd64.whl
    Algorithm Hash digest
    SHA256 eb8b56f98a26df26ba61594472835c4a03430f82fff2898a3d4fa1cb6e7f7ba0
    MD5 3f3115d11adbcc1d9c483a85735ed828
    BLAKE2b-256 6c82ab7a9bde902324f430393f17019dfc26cd23b021a0ed7745b1aad80058b9

    See more details on using hashes here.

    File details

    Details for the file embed_anything-0.5.6-cp310-cp310-manylinux_2_34_x86_64.whl.

    File metadata

    File hashes

    Hashes for embed_anything-0.5.6-cp310-cp310-manylinux_2_34_x86_64.whl
    Algorithm Hash digest
    SHA256 dabe33993d61d7d2e11be86706b555ed9a3822af30244f1e03a4e39796b272eb
    MD5 d96e8c769c461f6f1c46fe5d633fb106
    BLAKE2b-256 ce935b0a5bd029064ac9ba873df6847034a3118baff9432fe549981fb02f42c5

    See more details on using hashes here.

    File details

    Details for the file embed_anything-0.5.6-cp39-cp39-win_amd64.whl.

    File metadata

    File hashes

    Hashes for embed_anything-0.5.6-cp39-cp39-win_amd64.whl
    Algorithm Hash digest
    SHA256 3ce8ffa60c02f0dfe9cb669c482dacae433a46837ed3cd9a81ffb6ab8b1bbce2
    MD5 02e576626b57365c86a9f1e4625f14e8
    BLAKE2b-256 7ea6f198f3945135da031596eb3b0195a958e908034ae0ec996e240d83a88a00

    See more details on using hashes here.

    File details

    Details for the file embed_anything-0.5.6-cp39-cp39-manylinux_2_34_x86_64.whl.

    File metadata

    File hashes

    Hashes for embed_anything-0.5.6-cp39-cp39-manylinux_2_34_x86_64.whl
    Algorithm Hash digest
    SHA256 78e45836cb376804dd329c82eb8bbefce3341f50567a792a218602791f81f18c
    MD5 fc5a2159a11f84ddfb94311548718c73
    BLAKE2b-256 6c42e057716df7db18f16bdb263843738d52f5054c22b7688e216182e1e79404

    See more details on using hashes here.

    File details

    Details for the file embed_anything-0.5.6-cp38-cp38-win_amd64.whl.

    File metadata

    File hashes

    Hashes for embed_anything-0.5.6-cp38-cp38-win_amd64.whl
    Algorithm Hash digest
    SHA256 100d790b8b6fb72d78b7a1f0240b957acb1765ab2abad1574a6ae84bd0680380
    MD5 e05279d22c60c931a2e026007baec27f
    BLAKE2b-256 c0b684053cba79d5121bb5857da0d0137a12bd0ccd554bdb8bf29d85ac42e803

    See more details on using hashes here.

    Release history Release notifications | RSS feed

    0.7.1

    14 files

    0.7.0

    14 files

    0.6.6

    16 files

    0.6.4

    14 files

    0.6.3

    14 files

    0.6.2

    14 files

    0.6.0

    15 files

    This release

    0.5.6 This release

    15 files

    0.5.5

    15 files

    0.5.3

    15 files

    0.5.2

    13 files

    0.5.0

    13 files

    0.4.18

    13 files

    0.4.17

    13 files

    0.4.15

    16 files

    0.4.14

    16 files

    0.4.13

    16 files

    0.4.12

    16 files

    0.4.11

    16 files

    0.4.10

    16 files

    0.4.4

    16 files

    0.4.3

    16 files

    0.3.1

    16 files

    0.3.0

    16 files

    0.2.3

    16 files

    0.2.2

    16 files

    0.2.1

    16 files

    0.1.24

    16 files

    0.1.21

    16 files

    0.1.20

    16 files

    0.1.19

    16 files

    0.1.18

    3 files

    0.1.17

    3 files

    0.1.16

    2 files

    0.1.15

    1 file

    0.1.14

    2 files

    0.1.11

    3 files

    0.1.10

    2 files

    0.1.9

    3 files

    0.1.8

    3 files

    0.1.7

    2 files

    0.1.5

    1 file

    0.1.4

    2 files

    Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page