Skip to main content

Symbolic regression via the EML operator — find the math formula hidden in your data

Project description

VietNamese click here!

[!IMPORTANT] 🚀 Release v0.2.2 is out! This release introduces the SmartSearcher Output Transformation framework (Identity, Square, Log, Inverse) to resolve non-linear targets, adaptive beam width settings, and early-stop optimizations. Read our version updates for details:

eml_sr: Primitivizing Continuous Mathematics in Rust

Crates.io PyPI License: MIT

System Installation Command Registry
Rust / Cargo cargo add eml_sr crates.io
Python / Pip pip install eml_sr pypi.org

Introduction

eml_sr is a high-performance Rust library built around one of the deepest structural discoveries in continuous mathematics: All elementary functions can be represented using the EML operator.

In the world of digital electronics, the NAND gate is the fundamental building block. Similarly, eml_sr provides the "EML operator" as a universal bridge for continuous mathematics. This library allows developers to represent complex formulas using either a uniform EML-only structure or a high-performance hybrid structure that combines EML with optimized standard operators.

Instead of relying solely on cumbersome Abstract Syntax Trees (AST), eml_sr gives you the power to streamline your mathematical architecture using EML as the unifying core.

Paradigm Shift with EML

eml_sr was not created to replace standard math libraries, but to provide a completely new approach to representing and discovering mathematical structures.

1. Data Structure Transformation: From Heterogeneous to Homogeneous

When building an Abstract Syntax Tree (AST) for a mathematical expression:

  • Traditional Method (Heterogeneous AST): Uses many different node types (Add, Mul, Sin, Exp...).

    • Pros: Direct description and extremely fast computation on current hardware.
    • Challenges: When writing formula transformation algorithms (like auto-differentiation or expression simplification), developers must handle countless branch cases (switch-case) for each operator.
  • The EML Approach (Homogeneous Binary Tree): Reduces the complexity of mathematical spaces by using EmlNode as a unifying structure.

    • Value Proposition: The diversity of mathematics is "compressed" into a streamlined graph structure. Whether using pure EML or optimized hybrids, your core code remains lean, predictable, and extremely safe.

2. Artificial Intelligence (Symbolic Regression): From Discrete Search to Continuous Optimization

In tasks where AI is required to automatically discover formulas from raw data:

  • Traditional Method (Combinatorial Search): AI must choose and combine from a "dictionary" containing dozens of different base operators (Base Set) through genetic algorithms.

    • Characteristics: Effective for short expressions, but the search space explodes exponentially as complexity increases.
  • The EML Approach (Continuous Optimization): Completely skips the function selection step. The AI is provided with a "Master Formula" – a massive EML tree containing all possibilities of elementary functions.

    • Value Proposition: EML turns the difficult "combinatorial search" problem into a smooth "Gradient Optimization" problem. By using standard optimizers (like Adam) on the tree branches and rounding weights (snapping), Neural Networks can automatically prune and reveal sharp, precise physical and mathematical laws, fundamentally solving the "black box" problem of AI.

3. The EML: Efficiency Meets Universality

To understand the unique value of eml_sr, think of the relationship between Standard Operators and the EML Operator:

  • Standard Operators (Sin, Cos, Pi, E...) are like "Lego Bricks": They are pre-shaped components. If you want to build a standard house, using Lego is fast and efficient. These are our "High-Speed Shortcuts" for discovering known mathematical laws.
  • The EML Operator is like "Clay": You can mold clay into any shape. While you can use clay to make a brick, its true power lies in creating complex, organic forms that no Lego brick could ever represent.

In eml_sr, we combine both. We provide standard constants and functions to ensure the engine is lightning-fast for common tasks. But we keep EML at the core to ensure the engine is never limited. When traditional mathematics encounters an unknown relationship, EML acts as the universal discovery engine to find laws that don't have a name yet.

[!NOTE] 💡 Note on Architecture & Trade-offs: The absolute uniformity of EML comes with trade-offs regarding expression tree depth and strict requirements for floating-point precision. To understand these issues better, please see my personal analysis and discussion in docs/WHATITHINK.txt.

Scientific Foundation and Authors

