Skip to main content

High-performance Windows Registry hive parser with Python bindings

Project description

Windows Registry Hive Parser

A high-performance, production-grade Windows Registry hive parser written in Rust.

Crates.io Documentation License

Features

  • 🚀 High Performance: Zero-copy parsing using memory-mapped files
  • 📦 Complete Support: Handles all common Windows registry hive formats
    • SYSTEM, SOFTWARE, SAM, SECURITY
    • NTUSER.DAT, UsrClass.dat
    • Amcache.hve, and more
    • Big data blocks (values > 16KB) fully supported
  • 🔒 Type-Safe: Strong typing for registry values and structures
  • ⚡ Lazy Evaluation: Parses structures only when accessed
  • 🛡️ Robust Error Handling: Comprehensive error types for debugging
  • 🧪 Well-Tested: Extensive test suite using real registry hives
  • 📚 Well-Documented: Complete API documentation with examples
  • 🐍 Python Bindings: High-performance Python bindings available

Installation

Rust

Add this to your Cargo.toml:

[dependencies]
reg-parser = "0.1"

Python

# Install from source (requires Rust toolchain)
pip install maturin
git clone https://github.com/ac-rn/reg-parser.git
cd reg-parser
maturin develop --release --features python

# Or use the build script
./build_python.sh release  # Linux/macOS
.\build_python.ps1 release # Windows

See PYTHON_BINDINGS.md and python/README.md for detailed Python documentation.

Quick Start

Rust

use reg_parser::Hive;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Open a registry hive
    let mut hive = Hive::open("SYSTEM")?;

    // Get the root key
    let mut root = hive.root_key()?;
    println!("Root key: {}", root.name()?);

    // Enumerate subkeys
    for mut subkey in root.subkeys()? {
        println!("  Subkey: {}", subkey.name()?);
    }

    // Enumerate values
    for value in root.values()? {
        println!("  Value: {} = {}", value.name(), value.data()?.to_string());
    }

    Ok(())
}

Python

import reg_parser

# Open a registry hive
hive = reg_parser.Hive.open("SYSTEM")

# Get the root key
root = hive.root_key()
print(f"Root key: {root.name()}")

# Enumerate subkeys
for subkey in root.subkeys():
    print(f"  Subkey: {subkey.name()}")

# Enumerate values
for value in root.values():
    data = value.data()
    print(f"  Value: {value.name()} = {data}")

Architecture

Binary Layout

Registry hives follow this structure:

[Base Block - 4KB]
  - Signature: "regf"
  - Version, timestamps, root offset
  - Checksum

[Hive Bins - variable size, 4KB aligned]
  [Hbin Header - 32 bytes]
    - Signature: "hbin"
    - Offset, size
  
  [Cells - variable size]
    [Cell Size - 4 bytes, negative if allocated]
    [Cell Data]
      - Key nodes (nk)
      - Value keys (vk)
      - Subkey lists (lf/lh/li/ri)
      - Security descriptors (sk)

Module Structure

  • header: Base block (regf) parsing
  • hbin: Hive bin block parsing
  • cell: Cell type definitions
  • key: Key node (nk) structures
  • value: Value key (vk) structures and data types
  • subkey_list: Subkey list parsing (lf/lh/li/ri)
  • hive: Main hive parser with memory-mapped I/O
  • error: Comprehensive error types
  • utils: Helper functions for binary parsing

Examples

Accessing Specific Values

use reg_parser::{Hive, ValueData};

let mut hive = Hive::open("SOFTWARE")?;
let mut root = hive.root_key()?;

// Navigate to a specific key
let mut subkeys = root.subkeys()?;
let mut microsoft_key = subkeys.into_iter()
    .find(|k| k.name().unwrap_or("") == "Microsoft")
    .ok_or("Microsoft key not found")?;

// Get a specific value
let value = microsoft_key.value("SomeValue")?;
match value.data()? {
    ValueData::String(s) => println!("String value: {}", s),
    ValueData::Dword(d) => println!("DWORD value: {}", d),
    ValueData::Binary(b) => println!("Binary value: {} bytes", b.len()),
    _ => println!("Other type"),
}

