Skip to content
The Internet Compass

Packages

crates.io packages

124 crates.io packages synced from the official registry, ranked by popularity.

proc-macro2

A substitute implementation of the compiler's `proc_macro` API to decouple token-based libraries from the procedural macro use case.

v1.0.107

cfg-if

A macro to ergonomically define an item depending on a large number of #[cfg] parameters. Structured like an if-else chain, the first matching branch is the item that gets emitted.

v1.0.4

memchr

Provides extremely fast (uses SIMD on x86_64, aarch64 and wasm32) routines for 1, 2 or 3 byte search and single substring search.

v2.8.3

unicode-ident

Determine whether characters have the XID_Start or XID_Continue properties according to Unicode Standard Annex #31

v1.0.24

cc

A build-time dependency for Cargo build scripts to assist in invoking the native C compiler to compile native C code into a static archive to be linked into Rust code.

v1.4.5

regex

2 advisories

An implementation of regular expressions for Rust. This implementation uses finite automata and guarantees linear time matching on all inputs.

v1.13.1

strsim

Implementations of string similarity metrics. Includes Hamming, Levenshtein, OSA, Damerau-Levenshtein, Jaro, Jaro-Winkler, and Sørensen-Dice.

v0.11.1

scopeguard

A RAII scope guard that will run a given closure when it goes out of scope, even if the code between panics (assuming unwinding panic). Defines the macros `defer!`, `defer_on_unwind!`, `defer_on_success!` as shorthands for guards with one of the implemented strategies.

v1.2.0

cpufeatures

Lightweight runtime CPU feature detection for aarch64, loongarch64, and x86/x86_64 targets, with no_std support and support for mobile targets including Android and iOS

v0.3.1

sha2

3 advisories

Pure Rust implementation of the SHA-2 hash function family including SHA-224, SHA-256, SHA-384, and SHA-512.

v0.11.0

toml

A native Rust encoder and decoder of TOML-formatted files and streams. Provides implementations of the standard Serialize/Deserialize traits for TOML data to facilitate deserializing and serializing Rust structures.

v1.1.5+spec-1.1.0

time

4 advisories

Date and time library. Fully interoperable with the standard library. Mostly compatible with #![no_std].

v0.3.55

typenum

Typenum is a Rust library for type-level numbers evaluated at compile time. It currently supports bits, unsigned integers, and signed integers. It also provides a type-level array of type-level numbers, but its implementation is incomplete.

v1.20.1

futures

An implementation of futures and streams featuring zero allocations, composability, and iterator-like interfaces.

v0.3.34

pkg-config

A library to run the pkg-config system tool at build time in order to be used in Cargo build scripts.

v0.3.33

darling_macro

Internal support for a proc-macro library for reading attributes into structs when implementing custom derives. Use https://crates.io/crates/darling in your code.

v0.24.0

darling_core

Helper crate for proc-macro library for reading attributes into structs when implementing custom derives. Use https://crates.io/crates/darling in your code.

v0.24.0

time-macros

Procedural macros for the time crate. This crate is an implementation detail and should not be relied upon directly.

v0.2.32

zeroize

Securely clear secrets from memory with a simple trait built on stable Rust primitives which guarantee memory is zeroed using an operation will not be 'optimized away' by the compiler. Uses a portable pure Rust implementation that works everywhere, even WASM!

v1.9.0

flate2

DEFLATE compression and decompression exposed as Read/BufRead/Write streams. Supports miniz_oxide and multiple zlib implementations. Supports zlib, gzip, and raw deflate streams.

v1.1.9

anstream

2 advisories

IO stream adapters for writing colored text that will gracefully degrade according to your terminal's capabilities.

v1.0.0

stable_deref_trait

An unsafe marker trait for types like Box and Rc that dereference to a stable address even when moved, and hence can be used with libraries such as owning_ref and rental.

v1.2.1

unicode-xid

Determine whether characters have the XID_Start or XID_Continue properties according to Unicode Standard Annex #31.