Andrzej Odrzywołek, a theoretical physicist at the Institute of Theoretical Physics at the Jagiellonian University (Krakow, Poland), is the author behind the groundbreaking discovery of the minimalism of continuous mathematics. Through personal research effort and a systematic exhaustive search method, he solved a problem that had no precedent: finding a single "atom" for all functions.

The core discovery of Andrzej Odrzywołek is the EML (Exp-Minus-Log) operator: eml(x, y) = e^(x) - ln(y) He has convincingly proven that this operator, when combined with only the constant 1, can reproduce the entire catalog of a standard scientific calculator. This includes:

  • Basic arithmetic operations (+, -, x, /).
  • All elementary functions (sin, cos, log, powers...).
  • Fundamental constants of mathematics such as e, pi, and the imaginary unit i.

Andrzej Odrzywołek's vision does not stop at pure theory. He has established a rigorous verification process, using independent transcendental constants to prove that all mathematical expressions can be converted into a uniform binary tree structure of EML nodes. His work opens up massive potential applications in creating minimalist analog computing circuits and enhancing the explainability of artificial intelligence through symbolic regression.

Full reference documentation: All elementary functions from a single operator

Practical Applications of EML

The power of the EML operator lies not only in its theoretical elegance. Below are the areas where the eml_sr library can become the core engine for next-generation software systems.

1. Artificial Intelligence (Machine Learning & Symbolic Regression)

This is the largest and most practical application of EML in software today:

  • Symbolic Regression: Instead of AI models searching over messy grammars containing many different operators, EML allows for the creation of a multi-parameter "master formula" using a binary tree structure. The entire search space is collapsed into weight optimization on a single uniform structure, instead of fumbling through billions of different structural combinations.

  • Breaking the AI "Black Box": You can use standard optimization algorithms (like Adam) to train neural networks based on this EML tree. Upon successful training, the system can snap weights to exact values (0 or 1), helping the AI output a clear mathematical formula (closed-form expressions) instead of just predicted numbers. This is the key to turning AI from a "black box" into a tool that humans can read, understand, and trust.

2. Building Compilers and Virtual Machines

EML provides an ideal foundation for developers to build ultra-minimalist execution systems:

  • EML Compiler: You can use the eml_sr library as a core engine to write compiler software capable of converting any mathematical formula (e.g., sin(x) + e^x) into pure EML form — a series of nested EML instructions containing only the constant 1.

  • Single Instruction Stack Machine: This pure EML form can be executed on a simulated stack machine that has exactly one single instruction. Imagine an RPN (Reverse Polish Notation) calculator with exactly one button — that is the essence of an EML virtual machine. This extreme simplicity makes formal verification more feasible and easier than ever.

3. VLSI Design and Analog Computing

EML acts as a bridge between software engineers and hardware engineers:

  • Because all elementary functions become uniform binary trees in EML notation, you can use the eml_sr library to write software that compiles formulas into circuit schematics.

  • This is very useful in analog computing, where engineers can create multivariate function computing circuits by connecting a binary tree topology structure of identical EML elements. Instead of designing separate circuits for each operation (+, x, sin...), you can mass-produce a single type of EML component and connect them according to the tree diagram.

4. Data Structure Design and Parsing

EML brings radical simplicity to the processing of mathematical expressions in software:

  • Instead of writing handling code for dozens of different operations (+, -, sin, cos...), your software only needs to handle one extremely simple context-free grammar: S -> 1|eml(S, S)

  • This makes systems for storage, parsing, or formal processing of mathematical expressions incredibly efficient. Every expression — no matter how complex — can be reduced to a highly uniform structure, simplifying evaluation logic and reducing architectural overhead.

Quick Start

1. Installation

Python Users:

pip install eml_sr

Rust Users:

cargo add eml_sr

2. Basic Usage (Python)

Discover the hidden formula in your data using the Scikit-Learn compatible API:

from eml_sr import Searcher

# Your data
X = [[1.0], [2.0], [3.0]]
y = [2.5, 4.5, 6.5]  # f(x) = 2x + 0.5

# Search for the formula
searcher = Searcher()
result = searcher.fit(X, y)

print(f"Formula: {result.formula}")
# Output: Formula: (v_{0} * 2.0) + 0.5

3. Basic Usage (Rust)

use eml_sr::{Searcher, SearchConfig};