Deep Traversal

use reg_parser::Hive;

fn traverse_keys(key: &mut reg_parser::RegistryKey, depth: usize) -> Result<(), Box<dyn std::error::Error>> {
    let indent = "  ".repeat(depth);
    println!("{}{}", indent, key.name()?);

    // Print values
    for value in key.values()? {
        println!("{}  {} = {}", indent, value.name(), value.data()?.to_string());
    }

    // Recurse into subkeys
    for mut subkey in key.subkeys()? {
        traverse_keys(&mut subkey, depth + 1)?;
    }

    Ok(())
}

let mut hive = Hive::open("SYSTEM")?;
let mut root = hive.root_key()?;
traverse_keys(&mut root, 0)?;

Iterating Over Hive Bins

use reg_parser::Hive;

let hive = Hive::open("SYSTEM")?;

for hbin_result in hive.hbins() {
    let hbin = hbin_result?;
    println!("Hbin at offset {:#x}, size {:#x}", hbin.offset, hbin.size);
}

Performance

The parser is designed for maximum performance:

  • Memory-mapped I/O: Zero-copy access to hive data
  • Lazy parsing: Structures are parsed only when accessed
  • Caching: Parsed key nodes are cached to avoid redundant work
  • Minimal allocations: Uses slices and references where possible

Benchmarks

Run benchmarks with:

cargo bench

Typical performance on modern hardware:

  • Open hive: ~1-5ms
  • Root key access: ~10-50μs
  • Enumerate subkeys: ~100-500μs
  • Deep traversal (1000 keys): ~5-20ms

Testing

The library includes comprehensive tests using real registry hive files:

# Run all tests
cargo test

# Run integration tests
cargo test --test integration

# Run with output
cargo test -- --nocapture

Supported Registry Value Types

  • REG_NONE - No value type
  • REG_SZ - Null-terminated string
  • REG_EXPAND_SZ - String with environment variables
  • REG_BINARY - Binary data
  • REG_DWORD - 32-bit little-endian integer
  • REG_DWORD_BIG_ENDIAN - 32-bit big-endian integer
  • REG_LINK - Symbolic link
  • REG_MULTI_SZ - Multiple null-terminated strings
  • REG_QWORD - 64-bit little-endian integer
  • Resource types (list, descriptor, requirements)

Transaction Log Support

The parser now supports applying transaction logs (.LOG1, .LOG2) to recover uncommitted changes:

use reg_parser::Hive;

// Open hive with transaction logs applied
let hive = Hive::open_with_logs(
    "SYSTEM",
    Some("SYSTEM.LOG1"),
    Some("SYSTEM.LOG2")
)?;

// Save the cleaned hive
hive.save("SYSTEM_cleaned")?;

Applying Transaction Logs

// Apply a single transaction log
let base_hive = Hive::open("SYSTEM")?;
let cleaned_hive = base_hive.apply_transaction_log("SYSTEM.LOG1")?;

// Save the result
cleaned_hive.save("SYSTEM_cleaned")?;

Limitations and Future Work

Current Limitations

  • Write operations: No support for creating/modifying keys and values (read-only library)
    • Can save existing hives after applying transaction logs
    • Cannot create new keys or modify existing values

Planned Features

  • Security descriptor parsing and interpretation
  • Class name extraction
  • Full write support (create/modify keys and values)
  • Parallel parsing for multi-threaded workloads

Binary Format Reference

This parser implements the Windows Registry hive format as documented in:

Key Structures

Base Block (regf)

  • Offset: 0x0000
  • Size: 4096 bytes (0x1000)
  • Signature: "regf" (0x66676572)

Hive Bin (hbin)

  • Alignment: 4KB (0x1000)
  • Header Size: 32 bytes (0x20)
  • Signature: "hbin" (0x6E696268)

Cell Types

  • nk (Key Node): Registry key
  • vk (Value Key): Registry value
  • sk (Security): Security descriptor
  • lf (Fast Leaf): Subkey list with name hints
  • lh (Hash Leaf): Subkey list with name hashes
  • li (Index Leaf): Simple subkey list
  • ri (Index Root): List of subkey lists
  • db (Data Block): Big data block