v0.2.6

openssl-probe

A library for helping to find system-wide trust anchor ("root") certificate locations based on paths typically used by `openssl`.

v0.2.1

unicode-normalization

This crate provides functions for normalization of Unicode strings, including Canonical and Compatible Decomposition and Recomposition, as described in Unicode Standard Annex #15.

v0.1.25

ipnet

Provides types and useful methods for working with IPv4 and IPv6 network addresses, commonly called IP prefixes. The new `IpNet`, `Ipv4Net`, and `Ipv6Net` types build on the existing `IpAddr`, `Ipv4Addr`, and `Ipv6Addr` types already provided in Rust's standard library and align to their design to stay consistent. The module also provides useful traits that extend `Ipv4Addr` and `Ipv6Addr` with methods for `Add`, `Sub`, `BitAnd`, and `BitOr` operations. The module only uses stable feature so it is guaranteed to compile using the stable toolchain.

v2.12.1

arrayvec

A vector with fixed capacity, backed by an array (it can be stored on the stack too). Implements fixed capacity ArrayVec and ArrayString.

v0.7.8

unicode-segmentation

This crate provides Grapheme Cluster, Word and Sentence boundaries according to Unicode Standard Annex #29 rules.

v1.13.3

num-conv

`num_conv` is a crate to convert between integer types without using `as` casts. This provides better certainty when refactoring, makes the exact behavior of code more explicit, and allows using turbofish syntax.

v0.2.2

powerfmt

`powerfmt` is a library that provides utilities for formatting values. This crate makes it significantly easier to support filling to a minimum width with alignment, avoid heap allocation, and avoid repetitive calculations.

v0.2.0

libloading

Bindings around the platform's dynamic library loading primitives with greatly improved memory safety.

v0.9.0

js-sys

Bindings for all JS global objects and functions in all JS environments like Node.js and browsers, built on `#[wasm_bindgen]` using the `wasm-bindgen` crate.

v0.3.104

vcpkg

A library to find native dependencies in a vcpkg tree at build time in order to be used in Cargo build scripts.

v0.2.15

half

Half-precision floating point f16 and bf16 types for Rust implementing the IEEE 754-2008 standard binary16 and bfloat16 types.

v2.7.1

der

Pure Rust embedded-friendly implementation of the Distinguished Encoding Rules (DER) for Abstract Syntax Notation One (ASN.1) as described in ITU X.690 with full support for heapless `no_std`/`no_alloc` targets

v0.8.1

textwrap

Library for word wrapping, indenting, and dedenting strings. Has optional support for Unicode and emojis as well as machine hyphenation.

v0.16.2

const-oid

Const-friendly implementation of the ISO/IEC Object Identifier (OID) standard as defined in ITU X.660, with support for BER/DER encoding/decoding as well as heapless no_std (i.e. embedded) support

v0.10.2

spki

X.509 Subject Public Key Info (RFC5280) describing public keys as well as their associated AlgorithmIdentifiers (i.e. OIDs)

v0.8.0

winapi-x86_64-pc-windows-gnu

Import libraries for the x86_64-pc-windows-gnu target. Please don't use this crate directly, depend on winapi instead.

v0.4.0

winapi-i686-pc-windows-gnu

Import libraries for the i686-pc-windows-gnu target. Please don't use this crate directly, depend on winapi instead.

v0.4.0

pkcs8

Pure Rust implementation of Public-Key Cryptography Standards (PKCS) #8: Private-Key Information Syntax Specification (RFC 5208), with additional support for PKCS#8v2 asymmetric key packages (RFC 5958)

v0.11.0

base64ct

Pure Rust implementation of Base64 (RFC 4648) which avoids any usages of data-dependent branches/LUTs and thereby provides portable "best effort" constant-time operation and embedded-friendly no_std support

v1.8.3

instant

Unmaintained, consider using web-time instead - A partial replacement for std::time::Instant that works on WASM to.