fn main() {
    let searcher = Searcher::new(SearchConfig::default());
    let xs = vec![1.0, 2.0, 3.0];
    let ys = vec![2.5, 4.5, 6.5];
    
    if let Ok(result) = searcher.find_function(&xs, &ys) {
        println!("Found formula: {}", result.formula);
    }
}

Project Status & Safety

For detailed information about current capabilities, supported platforms, and critical safety warnings regarding memory usage (OOM), please see docs/STATUS.md.

Development & Contributing

If you want to build from source, run benchmarks, or contribute to the core engine, please see docs/CONTRIBUTING.md.


Note: The eml_sr library is a production-ready implementation of the EML operator theory.

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

eml_sr-0.2.2.tar.gz (807.4 kB view details)

Uploaded Source

Built Distributions

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

eml_sr-0.2.2-cp314-cp314-win_amd64.whl (285.0 kB view details)

Uploaded CPython 3.14Windows x86-64

eml_sr-0.2.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (410.9 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

eml_sr-0.2.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (403.5 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

eml_sr-0.2.2-cp314-cp314-macosx_11_0_arm64.whl (363.8 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

eml_sr-0.2.2-cp314-cp314-macosx_10_12_x86_64.whl (376.6 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

eml_sr-0.2.2-cp313-cp313-win_amd64.whl (285.0 kB view details)

Uploaded CPython 3.13Windows x86-64

eml_sr-0.2.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (410.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

eml_sr-0.2.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (403.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

eml_sr-0.2.2-cp313-cp313-macosx_11_0_arm64.whl (363.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

eml_sr-0.2.2-cp313-cp313-macosx_10_12_x86_64.whl (376.6 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

eml_sr-0.2.2-cp312-cp312-win_amd64.whl (285.1 kB view details)

Uploaded CPython 3.12Windows x86-64

eml_sr-0.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (411.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

eml_sr-0.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (403.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

eml_sr-0.2.2-cp312-cp312-macosx_11_0_arm64.whl (363.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

eml_sr-0.2.2-cp312-cp312-macosx_10_12_x86_64.whl (376.7 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

eml_sr-0.2.2-cp311-cp311-win_amd64.whl (284.3 kB view details)

Uploaded CPython 3.11Windows x86-64

eml_sr-0.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (410.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

eml_sr-0.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (403.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

eml_sr-0.2.2-cp311-cp311-macosx_11_0_arm64.whl (364.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

eml_sr-0.2.2-cp311-cp311-macosx_10_12_x86_64.whl (376.9 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

eml_sr-0.2.2-cp310-cp310-win_amd64.whl (286.4 kB view details)

Uploaded CPython 3.10Windows x86-64

eml_sr-0.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (413.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

eml_sr-0.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (403.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

eml_sr-0.2.2-cp310-cp310-macosx_11_0_arm64.whl (366.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

eml_sr-0.2.2-cp310-cp310-macosx_10_12_x86_64.whl (380.0 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

eml_sr-0.2.2-cp39-cp39-win_amd64.whl (286.2 kB view details)

Uploaded CPython 3.9Windows x86-64

eml_sr-0.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (414.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

eml_sr-0.2.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (404.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

eml_sr-0.2.2-cp39-cp39-macosx_11_0_arm64.whl (367.2 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

eml_sr-0.2.2-cp39-cp39-macosx_10_12_x86_64.whl (380.6 kB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

eml_sr-0.2.2-cp38-cp38-win_amd64.whl (286.1 kB view details)

Uploaded CPython 3.8Windows x86-64

eml_sr-0.2.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (413.0 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

eml_sr-0.2.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (404.2 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

eml_sr-0.2.2-cp38-cp38-macosx_11_0_arm64.whl (367.2 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

eml_sr-0.2.2-cp38-cp38-macosx_10_12_x86_64.whl (380.2 kB view details)

Uploaded CPython 3.8macOS 10.12+ x86-64

File details

Details for the file eml_sr-0.2.2.tar.gz.

File metadata

  • Download URL: eml_sr-0.2.2.tar.gz
  • Upload date:
  • Size: 807.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for eml_sr-0.2.2.tar.gz
Algorithm Hash digest
SHA256 83f01ccfa3cc6894d58482a3408a8a8f5b6d2ffd13302b2a08c25ba2bf7388e7
MD5 c5c5293dd5b219429356aa10734c9688
BLAKE2b-256 b64d7d5f3ab7599b213972ea6a0db800bbd8396799856d93f8344bea818b052e

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: eml_sr-0.2.2-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 285.0 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for eml_sr-0.2.2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 befba14c4409a3292c33eb613e50de1bf47591342493df6b84c8ea0b409e5cc8
MD5 ad44488306516fbcc8a478b6a34b5a98
BLAKE2b-256 33c4a21563e30abfc5df0ca1a04e1290ddc9b096d470f4ec3387db9ab9f613ee

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for eml_sr-0.2.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ec73a4925e1eb132214a5d3ac56a4369376767a33ea4a398e50810d24bdba88b
MD5 dac36d46fae9bead59e060d0fdeb8f49
BLAKE2b-256 bf558ea9bbd8a95ace2a48b558984346235e13087b06512cf33cd23a942f25af

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for eml_sr-0.2.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f380c1ee72cbff3e48ea7d3c5edf610c99921a33ef0eb6d2a8cbace58c0aa7a5
MD5 b9d5308b3032d6251edf54a7482fc3d3
BLAKE2b-256 c2d891de6f915d83ff67420ffcd408983ea5968640e6f4cb25df4965ea5fdd8c

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for eml_sr-0.2.2-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bae62fbe2d0f3675ef1cd23c8df7db328249e4807aca645ebe64f47f3671ed93
MD5 d8d4100f2a6d0d12bf17996d1cd1175b
BLAKE2b-256 0939c041d6a3b9ae1a2d6e15759b054b291ad387065c6e79f7f3b4599c95f303

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for eml_sr-0.2.2-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 82c1052ec5792a459ac4bbd51b5bac5c524ca86f252daef1805ff0676c70117a
MD5 ad797b1c00379b1cc3425d4295cfb86e
BLAKE2b-256 800547fa83e1aaedabde29dda7ce7bc04ded9116712444b41f92f407f9fa8fa6

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: eml_sr-0.2.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 285.0 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for eml_sr-0.2.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 356a4d1f62aca83a66c44238084b13832f5bd7f593941863109e8e2ae32bbd45
MD5 28366fe975171e4edcc8e0b7dd72002e
BLAKE2b-256 2d46456c5e5792e34a7a7f7716156f6086861cdfa4fa5c7ed699285ae61b7c9c

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for eml_sr-0.2.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f1614e3d4510bbdf6034bc63a31699ca3f37bb2205b843a80f5320f0e1b5e689
MD5 8117e82e275f815152cde9a1249bf8fe
BLAKE2b-256 fedcda2d46fb502dc31f5cb955ea14fd6e4acd813a122141fc29a29292c8543c

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for eml_sr-0.2.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9a036aa9ebfcb099915ad768a6a4fe4f32d4ca87dec59b1c67b257d20799369e
MD5 ba1240a182398ffd487fff3a88a85f41
BLAKE2b-256 fb6594b4c9aa38f0cdfd976376c298d90404439a5b2d8c711dde82351edc122a

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for eml_sr-0.2.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 366b02a999cca18f1a641e2ca616068a8290f9a58b30c93fa85563b56667f993
MD5 fea562c5628e7ef2ae4de6fa2b8ea0b8
BLAKE2b-256 d0b21f63819b33adbd98bb7968b9944c2e3570b5055523bfc71a6427f57995df

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for eml_sr-0.2.2-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b5cc1972c3c9e1375ca0d6567a72ff9d27fe65b462e2d653c4de75390075887c
MD5 86c4107809a88c4270e3efa740bb37f3
BLAKE2b-256 455bd328ffd64443e95e34022c5dbd872741996a7df7ee97bcfac1119edfb44e

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: eml_sr-0.2.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 285.1 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for eml_sr-0.2.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 237fbea63bc9ca82d1b7e064d5a61a1dc92e6ac434da90e2857e37dbc07609e2
MD5 2b25bf4b9f5c7ed3ac8a965515e3c36d
BLAKE2b-256 99aa82e694cf06a3a8244f24626a51a1ec1a5d397e6bac2d75301e343302f6f5

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for eml_sr-0.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f2a3f834e360bc9c365889fa30ae2752baa5c974a387b673bf58107159f9deb4
MD5 2f87a11344f187813d7b1eddf68dfe25
BLAKE2b-256 5fee329c233174d7e35fea2de3eaf217574d8ec8bf62a93a6f46af8b9c2cb190

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for eml_sr-0.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 352ee120cf32124ff3fc9b8b04d9b99ed8bb10904dc9fd9eb9fb3c4f6f746b76
MD5 5b0d131ad4517e5fc3619f01a86c886f
BLAKE2b-256 8ee894bb471c254503b726c9b74cdae0da4c9b77b5d5b7f3623c3f65c111b7a9

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for eml_sr-0.2.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 536227dbf836830a24a7f9f815fbd52751eabd016cfd964aaf7f16666d074515
MD5 38580e62a6e83e57b29b7701cafd703b
BLAKE2b-256 37ad1e2820eb3cc858901c7d204563235afbe41b156b3f77a9abe55103b811a9

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for eml_sr-0.2.2-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 addff98054fac2249ac716beca39c63f699db8c6fcc8398a8fb2fbdf7154e3a3
MD5 ab4ddccc293f9e426d0f31022ce4903a
BLAKE2b-256 b03d6542cce2fc40948f00579b6d899bc640221935342c4cb25ab719f6cea4cd

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: eml_sr-0.2.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 284.3 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for eml_sr-0.2.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ef18a0908b728b0beff75d5f48e88a381f519a7146ea128fe14d931cb387480d
MD5 8f96eebae1d3cbf4715aaad17cd194c0
BLAKE2b-256 a1b79ddaee2cb81befba9285508c9b261334b9835016d5117c4f64376391cf58

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for eml_sr-0.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7659077fc80aca827de1250ee6cc50007b1da45694824d18b389c575d2306f30
MD5 2678f07f843d90cb12899add539fc9c9
BLAKE2b-256 e0ab9bde254230bb272e5d0e68e52db162ecafa2e46eecfda59e8d13f877fd01

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for eml_sr-0.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e13541e7dcf3f30075b77484bfe50b40132a32cb34b3ab7c1691bc6be13e35b7
MD5 fde3ae1aef511d2b15b6e00a71a527a2
BLAKE2b-256 5aa59b27bb3ccfbade31a03d9b2bb6e266a1e30aaad3901c6674d7af9afce594

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for eml_sr-0.2.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 14d67ce6963c42049b131bc7933e7321f9fe77ccd71304eeee7c3e662722fda9
MD5 4332b04de02d9786ba4e63277b4da35f
BLAKE2b-256 346322a61d1f4fe39812b0241c2ef8ec89b8c3953aa5439bed5a321da8f5f231

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for eml_sr-0.2.2-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f895760c115baa949e13391d2f23c58b9103ebbc26151dd9c189b52db9485678
MD5 8de2038360ef8b3a1be96f6e837e5af6
BLAKE2b-256 54151ac4a9a79499895870e68bafaca09ae0577cbc7cec428d5bf0637f666878

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: eml_sr-0.2.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 286.4 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for eml_sr-0.2.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b990f0cbd1c6d26fa6da1217234a757a9e6688e6874280403afd3f529b9457d5
MD5 741f5e84169aa0ddc2a604cb480dc7c6
BLAKE2b-256 a8ab54f108e0a6ac49a7e1299154ec2ffc024465ebe185a35e8bce1c120ec3f1

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for eml_sr-0.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0e6f4181067faa6279b24e8dfdde78ce64294e5eae13e5f68017c07a3a2474a3
MD5 ca3c06feb270f229e3f140ef726d5fd0
BLAKE2b-256 b66e34d999f29602c4cc005c22e4cd798eef5d59d6d9561ef532a7f41cc4cc56

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for eml_sr-0.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c48db28d73f30c0f96844fd3eefb9dcbc5c9e42f56601bd1d9285df47922dc5e
MD5 52806a72689edb355b1ede4a60a3f0a9
BLAKE2b-256 50a45c5f1a8579b1ebf5a4b217912d668f30778668a7491901afb35f2a522a34

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for eml_sr-0.2.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a004a5738c51e9578263b2b4019a0d2b363e5e399f4da277cffc95f38b760d74
MD5 dc3a474efc1eb4ce3d162ada78dc102a
BLAKE2b-256 cba7f1c5b7980307b6d3be997ca17a0f5e008d6068e6217f80cf8c3f007b4b66

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for eml_sr-0.2.2-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d1d09d98e1902753754eb7526c608112d711018c8ef8e65fe5874cb0d50239c2
MD5 13e2ee74b48aa1c2a393203cf5a3795f
BLAKE2b-256 3825c818c49250f1448c1d28973e674b9fbac41841123c8fa8b0641accbad7c6

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: eml_sr-0.2.2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 286.2 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for eml_sr-0.2.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 f61b15eab3ab192f0404d4ff74c23f0e27ea434a2f11e5e0bedae759c842c24a
MD5 e6024f032dc44d3670333522effc0778
BLAKE2b-256 76925e0a1c6ee537de534f3e63a324ecea80aa9d2054ccbf30161c0b94c2b7a5

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for eml_sr-0.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7c6fdfb1eba03cea440cb7389820dd16adfd7d83535c5726fbc6701d75d18d33
MD5 f59d43d2f99954c4e0bbd9aa4a2d872b
BLAKE2b-256 7393916dccef031d4f5bb33c506d9dac6198eee048d8f553fca18fae9ac63fe1

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for eml_sr-0.2.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e1b4c20517b672479cf2a20e883f3288d5b4a811128fb4b0affb3d4b49c37a6c
MD5 e2cba86456787f941fb979d2a41b489c
BLAKE2b-256 6c5c1bc98303448602d9ada12c4915ec39ae1a602eb0336a46e7c6624a3a884e

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for eml_sr-0.2.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b713d4b1df789bdceff29322d4423c97f698e9e970728e1294a546da0be2937d
MD5 bb019619475d225fbcd6f98545803a34
BLAKE2b-256 f0bc64d7bae231f58b7420f0411334e90346d2b4a530741d6eca0d3a876ee6a1

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp39-cp39-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for eml_sr-0.2.2-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ca934cb50078a5501b282763be1c4f7e47bf6a0a7067c0166486d5b653c1f390
MD5 3f508e15a9c4a0b06fd7c8033108d2ef
BLAKE2b-256 07bf55ce16290b836195b17588449b3998a3386179037d40770305bd2fa04efd

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: eml_sr-0.2.2-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 286.1 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for eml_sr-0.2.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 87a58f59f3e8a33fda253baef984ba1dd468165bdf47369f2a81516e8619f875
MD5 0316dce46c17a18d2f6dec260a13af88
BLAKE2b-256 15ca906d5bdd3dfb7288eb28717408238d7eb31e3a574540772e948dbe1d29e8

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for eml_sr-0.2.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 232265e912a415eff291a7dd186b2696cbe3e35b6cba3ae1535f5aa696e1959a
MD5 6503f25e682cddee25d380a7824cbaa5
BLAKE2b-256 a749f1faec5ebd0823b85b02e8bc9f05d788a0afa9376dcbde5fe757381d49d3

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for eml_sr-0.2.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8cc21f279830fcfd97402e5938459e27c70613f7b08d343ed155c2c032ce11e0
MD5 b9934ce837471b14e9c64c4c66719eb6
BLAKE2b-256 6f712c6f599cb4c2c09f7647dcd93e21ce7233407548848e3e324c576e97be2f

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for eml_sr-0.2.2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3e314f6e981e58ca23867fa6794d1ed800fbfb8fe2c9b0a3c8947786baa02f6c
MD5 141d1419891d4cd7a2393f3d8cf7dbc6
BLAKE2b-256 b8d50e07673722d63f7a84519ee6b02709490cc1b30662a5f7392cc4964c31a4

See more details on using hashes here.

File details

Details for the file eml_sr-0.2.2-cp38-cp38-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for eml_sr-0.2.2-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e62ef2857b8b70f9cd1e64fed0db85b1c07f5283ed98f6691ab6c3693e318057
MD5 de5688cdf17c3cc8711ab53456f419a6
BLAKE2b-256 0216e753eb1a47f62825fc01fbdad8b9636430785e379a251564df67f67ac3a1

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