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.0.tar.gz (807.3 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.0-cp314-cp314-win_amd64.whl (285.0 kB view details)

Uploaded CPython 3.14Windows x86-64

eml_sr-0.2.0-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.0-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.0-cp314-cp314-macosx_11_0_arm64.whl (363.9 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

eml_sr-0.2.0-cp314-cp314-macosx_10_12_x86_64.whl (376.3 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

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

Uploaded CPython 3.13Windows x86-64

eml_sr-0.2.0-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.0-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.0-cp313-cp313-macosx_11_0_arm64.whl (363.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

eml_sr-0.2.0-cp313-cp313-macosx_10_12_x86_64.whl (376.3 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

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

Uploaded CPython 3.12Windows x86-64

eml_sr-0.2.0-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.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (403.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

eml_sr-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl (376.4 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

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

Uploaded CPython 3.11Windows x86-64

eml_sr-0.2.0-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.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (403.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

eml_sr-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl (376.6 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

eml_sr-0.2.0-cp310-cp310-win_amd64.whl (286.3 kB view details)

Uploaded CPython 3.10Windows x86-64

eml_sr-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (413.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

eml_sr-0.2.0-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.0-cp310-cp310-macosx_11_0_arm64.whl (366.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

eml_sr-0.2.0-cp310-cp310-macosx_10_12_x86_64.whl (379.5 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

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

Uploaded CPython 3.9Windows x86-64

eml_sr-0.2.0-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.0-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.0-cp39-cp39-macosx_11_0_arm64.whl (367.3 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

eml_sr-0.2.0-cp39-cp39-macosx_10_12_x86_64.whl (380.1 kB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

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

Uploaded CPython 3.8Windows x86-64

eml_sr-0.2.0-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.0-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.0-cp38-cp38-macosx_11_0_arm64.whl (367.1 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

eml_sr-0.2.0-cp38-cp38-macosx_10_12_x86_64.whl (379.6 kB view details)

Uploaded CPython 3.8macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for eml_sr-0.2.0.tar.gz
Algorithm Hash digest
SHA256 2c8ed1f2ce976a1f17962ad25f8d701345302ef81487673d1a62ff7b32390efa
MD5 66dfcf01e5deb8954d5078fafea51206
BLAKE2b-256 00f2064280034497809f281cfbc0a93c1ed320ca59253fed854d200bd7ed6e05

See more details on using hashes here.

File details

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

File metadata

  • Download URL: eml_sr-0.2.0-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.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 da6729af114b3620269c8c5ddced456f2962f4094b84eb871080f79c37962201
MD5 fd3bab65e74d777a7a7458dc32d1187d
BLAKE2b-256 46cc728f70da262c45c6829293597ae609cb04856ee10a1df127f237d56ce878

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eml_sr-0.2.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2abd70f13f5499822eeafcbe383e8fc6f2bcb382e83ef280521a1616326dac66
MD5 7611aadf0228cb9385183a37e569a0e0
BLAKE2b-256 450e55833dc7f615e19df50f76ecd37e9f41619a89fcae85cd4ad655053fe64f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eml_sr-0.2.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 737c113345a5a20f13fd90e1eb77c9667acbb843be6d0a25d7c40b5b8e76cc7c
MD5 e287f93674cf5d8c47ff2330354e4661
BLAKE2b-256 a4b968db8f4dbc0d51e446d02c2e11c6dd70d27e02b832614d60385ef0a95109

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eml_sr-0.2.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 98734e77c830abf1b8522ca1f903335bd01c39a3bb5cb66346642cc6a676d16c
MD5 cfa5004b32d8ac7c02aa143cdf1b46fd
BLAKE2b-256 168e6261da675c4f6ed73ecf13941f7956201713c7573a8cf57f97e411ba5f16

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eml_sr-0.2.0-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 dbbe6fe35995a3d795271eee99f40a3b6168f29fa3e75e86723f172c2ff95a97
MD5 7daffcf19e6147c7ff0d6953d4b5effd
BLAKE2b-256 e620e5eff7d81252c95bd9b2e563efc90e0158e5dd5d8bc3d1c2840b588068b3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: eml_sr-0.2.0-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.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 38ac4b90423c080b52632f97b50cb53d26ea4756b094515a213537df706c2e84
MD5 774be91cc298dc9e31a68211949707bc
BLAKE2b-256 299e1961a96f2155054d1128a33506008789b04b6b21cc28e44ec3139806652d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eml_sr-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 14d43bd9deafe6a3978e9677a73689ac55895e9516da766a81293b087fe781b2
MD5 25f249306f4b5e5e82c85475970e89da
BLAKE2b-256 0ab24f9a4d83a5e4f997cdf6f680586859b757868f05ed04ea4c7c0812b086d6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eml_sr-0.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d89b8ef2bc32753625b50afa080071e97888b997f03fc0c95b5a52cacd940a27
MD5 8ed65e5566b50dc232cc0fe736aede7c
BLAKE2b-256 771260a6994d1d9f5984f3bc322e308904b65036a1cb7a8bf0f465f155fdd813

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eml_sr-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c56f1b76d2b7d9ec7259c5e6010f4a85736e41eba68a2382ba94abf3561ed161
MD5 ecdb14c30288b0fd83df17e40f33889e
BLAKE2b-256 1fcb73a541e68e39f0a3dad22c000d4ae4574007295f9937cad378733c8e3cba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eml_sr-0.2.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4862c6b34c54f542ab884607cd74f2ff1b2807a6b75046517b140391f241cf9b
MD5 0f43aef7addb182bdb5818b589d77ae2
BLAKE2b-256 f85a40a31ec433ea7cb771f3c90726c473d354a97ccd7f3e9a68e3e9c94f51c2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: eml_sr-0.2.0-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.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 6880978a400e350f70d788f8669168da3d734c04f8c2681a2162830550468678
MD5 b50a0ce24ba511b7c7f6ccde6c949674
BLAKE2b-256 f520fa1695150076da9068df85e839a76fb55afa670a6bdd874b421d825aa2af

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eml_sr-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ab9591898640244c7e7c072e617a9db7b11ad3dbee69b4240ec512002d7d1816
MD5 a8cbd3561ecba1e905882e8915b6b8c6
BLAKE2b-256 85decb12eed52b88bba153d5893865c1007ce7b158787dd05e033eca8475915c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eml_sr-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 92b20824462e1cee7f4dd36afd0c78e5bdfb99081db15de622cfdca029dee700
MD5 f4b19248599bc4af3e217ac57fec90a6
BLAKE2b-256 4749fe5c2096e202d14bcb05e9522c5d66d9cc57abd4226fccdd1baaef5a9b41

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eml_sr-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 12c6b0c8f6b3b2d17b42645ff0b1c91169130b3459c4eb3376b8880c678b9a7c
MD5 2d5db572effa5b982d96d31fd131b02c
BLAKE2b-256 99b065c7f100ec8a99bb00b2c00d40494120650f3e67ac5170f6e2e89587369d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eml_sr-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0c9bd3718d0668389eaeba5653d0da9fdcce8c9e5e2e1c3863f104ac1cf4a25d
MD5 33b04dfe5d9da84b81794533798e270e
BLAKE2b-256 b9956fb4cadfd9234b9117f63c279bf3671600a98b9ace1bc411edde7c7a46c9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: eml_sr-0.2.0-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.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ff85d531998715fcdac04661537a13617a99735c631928a6bb73dc57ef30a5b5
MD5 95da5c4e7d68a567c9ef417488f41f18
BLAKE2b-256 5f2d8c4310850fcdda427029605ec0c4af3569597443eaba89ed4a5f4ba5d6de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eml_sr-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e100ce0bb98518dd3b872a8c0ec9f116ed2cbae8680859c56cd7c0e85662db3d
MD5 b9023fd6fc6ba557e1fd0c2037b70fcf
BLAKE2b-256 f1aacfee3dc33916b9b3932c4c546d0f583e80700a9a2a2e5e4965d5957a0e3c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eml_sr-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e229dc4d71395c71283e35ee8447967aaffcabaccca374fab60f511109e1e177
MD5 07694e3a378b768b7e02afa8af6b0d71
BLAKE2b-256 47b5ddd68bfc76ffcfb8c795861b387505b2a3239a2b008be7e9d918daaacf42

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eml_sr-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e619de3cd099e4f113ca00e6321c7a9d9d841b0c1d3c66a71152990898f4ff27
MD5 ae60957446b799dcacdbfd5a4d972d8b
BLAKE2b-256 587301e5631da2f615635628243fa4b895cd1a19da4eff6a0f99901dd4faa2fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eml_sr-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 cd0398e28ecafd514e316f04d55b77fe9a37762aab720811f03f8a99dd41e7dd
MD5 20f3d6a549c1aa625e83be7087b9381c
BLAKE2b-256 cc41fb0aaf2714033eb6b98942c0706cf28fb7cf78e8af318915b5ff799dd044

See more details on using hashes here.

File details

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

File metadata

  • Download URL: eml_sr-0.2.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 286.3 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.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2753db25d1cd638ee62629966eb331f18f9ab8f871d5c11622580665b7c5b6ea
MD5 5bc6962a3818be48989986eb2a516b67
BLAKE2b-256 aa056ea2602710ced48aa9d5815daf7b49308dcc8d73aec65a0fca9c0dd546f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eml_sr-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 863beb8d6225d214feda2d369bcf9dbc6066f1b32c2d276f69a1f6ded09b3a04
MD5 02877e362ce1f31341f987cc92dcd117
BLAKE2b-256 d9120dbf1538f113d4c51ed83f2b8d7bec38b424f8547d99497c419fe0dc4bee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eml_sr-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5e795aad5ff6acad770e0b5add2186a1d936a03dd6c975b96916de2f1daeda73
MD5 104d9a7a75544faa02f66351c204f9ff
BLAKE2b-256 444a612ad91b57185715f3e617e6737ee5930a05dbe80934ab9464f795dc924a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eml_sr-0.2.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9283080a310fb7fa9abda596b7ffd2ca4e0e6d77b2f93a5d0653d5d9f9816984
MD5 67b0fbca93e563e6c87c9fc61259d768
BLAKE2b-256 61efe36cecbc33a079121ee383226630404ed37e70bee191604ab129ae87a315

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eml_sr-0.2.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d9a7a832c6a5fa0491bdf1fedca8e891edbb741f3813b373ca120b4e0a16d39b
MD5 a783ca340cfd1a3a34f65db4c3d4d05c
BLAKE2b-256 3e7fd20f61b5e9383ea4afe29c320315657d9b6311ba15000fe1769caa6c83da

See more details on using hashes here.

File details

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

File metadata

  • Download URL: eml_sr-0.2.0-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.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 d768c2873ee57505cae0311b788973387556c1070a7b8e1942d956075235157a
MD5 ee0e777a1bc61d8d2b600b013190b589
BLAKE2b-256 96043541aa583cd574ab21f282138d29ad6046e3d12e4f010a092ccd4a5ffe50

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eml_sr-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 497caa7873b1f01fc63b60e5b750498139f943db9e248a5f7ddafb46c7a3dcc8
MD5 93037cec48dfecdb7d7c61fd5d98f29f
BLAKE2b-256 863948b0cce971abd298296ec11ee21faed98826d3fc9e482fa26ed14d37b661

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eml_sr-0.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b1f41779cb869369801f67e78a198da6bc163cc896f6639c39bddd034b07a2db
MD5 1e8c973dd0d067ee56f9ef0b3641c18a
BLAKE2b-256 32e40255f6b8597d27adee3b84026e94d3c62498e912fdc4f63865c676acaccd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eml_sr-0.2.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 294b526c8144aaf303c819808869372800c4df0a690821327090bbdd62b08bc1
MD5 31476904ca8bec45e2494e12aee4b3d4
BLAKE2b-256 4a82c2329bfae71dfa897da6826b10cc5fcaafa33c5ee026dfb93f15d2d6889a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eml_sr-0.2.0-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9775dad2ab1e1d1c62a1b74d8238b13abb453bbfc8d0ec8cdcea54680159f90e
MD5 bfbc70975c35e72144cb7cbd41055994
BLAKE2b-256 d6b08b0a3d815eb1b7a38ad886e64381aae79cd855ae7bcc9baab778f1ab9d94

See more details on using hashes here.

File details

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

File metadata

  • Download URL: eml_sr-0.2.0-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.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 650b5a8fc994950df7eb59edb9d31a1a682758372c28b3cb8179bce6c97e95d6
MD5 66759c36925d6368913ab505b74a8bc8
BLAKE2b-256 e8913a7954c9a8a402b111a9003e3ecefe535323905bfab710a0659caf38725c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eml_sr-0.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ae7122589814f463550f32ba1cd3c0c898cb954f005436c6d437da76d429e02b
MD5 32fc1c2a318bfa421e854b3ddf9d915b
BLAKE2b-256 2a5c304448ddb0f9b7107b836ca76af423b0295ce6514195a458b2cc752c6f65

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eml_sr-0.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 78cc45fe4af4b3df9559c78d5f9c39c08059fec1f7c43863eae713665323b09b
MD5 b1b85b9612e1246eac8ebaed3be0effc
BLAKE2b-256 e655d5f1eff03c5c6e16637cfb0b000cd4fc259d6e9b1e03952e06088d555c8c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eml_sr-0.2.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 debbc9c32ffbffee5957266d618d887b9d4e467bb64ccf1e3cce0fab6f1f7c9c
MD5 e5f6864fdc2e774f2c52edd4ec74dff4
BLAKE2b-256 d87456025502a8cd942bc9584aee04edf3534e81f801ab7e692175fa0d817d7e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eml_sr-0.2.0-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 59865d2476c3c23586511555c47147fed0c3a877c9952eca9aa667f1fbf2af12
MD5 2236085c640322094cd65478e5789705
BLAKE2b-256 c77fd09b1ff7d8eb163827c4a65df1ae0ef15f677d5045e5492b2400befc491e

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