v0.1.13

dirs

A tiny low-level library that provides platform-specific standard locations of directories for config, cache and other data on Linux, Windows, macOS and Redox by leveraging the mechanisms defined by the XDG base/user directory specifications on Linux, the Known Folder API on Windows, and the Standard Directory guidelines on macOS.

v6.0.0

bincode

A binary serialization / deserialization strategy for transforming structs into bytes and vice versa!

v3.0.0

pem-rfc7468

PEM Encoding (RFC 7468) for PKIX, PKCS, and CMS Structures, implementing a strict subset of the original Privacy-Enhanced Mail encoding intended specifically for use with cryptographic keys, certificates, and other messages. Provides a no_std-friendly, constant-time implementation suitable for use with cryptographic private keys.

v1.0.0

tokio-native-tls

An implementation of TLS/SSL streams for Tokio using native-tls giving an implementation of TLS for nonblocking I/O streams.

v0.3.1

num

A collection of numeric types and traits for Rust, including bigint, complex, rational, range iterators, generic integers, and more!

v0.4.3

num_enum_derive

Internal implementation details for ::num_enum (Procedural macros to make inter-operation between primitives and enums easier)

v0.7.6

crypto-bigint

Pure Rust implementation of a big integer library which has been designed from the ground-up for use in cryptographic applications. Provides constant-time, no_std-friendly implementations of modern formulas using const generics.

v0.7.5

fs_extra

Expanding std::fs and std::io. Recursively copy folders with information about process and much more.

v1.3.0

brotli-decompressor

A brotli decompressor that with an interface avoiding the rust stdlib. This makes it suitable for embedded devices and kernels. It is designed with a pluggable allocator so that the standard lib's allocator may be employed. The default build also includes a stdlib allocator and stream interface. Disable this with --features=no-stdlib. Alternatively, --features=unsafe turns off array bounds checks and memory initialization but provides a safe interface for the caller. Without adding the --features=unsafe argument, all included code is safe. For compression in addition to this library, download https://github.com/dropbox/rust-brotli

v5.0.3

brotli

A brotli compressor and decompressor that with an interface avoiding the rust stdlib. This makes it suitable for embedded devices and kernels. It is designed with a pluggable allocator so that the standard lib's allocator may be employed. The default build also includes a stdlib allocator and stream interface. Disable this with --features=no-stdlib. All included code is safe.

v8.0.4

crc-catalog

Catalog of CRC algorithms (generated from http://reveng.sourceforge.net/crc-catalogue) expressed as simple Rust structs.

v2.5.0

globset

Cross platform single glob and glob set matching. Glob set matching is the process of matching one or more glob patterns against a single candidate path simultaneously, and returning all of the globs that matched.

v0.4.20

cookie

HTTP cookie parsing and cookie jar management. Supports signed and private (encrypted, authenticated) jars.

v0.18.2

tar

A Rust implementation of a TAR file reader and writer. This library does not currently handle compression, but it is abstract over all I/O readers and writers. Additionally, great lengths are taken to ensure that the entire contents are never required to be entirely resident in memory all at once.

v0.4.46

base16ct

Pure Rust implementation of Base16 a.k.a hexadecimal (RFC 4648) which avoids any usages of data-dependent branches/LUTs and thereby provides portable "best effort" constant-time operation and embedded-friendly no_std support

v1.0.0

alloc-no-stdlib

A dynamic allocator that may be used with or without the stdlib. This allows a package with nostd to allocate memory dynamically and be used either with a custom allocator, items on the stack, or by a package that wishes to simply use Box<>. It also provides options to use calloc or a mutable global variable for pre-zeroed memory

v3.0.0

elliptic-curve

General purpose Elliptic Curve Cryptography (ECC) support, including traits and generic types for representing various elliptic curve forms, scalars, points, and public/secret keys composed thereof.

v0.14.1

wit-bindgen

Rust bindings generator and runtime support for WIT and the component model. Used when compiling Rust programs to the component model.

v0.60.0

ecdsa

Pure Rust implementation of the Elliptic Curve Digital Signature Algorithm (ECDSA) as specified in FIPS 186-4 (Digital Signature Standard), implemented generically over elliptic curves, providing RFC6979 deterministic signing support as well as randomized signatures and signature verification

v0.17.0

sec1

Pure Rust implementation of SEC1: Elliptic Curve Cryptography encoding formats including ASN.1 DER encoded private keys as well as the Elliptic-Curve-Point-to-Octet-String encoding

v0.8.1

ed25519

Edwards Digital Signature Algorithm (EdDSA) over Curve25519 (as specified in RFC 8032) support library providing signature type definitions and PKCS#8 private key decoding/encoding support

v3.0.0

fancy-regex

An implementation of regexes, supporting a relatively rich set of features, including backreferences and look-around. Aims to be compatible with Oniguruma syntax when the relevant flag is set.

v0.19.0

rfc6979

Pure Rust implementation of RFC6979: Deterministic Usage of the Digital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA)