Development Setup

# Clone the repository
git clone https://github.com/ac-rn/reg-parser.git
cd reg-parser

# Build the project
cargo build

# Run tests
cargo test

# Run benchmarks
cargo bench

# Generate documentation
cargo doc --open

License

This project is dual-licensed under:

You may choose either license for your use.

Project details


Download files

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

Source Distribution

regrs-0.1.0.tar.gz (58.3 kB view details)

Uploaded Source

Built Distributions

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

regrs-0.1.0-cp314-cp314-win_amd64.whl (318.4 kB view details)

Uploaded CPython 3.14Windows x86-64

regrs-0.1.0-cp313-cp313-win_amd64.whl (318.4 kB view details)

Uploaded CPython 3.13Windows x86-64

regrs-0.1.0-cp313-cp313-win32.whl (308.6 kB view details)

Uploaded CPython 3.13Windows x86

regrs-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (427.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

regrs-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (427.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

regrs-0.1.0-cp313-cp313-macosx_11_0_arm64.whl (401.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

regrs-0.1.0-cp313-cp313-macosx_10_12_x86_64.whl (410.5 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

regrs-0.1.0-cp312-cp312-win_amd64.whl (318.4 kB view details)

Uploaded CPython 3.12Windows x86-64

regrs-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (427.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

regrs-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (427.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

regrs-0.1.0-cp312-cp312-macosx_11_0_arm64.whl (401.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

regrs-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl (410.5 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

regrs-0.1.0-cp311-cp311-win_amd64.whl (312.9 kB view details)

Uploaded CPython 3.11Windows x86-64

regrs-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (428.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

regrs-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (428.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

regrs-0.1.0-cp311-cp311-macosx_11_0_arm64.whl (402.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

regrs-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl (411.6 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

regrs-0.1.0-cp310-cp310-win_amd64.whl (315.3 kB view details)

Uploaded CPython 3.10Windows x86-64

regrs-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (428.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

regrs-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (428.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

regrs-0.1.0-cp310-cp310-macosx_11_0_arm64.whl (402.0 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

regrs-0.1.0-cp310-cp310-macosx_10_12_x86_64.whl (411.5 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

regrs-0.1.0-cp39-cp39-win_amd64.whl (315.7 kB view details)

Uploaded CPython 3.9Windows x86-64

regrs-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (428.4 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

regrs-0.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (428.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

regrs-0.1.0-cp39-cp39-macosx_11_0_arm64.whl (402.2 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

regrs-0.1.0-cp39-cp39-macosx_10_12_x86_64.whl (411.8 kB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

regrs-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (428.6 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

regrs-0.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (428.9 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

regrs-0.1.0-cp38-cp38-macosx_11_0_arm64.whl (402.3 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

regrs-0.1.0-cp38-cp38-macosx_10_12_x86_64.whl (411.9 kB view details)

Uploaded CPython 3.8macOS 10.12+ x86-64

File details

Details for the file regrs-0.1.0.tar.gz.

File metadata

  • Download URL: regrs-0.1.0.tar.gz
  • Upload date:
  • Size: 58.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.10.2

File hashes

Hashes for regrs-0.1.0.tar.gz
Algorithm Hash digest
SHA256 be06cdc435eb0d657de4f11f562ead21e90b73471428ef9c7570560dd30ed1ca
MD5 11d5fdc3d3f0ded105b990c6d913a194
BLAKE2b-256 72d4b53ec42214ec74f2bfdffabc0261f9709cc84ae437d2a9d66526e0565c07

See more details on using hashes here.

File details

Details for the file regrs-0.1.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: regrs-0.1.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 318.4 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.10.2

File hashes

Hashes for regrs-0.1.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 a785923f7586f66ed104461486403440586e070fdb77a5ad12ab372dd7ebd441
MD5 dae078d2c098438cbacf48ba04b5494f
BLAKE2b-256 ef9c682205101d2f5e683e54d0ee6fe7138d605af3936f7142fa72b7846e8119

See more details on using hashes here.

File details

Details for the file regrs-0.1.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: regrs-0.1.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 318.4 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.10.2

File hashes

Hashes for regrs-0.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 63244daefae8c2fb3263d2b510615f21ca629de0128be130336fbaba51dc2784
MD5 baad4f71ca25d89189b49a06679e39dd
BLAKE2b-256 ad9e30444747bef8e8d2599a0cf6f700f73337919e3af438ae97406848227d4e

See more details on using hashes here.

File details

Details for the file regrs-0.1.0-cp313-cp313-win32.whl.

File metadata

  • Download URL: regrs-0.1.0-cp313-cp313-win32.whl
  • Upload date:
  • Size: 308.6 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.10.2

File hashes

Hashes for regrs-0.1.0-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 6fa311cac1fb479ccb022e2e22457802cc6a99328d5c7bd8949de7e1e65f8bd9
MD5 ebd4f49b8ea3c6d26fa52dd3e611f2e1
BLAKE2b-256 ecfb5e10894c7700f46412a4cdba24618011fec1f87c2bda2826ac4544ad840b

See more details on using hashes here.

File details

Details for the file regrs-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for regrs-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5420e0842d0c0a1a5bbfe439304664f82ff99d12ee91f4c4a69d27c04ab12463
MD5 5adc209bc5ab844e8c43536839cc2a72
BLAKE2b-256 682de95e13111aac3ed0d0ec3c25f0245519f3c1295cf67750b5da8fc3346f6f

See more details on using hashes here.

File details

Details for the file regrs-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for regrs-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f0880ea65347e3c7ddf69b895f11d88828453ccc807ce4a718e9c3dc6613f78f
MD5 ac5e8ffbd2710296c64fc98312aedb3d
BLAKE2b-256 c7aa4953999b9dfa02bfcb4b7a2f5560dd0e8c0d132aa364bcde2990de588808

See more details on using hashes here.

File details

Details for the file regrs-0.1.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for regrs-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2763317a74f43c9dabc2f2c626a849f915d20fb51e7cf267530b68624115be2c
MD5 b9600c75e630b6224191f597a0a0f3b4
BLAKE2b-256 3fc1449df6c0b18db0827b735c2d4944591d32ce6c8b86aa3a743de4f6977471

See more details on using hashes here.

File details

Details for the file regrs-0.1.0-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for regrs-0.1.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 11230cd36c05b25875ae7071a2f359b5dc391863f38b31985a617add6e9dd25b
MD5 6c7f55b92cdd75ad37933c0643bcf2c2
BLAKE2b-256 482f87d14bd92804b4a7e20a75bdd64794ed0a1f2c0fa82dce295c8743b24a56

See more details on using hashes here.

File details

Details for the file regrs-0.1.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: regrs-0.1.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 318.4 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.10.2

File hashes

Hashes for regrs-0.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2a3cf94806672a3ae4cdb559625d645cfd02d746646341f787e56156280a868b
MD5 274a0e96d9b234d1bccf6dcb5b471f32
BLAKE2b-256 152f56e6e725e7737ee2612df6f47e33a966e9fba6e0c43d87eece1a262a962c

See more details on using hashes here.

File details

Details for the file regrs-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for regrs-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 987fa11f1ca04bb6c604261906d0e36e7cd0f2bab8bc987813e93c1fa1fbac18
MD5 a0b56bcfa33021f479538cd7c0ee55ab
BLAKE2b-256 691f6d90d9eb65c526c638bf9dc051a89f07f6555687d4ed149a426b3bbfb08a

See more details on using hashes here.

File details

Details for the file regrs-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for regrs-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dd19c46e8b850d5000587ece33e1ea33b344c08d073180ccf3577185aef5cd37
MD5 3a5cc20b0b8e235af1bd17ed8ce3bdb3
BLAKE2b-256 7dc6b87bf4a315a6ac6bf6f67c44838b21d9d6da873383670f7ef6325b19c384

See more details on using hashes here.

File details

Details for the file regrs-0.1.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for regrs-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d4aa4243145fafed2c6de5502afa6ad3666d4d79cc9fc8029fa0861e315c1196
MD5 43a519f7cb27f0e72b8712e96ebedfd7
BLAKE2b-256 bdfb02535d0bbee53a4a10153f2e645c868e3214a8199b1b0a466266892b98df

See more details on using hashes here.

File details

Details for the file regrs-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for regrs-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ea58be872f4c2a7b4e48148ea23a64c452f7b3a386209fd48c6ee89d6009722b
MD5 6fa670a19168e7772d03c64d77317024
BLAKE2b-256 c5114cc7123be4aef3818e346abad94314fdc0ed8d2f826728fe09419f5ac924

See more details on using hashes here.

File details

Details for the file regrs-0.1.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: regrs-0.1.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 312.9 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.10.2

File hashes

Hashes for regrs-0.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ad74ea45d7584df47a614161f0743eb9bc99536fe5b26066b294c0d4308ff137
MD5 95d7c2c2a8da3ef6398d92a1e4bdda56
BLAKE2b-256 6ca6f4c04cf4477dace6bae40892cdcb413db1cac96bcb3d7591ca652e45af08

See more details on using hashes here.

File details

Details for the file regrs-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for regrs-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2d85ca2da00f9394afc1917d5f8fb3a21e709ed550193dd7ebb365f44ae30053
MD5 eba7abfa42093d56335448543ec63507
BLAKE2b-256 4274bbc2280ba974c0a303b929bb26a21ce18beb6aee327dba9805a04009843b

See more details on using hashes here.

File details

Details for the file regrs-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for regrs-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 94313c9695474227ae532150c8dcf980011d5864c094eb4b762579ae7dc2680d
MD5 3605d031a3b9ff0ee44a7dd8a14695ec
BLAKE2b-256 ce7b3f9ff42e3dad94cc75f025b0aeedec6cb04d9e5f5dff35f573224060157e

See more details on using hashes here.

File details

Details for the file regrs-0.1.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for regrs-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e5b5a36355e2114dc6fb99e2108a1fa3ffb057562a1bf10514861ced4ca92410
MD5 17b201ed16709723aafc7382d72d2cfa
BLAKE2b-256 4b205c16f1210d94dd50ef9879f5ace35b3b5d1599081468d667311cb9181276

See more details on using hashes here.

File details

Details for the file regrs-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for regrs-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1dbcbf443a4612bcc5697698bd0a1977ea049d269eff5030a757410a3fe9a86c
MD5 1e5b6f20690650ebed0f65f2da03dcec
BLAKE2b-256 dfd6da41ad982da6349e21150a279cd4058e0dc6c6a27ca93430ac99f1de29a8

See more details on using hashes here.

File details

Details for the file regrs-0.1.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: regrs-0.1.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 315.3 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.10.2

File hashes

Hashes for regrs-0.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8128e6aac43262b38a94479d5a95e9094a0b5294a0404fb6c628da699cd05198
MD5 8d17a8e2618c4a6f291241ee8801c925
BLAKE2b-256 7623ab2a8718fa40fd1e7d0106c600baf1b0117f9ac023094155067ffa664df0

See more details on using hashes here.

File details

Details for the file regrs-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for regrs-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ac1ddcaf65320c3ffd80ac853126f70fb1f4a3295b0fa81a344e526d2c74faa9
MD5 f0985d93bcde5981daf5d50f353c652c
BLAKE2b-256 f827b13704aa4fa839e0e07782ac276e01aef5b6ed6e792aa623dd2185fa2c8b

See more details on using hashes here.

File details

Details for the file regrs-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for regrs-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cd6e49c6e8899e80f68c52a8d7fbe59c3211b3a3b00c036c66ecb3896feaafeb
MD5 9850be669952519f1b4ca150ee736493
BLAKE2b-256 1013e7bb21cb9d0f166f55efb71a13e8915a25eda8e1ee762839d66f116b618b

See more details on using hashes here.

File details

Details for the file regrs-0.1.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for regrs-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bd9cf366c3db441020b9b8d93aa07d7b8be07ded2debed7e7625869b6e02dc3f
MD5 6b3483c069b60e153188c3181e4a990e
BLAKE2b-256 32ede078f99c64edb83c7e17892bac229db22b0aa827718e63413882274622b3

See more details on using hashes here.

File details

Details for the file regrs-0.1.0-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for regrs-0.1.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 33ec0110b3ad5d1e7f8f7f7106be92ae9ec7e78b8c95f8f6f4e7a62393d1f761
MD5 d69406da35cf24453e3e0b6d96d0620f
BLAKE2b-256 fe23edf21d7d50ef44ff8746cf18964e4e6c6d6d28500642c5ef17c4f8a7c857

See more details on using hashes here.

File details

Details for the file regrs-0.1.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: regrs-0.1.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 315.7 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.10.2

File hashes

Hashes for regrs-0.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 95c9649fef342b28f40b36c906140e0861bb57ac18343a7506c0de7c906bf36d
MD5 a7479c175f47cc5fff4a8066fd5649de
BLAKE2b-256 739c577c205c3dad1c45565c0caf0ca51569bb234d7c04a255e9ca1b7ad35f25

See more details on using hashes here.

File details

Details for the file regrs-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for regrs-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b5964b533e530ba90eb15f79259aba3c051bf4eaa88ead50e99c20a85545efd2
MD5 27bdcc4b04951c6f9bf1e783868f14d7
BLAKE2b-256 f3d63364ef57cfa85456a9d86fc63f65dfa58d80a4594f935f791ed0c6b56dc4

See more details on using hashes here.

File details

Details for the file regrs-0.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for regrs-0.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 22b92977da0eb00913f394442607b1e8117b1f7022a6b0220091d9715b3a39fa
MD5 c270fb739dff208cb9ec4dcac48ddfac
BLAKE2b-256 4b38cb38e7e0df83ed90b6be131606bf3320f624c8033863dfd04b2a463ab5b0

See more details on using hashes here.

File details

Details for the file regrs-0.1.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for regrs-0.1.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6af4d03f45881eb340d06bec6d75ff0d027a98d69f7586b1101c2bf6a4c5a3ed
MD5 65fc7b2d8317f9a800c1dc2d4d134b97
BLAKE2b-256 2cc36b58d83e22e058133521c67aeb993eed8ff890e2d672d354174244afcf77

See more details on using hashes here.

File details

Details for the file regrs-0.1.0-cp39-cp39-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for regrs-0.1.0-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 778a3cc50cb734f518ae0072520bc056f9aa51e9441f3b9adbd7d4260751962a
MD5 9e26d0fe81ba253fb9e164ce1f002e17
BLAKE2b-256 04705945a63c4ca4e1560bc63ca3ea8fd32de8afac6542a7af8f8a0053d80a27

See more details on using hashes here.

File details

Details for the file regrs-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for regrs-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f4e46bafd315975d5b7e7c613bf5dc4c24dd5fa51b87f1317c5c655370f7e3e0
MD5 bf697dd94532614cb4cbe8fc21ad4bb7
BLAKE2b-256 14674851721b918ea62b4eaa2e0bde3f63d7312be296d29c9f36c12d79bb6f34

See more details on using hashes here.

File details

Details for the file regrs-0.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for regrs-0.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 58ab85f8fc6cd3beffd83fb71b26105e42ae2bfcc214970eb3368ea349aa108d
MD5 56bd47ee4e14c8f331521ed928cccfd5
BLAKE2b-256 fa4637c716bc7067ea68cfc9cf6370ca6ae1117c47a98a44b5494def71c9f1a4

See more details on using hashes here.

File details

Details for the file regrs-0.1.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for regrs-0.1.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f6d05d01f6b759bb2be2ffb00d2d4ab72c6b75ffd188af37f7f1a2e31b9d260f
MD5 d04b3896bd266cbdd29aa62ae7bf415d
BLAKE2b-256 c5089e1a3532b87ecc3be1181d5114a8c65dcb576f82851234b16f1aee184ac9

See more details on using hashes here.

File details

Details for the file regrs-0.1.0-cp38-cp38-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for regrs-0.1.0-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 cdf0f4222963577f104c4714a7c87a5655a1ca95ac6baf498128e187ab4e9e97
MD5 12b06000d9d4b144bc0e10f792bc2d3b
BLAKE2b-256 f72f16012622bd4c1612454d99ff769300e3aa7335f3575f21fc6eb0da1517b7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page