v0.6.0

pkcs1

Pure Rust implementation of Public-Key Cryptography Standards (PKCS) #1: RSA Cryptography Specifications Version 2.2 (RFC 8017)

v0.7.5

aws-lc-sys

AWS-LC is a general-purpose cryptographic library maintained by the AWS Cryptography team for AWS and their customers. It іs based on code from the Google BoringSSL project and the OpenSSL project.

v0.44.0

aws-lc-rs

aws-lc-rs is a cryptographic library using AWS-LC for its cryptographic operations. This library strives to be API-compatible with the popular Rust library named ring.

v1.18.0

aead

Traits for Authenticated Encryption with Associated Data (AEAD) algorithms, such as AES-GCM as ChaCha20Poly1305, which provide a high-level API

v0.6.1

scoped-tls

Library implementation of the standard library's old `scoped_thread_local!` macro for providing scoped access to thread local storage (TLS) so any type can be stored into TLS.

v1.0.1

ctor

Global, no_std-compatible constructors for all platforms that run before main (like C/C++ __attribute__((constructor)))

v1.0.13

chacha20

The ChaCha20 stream cipher (RFC 8439) implemented in pure Rust using traits from the RustCrypto `cipher` crate, with optional architecture-specific hardware acceleration (AVX2, SSE2). Additionally provides the ChaCha8, ChaCha12, XChaCha20, XChaCha12 and XChaCha8 stream ciphers, and also optional rand_core-compatible RNGs based on those ciphers.

v0.10.1

p256

Pure Rust implementation of the NIST P-256 (a.k.a. secp256r1, prime256v1) elliptic curve as defined in SP 800-186, with support for ECDH, ECDSA signing/verification, and general purpose curve arithmetic

v0.14.0

jiff

A date-time library that encourages you to jump into the pit of success. This library is heavily inspired by the Temporal project.

v0.2.35

dirs-next

A tiny low-level library that provides platform-specific standard locations of directories for config, cache and other data on Linux, Windows, macOS and Redox by leveraging the mechanisms defined by the XDG base/user directory specifications on Linux, the Known Folder API on Windows, and the Standard Directory guidelines on macOS.

v2.0.0

raw-cpuid

A library to parse the x86 CPUID instruction, written in rust with no external dependencies. The implementation closely resembles the Intel CPUID manual description. The library does only depend on libcore.

v11.6.0

polyval

POLYVAL is a GHASH-like universal hash over GF(2^128) useful for constructing a Message Authentication Code (MAC)

v0.7.3

downcast-rs

Trait object downcasting support using only safe Rust. It supports type parameters, associated types, and type constraints.

v2.0.2

secrecy

Wrapper types and traits for secret management which help ensure they aren't accidentally copied, logged, or otherwise exposed (as much as possible), and also ensure secrets are securely wiped from memory when dropped.

v0.10.3

litrs

Parse and inspect Rust literals (i.e. tokens in the Rust programming language representing fixed values). Particularly useful for proc macros, but can also be used outside of a proc-macro context.

v1.0.0

ghash

Universal hash over GF(2^128) useful for constructing a Message Authentication Code (MAC), as in the AES-GCM authenticated encryption cipher.

v0.6.0

aes-gcm

Pure Rust implementation of the AES-GCM (Galois/Counter Mode) Authenticated Encryption with Associated Data (AEAD) Cipher with optional architecture-specific hardware acceleration

v0.11.0

opentelemetry-http

Helper implementations for sending HTTP requests. Uses include propagating and extracting context over http, exporting telemetry, requesting sampling strategies.

v0.32.0

rust_decimal

Decimal number implementation written in pure Rust suitable for financial and fixed-precision calculations.

v1.42.1

sqlx

🧰 The Rust SQL Toolkit. An async, pure Rust SQL crate featuring compile-time checked queries without a DSL. Supports PostgreSQL, MySQL, and SQLite.

v0.9.0

matrixmultiply

General matrix multiplication for f32 and f64 matrices. Operates on matrices with general layout (they can use arbitrary row and column stride). Detects and uses SIMD features on x86/x86-64 and AArch64 transparently for higher performance. Uses a microkernel strategy, so that the implementation is easy to parallelize and optimize. Supports multithreading.

v0.3.11

peeking_take_while

Like `Iterator::take_while`, but calls the predicate on a peeked value. This allows you to use `Iterator::by_ref` and `Iterator::take_while` together, and still get the first value for which the `take_while` predicate returned false after dropping the `by_ref`.

v1.0.0

rawpointer

Extra methods for raw pointers and `NonNull<T>`. For example `.post_inc()` and `.pre_dec()` (c.f. `ptr++` and `--ptr`), `offset` and `add` for `NonNull<T>`, and the function `ptrdistance`.

v0.2.1

rustls-platform-verifier

rustls-platform-verifier supports verifying TLS certificates in rustls with the operating system verifier

v0.7.0

ndarray

An n-dimensional array for general elements and for numerics. Lightweight array views and slicing; views support chunking and splitting.

v0.17.2

rstest

Rust fixture based test framework. It use procedural macro to implement fixtures and table based tests.

v0.26.1

primeorder

Pure Rust implementation of complete addition formulas for prime order elliptic curves (Renes-Costello-Batina 2015). Generic over field elements and curve equation coefficients

v0.14.0

git2

Bindings to libgit2 for interoperating with git repositories. This library is both threadsafe and memory safe and allows both reading and writing git repositories.

v0.21.0

password-hash

Traits which describe the functionality of password hashing algorithms, with optional support for a `no_std`/`no_alloc`-friendly implementation of the PHC string format, as well as generic support for other formats (e.g. Modular Crypt Format)

v0.6.1

snap

A pure Rust implementation of the Snappy compression algorithm. Includes streaming compression and decompression.

v1.1.2

Inflector

Adds String based inflections for Rust. Snake, kebab, camel, sentence, class, title and table cases as well as ordinalize, deordinalize, demodulize, foreign key, and pluralize/singularize are supported as both traits and pure functions acting on String types.

v0.11.4

rgb

`struct RGB/RGBA/etc.` for sharing pixels between crates + convenience methods for color manipulation. Allows no-copy high-level interoperability. Also adds common convenience methods and implements standard Rust traits to make `RGB`/`RGBA` pixels and slices first-class Rust objects.

v0.8.53

rstest_macros

Rust fixture based test framework. It use procedural macro to implement fixtures and table based tests.

v0.26.1

normalize-line-endings

Takes an iterator over chars and returns a new iterator with all line endings (\r, \n, or \r\n) as \n

v0.3.0

integer-encoding

varint+zigzag and fixedint integer encoding/decoding (https://developers.google.com/protocol-buffers/docs/encoding)

v4.1.0

match_cfg

A convenience macro to ergonomically define an item depending on a large number of `#[cfg]` parameters. Structured like match statement, the first matching branch is the item that gets emitted.

v0.1.0

widestring

A wide string Rust library for converting to and from wide strings, such as those often used in Windows API or other FFI libaries. Both `u16` and `u32` string types are provided, including support for UTF-16 and UTF-32, malformed encoding, C-style strings, etc.

v1.2.1

educe

This crate offers procedural macros designed to facilitate the swift implementation of Rust's built-in traits.

v0.7.6

enumflags2_derive

Do not use directly, use the reexport in the `enumflags2` crate. This allows for better compatibility across versions.

v0.7.12

enum-ordinalize

This library enables enums to not only obtain the ordinal values of their variants but also allows for the construction of enums from an ordinal value.

v4.4.2

stacker

A stack growth library useful when implementing deeply recursive algorithms that may accidentally blow the stack.

v0.1.25

wit-bindgen-core

Low-level support for bindings generation based on WIT files for use with `wit-bindgen-cli` and other languages.

v0.60.0

wit-bindgen-rust

Rust bindings generator for WIT and the component model, typically used through the `wit-bindgen` crate's `generate!` macro.

v0.60.0

triomphe

A fork of std::sync::Arc with some extra functionality and without weak references (originally servo_arc)

v0.1.16

nalgebra

General-purpose linear algebra library with transformations and statically-sized or dynamically-sized matrices.

v0.35.0

jsonpath-rust

The library provides the basic functionality to find the set of the data according to the filtering query.

v1.0.8

scc

A collection of high-performance asynchronous/concurrent containers with both asynchronous and synchronous interfaces

v3.8.6

object_store

A generic object store interface for uniformly interacting with AWS S3, Google Cloud Storage, Azure Blob Storage and local files.

v0.14.1

hybrid-array

Hybrid typenum-based and const generic array types designed to provide the flexibility of typenum-based expressions while also allowing interoperability and a transition path to const generics

v0.4.14

p384

Pure Rust implementation of the NIST P-384 (a.k.a. secp384r1) elliptic curve as defined in SP 800-186 with support for ECDH, ECDSA signing/verification, and general purpose curve arithmetic support.

v0.14.0

bit_field

Simple bit field trait providing get_bit, get_bits, set_bit, and set_bits methods for Rust's integral types.

v0.10.3

webpki-root-certs

Mozilla trusted certificate authorities in self-signed X.509 format for use with crates other than webpki

v1.0.9

chacha20poly1305

Pure Rust implementation of the ChaCha20Poly1305 Authenticated Encryption with Additional Data Cipher (RFC 8439) with optional architecture-specific hardware acceleration. Also contains implementations of the XChaCha20Poly1305 extended nonce variant of ChaCha20Poly1305, and the reduced-round ChaCha8Poly1305 and ChaCha12Poly1305 lightweight variants.

v0.11.0

k256

secp256k1 elliptic curve library written in pure Rust with support for ECDSA signing/verification/public-key recovery, Taproot Schnorr signatures (BIP340), Elliptic Curve Diffie-Hellman (ECDH), and general-purpose secp256k1 elliptic curve group operations which can be used to implement arbitrary protocols

v0.14.0

enum-ordinalize-derive

This crate provides a procedural macro that enables enums to not only obtain the ordinal values of their variants but also allows for the construction of enums from an ordinal value.

v4.4.2

secp256k1

Rust wrapper library for Pieter Wuille's `libsecp256k1`. Implements ECDSA and BIP 340 signatures for the SECG elliptic curve group secp256k1 and related utilities.

v0.31.1

getset

Getset, we're ready to go! A procedural macro for generating the most basic getters and setters on fields.

v0.1.7

hickory-proto

hickory-proto is a safe and secure low-level DNS library. This is the foundational DNS protocol library used by the other higher-level Hickory DNS crates.

v0.26.1