Skip to main content

High-performance educational computer algebra system

Project description

MathHook Python Bindings

PyPI Python Versions License: MIT OR Apache-2.0

High-performance computer algebra system for Python, powered by Rust.

Features

  • High Performance: Rust-powered core targeting 10-100x speedup over SymPy
  • Symbolic Mathematics: Expressions, algebra, calculus, and matrix operations
  • Multiple Input/Output Formats: Parse and emit LaTeX, Wolfram Language, and standard notation
  • Educational: Step-by-step explanations for simplification and derivatives
  • Memory Efficient: Rust-powered core with minimal Python overhead

Installation

pip install mathhook

Requires Python 3.8 or higher.

From Source

# Install maturin
pip install maturin

# Clone and build
git clone https://github.com/AhmedMashour/mathhook.git
cd mathhook/crates/mathhook-python
maturin develop --release

Quick Start

from mathhook import Expression, symbol

# Create symbols
x = symbol('x')
y = symbol('y')

# Build expressions
expr = x**2 + 2*x + 1

# Simplify
simplified = expr.simplify()
print(simplified)  # x^2 + 2*x + 1

# Solve equations
from mathhook import solve
solutions = solve(x**2 - 4, x)
print(solutions)  # [2, -2]

# Calculus
derivative = expr.diff(x)
print(derivative)  # 2*x + 2

integral = expr.integrate(x)
print(integral)  # x^3/3 + x^2 + x

Expression Creation

Basic Expressions

from mathhook import Expression, symbol

# Integers
num = Expression.integer(42)

# Floats
pi_approx = Expression.float(3.14159)

# Rationals (exact fractions)
half = Expression.rational(1, 2)

# Symbols
x = symbol('x')
y = symbol('y')

# Arithmetic operations
sum_expr = x + y
product = x * y
power = x ** 2
quotient = x / y

Operator Overloading

Python bindings support natural mathematical notation:

from mathhook import symbol

x = symbol('x')
y = symbol('y')

# All standard operators work
expr = (x + y) * (x - y)  # Difference of squares
expr = x**2 + 2*x + 1      # Polynomial
expr = (x + 1) / (x - 1)   # Rational function

Functions

from mathhook import sin, cos, tan, exp, log, sqrt

x = symbol('x')

# Trigonometric functions
trig = sin(x)**2 + cos(x)**2  # = 1

# Exponential and logarithmic
exponential = exp(x)
natural_log = log(x)
log_base_10 = log(x, 10)

# Square root
root = sqrt(x**2 + 1)

Constants

from mathhook import pi, e, I, oo

# Mathematical constants
circle_area = pi * r**2
euler_identity = exp(I * pi) + 1  # = 0
limit_expr = 1 / oo  # = 0

Algebraic Operations

Simplification

from mathhook import symbol, sin, cos

x = symbol('x')

# Algebraic simplification
expr = x + x + x
print(expr.simplify())  # 3*x

# Trigonometric identities
expr = sin(x)**2 + cos(x)**2
print(expr.simplify())  # 1

# Rational expressions
expr = (x**2 - 1) / (x - 1)
print(expr.simplify())  # x + 1

Expansion

from mathhook import symbol

x = symbol('x')
y = symbol('y')

# Expand products
expr = (x + 1) * (x + 2)
print(expr.expand())  # x^2 + 3*x + 2

# Expand powers
expr = (x + y)**2
print(expr.expand())  # x^2 + 2*x*y + y^2

Factorization

from mathhook import symbol

x = symbol('x')

# Factor polynomials
expr = x**2 - 1
print(expr.factor())  # (x + 1)(x - 1)

expr = x**2 + 5*x + 6
print(expr.factor())  # (x + 2)(x + 3)

Substitution

from mathhook import symbol

x = symbol('x')
y = symbol('y')

expr = x**2 + 2*x + 1

# Substitute value
result = expr.subs(x, 3)
print(result)  # 16

# Substitute expression
result = expr.subs(x, y + 1)
print(result)  # (y + 1)^2 + 2*(y + 1) + 1

Calculus

Derivatives

from mathhook import symbol, sin, cos, exp

x = symbol('x')

# First derivative
expr = x**3
print(expr.diff(x))  # 3*x^2

# Higher-order derivatives
print(expr.diff(x, 2))  # 6*x
print(expr.diff(x, 3))  # 6

# Chain rule
expr = sin(x**2)
print(expr.diff(x))  # 2*x*cos(x^2)

# Product rule
expr = x * exp(x)
print(expr.diff(x))  # x*exp(x) + exp(x)

Integrals

from mathhook import symbol, sin, cos

x = symbol('x')

# Indefinite integrals
expr = x**2
print(expr.integrate(x))  # x^3/3

# Definite integrals
expr = x**2
result = expr.integrate((x, 0, 1))
print(result)  # 1/3

# Trigonometric integrals
expr = sin(x)
print(expr.integrate(x))  # -cos(x)

Limits

from mathhook import symbol, sin, oo

x = symbol('x')

# Finite limits
expr = sin(x) / x
limit = expr.limit(x, 0)
print(limit)  # 1

# Infinite limits
expr = 1 / x
print(expr.limit(x, oo))  # 0

Series Expansions

from mathhook import symbol, sin, cos, exp

x = symbol('x')

# Taylor series
series = sin(x).series(x, 0, 6)
print(series)  # x - x^3/6 + x^5/120 + O(x^6)

# Around different points
series = exp(x).series(x, 1, 4)
print(series)  # e + e*(x-1) + e*(x-1)^2/2 + ...

Equation Solving

Algebraic Equations

from mathhook import symbol, solve

x = symbol('x')

# Linear equations
solutions = solve(2*x + 3 - 7, x)
print(solutions)  # [2]

# Quadratic equations
solutions = solve(x**2 - 5*x + 6, x)
print(solutions)  # [2, 3]

# With complex roots
solutions = solve(x**2 + 1, x)
print(solutions)  # [I, -I]

Systems of Equations

from mathhook import symbol, solve

x = symbol('x')
y = symbol('y')

# Solve system
solutions = solve([
    x + y - 5,
    x - y - 1
], [x, y])
print(solutions)  # {x: 3, y: 2}

Differential Equations

from mathhook import symbol, Function, dsolve

x = symbol('x')
f = Function('f')

# Solve dy/dx = y
solution = dsolve(f(x).diff(x) - f(x), f(x))
print(solution)  # f(x) = C1*exp(x)

Matrix Operations

Creating Matrices

from mathhook import Matrix

# From lists
A = Matrix([[1, 2], [3, 4]])

# Identity matrix
I = Matrix.eye(3)

# Zero matrix
Z = Matrix.zeros(2, 3)

# Diagonal matrix
D = Matrix.diag([1, 2, 3])

Matrix Operations

from mathhook import Matrix

A = Matrix([[1, 2], [3, 4]])
B = Matrix([[5, 6], [7, 8]])

# Addition
C = A + B

# Multiplication
C = A * B

# Transpose
AT = A.T

# Determinant
det = A.det()
print(det)  # -2

# Inverse
A_inv = A.inv()

# Trace
tr = A.trace()
print(tr)  # 5

Matrix Decomposition

from mathhook import Matrix

A = Matrix([[4, 2], [2, 3]])

# Eigenvalues and eigenvectors
eigenvals = A.eigenvals()
eigenvects = A.eigenvects()

# LU decomposition
L, U = A.LUdecomposition()

# QR decomposition
Q, R = A.QRdecomposition()

# Cholesky decomposition (for positive definite)
L = A.cholesky()

Parsing

Multi-Format Parser

from mathhook import parse

# Standard notation
expr = parse("2*x + sin(y)")

# LaTeX
expr = parse(r"\frac{x}{2} + y^2")
expr = parse(r"\sin(x) + \cos(y)")

# Wolfram Language
expr = parse("Sin[x] + Cos[y]")

Format Conversion

from mathhook import symbol

x = symbol('x')
expr = x**2 / 2

# Convert to LaTeX
latex = expr.to_latex()
print(latex)  # \frac{x^{2}}{2}

# Convert to Wolfram
wolfram = expr.to_wolfram()
print(wolfram)  # Divide[Power[x, 2], 2]

# String representation
print(str(expr))  # x^2/2

Educational Features

Step-by-Step Solutions

from mathhook import symbol

x = symbol('x')
expr = (x + 1) * (x - 1)

# Get explanation
steps = expr.expand().steps()

for i, step in enumerate(steps):
    print(f"Step {i+1}: {step.title}")
    print(f"  {step.description}")
    print(f"  Result: {step.expression}")
    print()

Derivative Explanation

from mathhook import symbol, sin

x = symbol('x')
expr = sin(x**2)

# Explain derivative calculation
explanation = expr.diff(x).explain()
print(explanation)

Performance Optimization

Configuration

from mathhook import configure

# Optimize for Python (default)
configure(binding='python')

# Custom configuration
configure(
    simd_enabled=True,
    cache_size=50000,
    parallel_enabled=False
)

Bulk Operations

from mathhook import simplify_many

# Simplify many expressions at once (uses parallelization)
expressions = [x**2 + 2*x + 1 for _ in range(1000)]
simplified = simplify_many(expressions)

Type Hints

MathHook provides full type hints for excellent IDE support:

from mathhook import Expression, Symbol
from typing import List, Union

def quadratic(a: Union[int, float], b: Union[int, float],
              c: Union[int, float], x: Symbol) -> Expression:
    """Create a quadratic expression."""
    return a*x**2 + b*x + c

def roots(expr: Expression, var: Symbol) -> List[Expression]:
    """Find roots of an expression."""
    from mathhook import solve
    return solve(expr, var)

Examples

Quadratic Formula

from mathhook import symbol, solve, sqrt

x = symbol('x')
a, b, c = 1, -5, 6

equation = a*x**2 + b*x + c
solutions = solve(equation, x)
print(f"Solutions: {solutions}")  # [2, 3]

Taylor Series Approximation

from mathhook import symbol, sin, cos

x = symbol('x')

# Approximate sin(x) with Taylor series
sin_approx = sin(x).series(x, 0, 10)
print(sin_approx)

# Compare with exact value
print(f"sin(0.1) exact: {sin(0.1)}")
print(f"sin(0.1) approx: {sin_approx.subs(x, 0.1)}")

Matrix Eigenvalues

from mathhook import Matrix, symbol

# Symbolic matrix
t = symbol('t')
A = Matrix([
    [t, 1],
    [1, t]
])

# Find eigenvalues
eigenvals = A.eigenvals()
print(f"Eigenvalues: {eigenvals}")  # {t-1: 1, t+1: 1}

Performance Comparison

Benchmark results vs SymPy (lower is better):

Operation MathHook SymPy Speedup
Expression Creation 0.1μs 2.0μs 20x
Simplification 1.0μs 50μs 50x
Differentiation 2.0μs 100μs 50x
Matrix Multiplication 10μs 500μs 50x

Benchmarks on Apple M1, Python 3.11

Actual API Reference

For the complete API documentation, see the Python Bindings Guide in the mdbook.

Quick Reference

The main classes exported:

Class Purpose
Expression Core symbolic expression with algebra, calculus, matrices
Symbol Create symbolic variables via symbol('x')
ODESolver Numerical ODE methods (Euler, RK4, RKF45)
PDESolver PDE solvers (heat, wave, Laplace)
GroebnerBasis Gröbner basis computation
EvalContext Controlled evaluation context

Common Issues

Import Errors

If you see ImportError: No module named 'mathhook':

  • Ensure mathhook is installed: pip install mathhook
  • Check Python version: python --version (must be 3.8+)

Performance Issues

For better performance:

  • Use configure() to enable SIMD operations
  • Process expressions in bulk when possible
  • Cache frequently used expressions

Contributing

Contributions are welcome! See CONTRIBUTING.md for guidelines.

License

MathHook is dual-licensed under MIT OR Apache-2.0. See LICENSE for details.

Links

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

mathhook-0.1.4-pp311-pypy311_pp73-win_amd64.whl (1.8 MB view details)

Uploaded PyPyWindows x86-64

mathhook-0.1.4-cp314-cp314t-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.14tWindows x86-64

mathhook-0.1.4-cp313-cp313t-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.13tWindows x86-64

mathhook-0.1.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

mathhook-0.1.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

mathhook-0.1.4-cp312-cp312-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

mathhook-0.1.4-cp312-cp312-macosx_10_12_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

mathhook-0.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

mathhook-0.1.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

mathhook-0.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

mathhook-0.1.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

mathhook-0.1.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

mathhook-0.1.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

mathhook-0.1.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

mathhook-0.1.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

mathhook-0.1.4-cp38-abi3-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.8+Windows x86-64

mathhook-0.1.4-cp38-abi3-musllinux_1_2_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ x86-64

mathhook-0.1.4-cp38-abi3-musllinux_1_2_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ ARM64

mathhook-0.1.4-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ x86-64

mathhook-0.1.4-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

mathhook-0.1.4-cp38-abi3-macosx_11_0_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.8+macOS 11.0+ x86-64

mathhook-0.1.4-cp38-abi3-macosx_11_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

File details

Details for the file mathhook-0.1.4-pp311-pypy311_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for mathhook-0.1.4-pp311-pypy311_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 347bb8b5055f4fd752f1812517a4f4c87c63115b49acc7112f953b00967d7709
MD5 3b5f5f7a6cccea344b225fce6f261163
BLAKE2b-256 92037b3ab7340b94181daa534838c2b5eb58d1a1a4d387095119a5199a99bdfe

See more details on using hashes here.

File details

Details for the file mathhook-0.1.4-cp314-cp314t-win_amd64.whl.

File metadata

File hashes

Hashes for mathhook-0.1.4-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 45fb5256f8fd188484e8a9a5c694a393afd79bf88d73dd43d3ebf54fa7ebe702
MD5 152777d6cc3f4dd8bebf0010f6f8ecbd
BLAKE2b-256 27ad3075b3a86aba8b753dcc6c53568ce2a68b57000753519b0ff58ae8c2b80e

See more details on using hashes here.

File details

Details for the file mathhook-0.1.4-cp313-cp313t-win_amd64.whl.

File metadata

File hashes

Hashes for mathhook-0.1.4-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 a7671cbcedb41aaee4c6ba9e3530ad6f2a9abd88794e67a47279ca9a669e6690
MD5 4a97540283fa750d0c4a0368a165166b
BLAKE2b-256 5b007690a282e9496805cbbc09f5e62af04a9f3eb9b06bb27273b946585c93d7

See more details on using hashes here.

File details

Details for the file mathhook-0.1.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mathhook-0.1.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7e2cb76480416b65457bf570fb48e0b9094aded0c21c888a6fe6eb57232e92ca
MD5 c4f82f99f3c71fcff81bd54f5bd61cbe
BLAKE2b-256 25cc98256876ec150b6fb6d0f85c670b41d861dfb0e1d24f061f8a75b8da42ae

See more details on using hashes here.

File details

Details for the file mathhook-0.1.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mathhook-0.1.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 71f0654273578bb97d5e564e8ce0168856077132796642e000ab91d5f0b29772
MD5 2ebe5d694a031424a5126be9222a23bf
BLAKE2b-256 d1b62901dfb75d89d94ba77bee817211138ed2a6c9a83625876a9d234b303404

See more details on using hashes here.

File details

Details for the file mathhook-0.1.4-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mathhook-0.1.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fb83c22200df9ccb6e153c93a3f5672c768aaa0c70c1307f719091f58111ca40
MD5 a72b685b1956e88d4c8c156eb03827ec
BLAKE2b-256 53df79762742c3f028bffb2dc4e80a9233ace2143c660f2f968cf801d7de21f5

See more details on using hashes here.

File details

Details for the file mathhook-0.1.4-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for mathhook-0.1.4-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c3f9ad74c95446e9f7f54907db7327a88d5ad900b364792dcbcabbee576f4c32
MD5 8cb2a6ad137ed8a6b5cf5ea97b47a1e0
BLAKE2b-256 36054972bea02add38dd9112d34f9a5a1483e207ea892a350981692340111626

See more details on using hashes here.

File details

Details for the file mathhook-0.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mathhook-0.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f04a58807f9745a7a4b9bfea18bc4bbb68376999c5c3fb4217107efc8878f4f4
MD5 6f355fc7a712ca90dbec17fc3e63bead
BLAKE2b-256 e646f6f637ef3aa2cc03baab8e269303bd152d3972f32534a35e0b119f98f734

See more details on using hashes here.

File details

Details for the file mathhook-0.1.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mathhook-0.1.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e4fe7657bc3bd5e92c58b7fa852ed01fc552c103513326172144b26bc691a19f
MD5 fd7830a4d65d29b1ff1d34fcfb864926
BLAKE2b-256 4d7c67cbdf4473d74452c61802e0c3fb404f070b613a347f25ab64a17c4fe566

See more details on using hashes here.

File details

Details for the file mathhook-0.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mathhook-0.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 11f9e36c9a33b998f60208c0457a0beb3e8db631ed28156ff61d0e715fc64fe2
MD5 d4745a59625421f7e6c20af4d3657ad3
BLAKE2b-256 6b51d471ddccd82dcb48494a42e15e07c19f3a103df1f6958636beb594761733

See more details on using hashes here.

File details

Details for the file mathhook-0.1.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mathhook-0.1.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 13d4f3e30a2cb10f5e29b77f0c051a3c2212fda9b9e2239838c1674f3051321d
MD5 a5fd3c8133fd049252ba7b5b010dfeb9
BLAKE2b-256 4798c13458342991541c34c3a46cd7ba52957e2781f6abf5722386cf15b34f77

See more details on using hashes here.

File details

Details for the file mathhook-0.1.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mathhook-0.1.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 23aeb3a1019499c21877940594da9fa01a040b797d5e2b839769ed73b63b94ec
MD5 5df6dc2b2aee85e79ec24580837e48a3
BLAKE2b-256 7663b9a8d7e126a34128669b1897506e922948049d8610caca064783d8b14f2d

See more details on using hashes here.

File details

Details for the file mathhook-0.1.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mathhook-0.1.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5ce15b45a8061e14f8d12b619738d0d6f399330f2337b0c8eead671aaf1dbbd0
MD5 e7fa075b9188f08884188c96f0a66729
BLAKE2b-256 f1cee67707531ee86ca5587fe58e0b53b62a3b2e6c9900d3ed0357caea325e79

See more details on using hashes here.

File details

Details for the file mathhook-0.1.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mathhook-0.1.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8a55fd8acbc30a8208883bf07a0fe71c92349b80d23d44d57e7b22a61c93ed23
MD5 b35d1db662415fa2119e4cc27b524d69
BLAKE2b-256 3978e43f2e1cb33eacd3006904652e62e4781a39dde6fd3b89731a87c8301423

See more details on using hashes here.

File details

Details for the file mathhook-0.1.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mathhook-0.1.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6ea8641d7fddebc616bff64077f0af38ff0ee0bf6592296ac18e633f9ee09d67
MD5 d9d93beb5a7384a26a4b79282d3e797f
BLAKE2b-256 316bfb3b2932e2270e8b5fdb43bec0c27df1a52f9ade986840e656bdafb25b22

See more details on using hashes here.

File details

Details for the file mathhook-0.1.4-cp38-abi3-win_amd64.whl.

File metadata

  • Download URL: mathhook-0.1.4-cp38-abi3-win_amd64.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: CPython 3.8+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.10.2

File hashes

Hashes for mathhook-0.1.4-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 a9151a52bffd25aad6e85e3c7f8fd891be0cd7d9ab09c425c91a730d6551bd7d
MD5 cb255a17345dbc669fd0a29c3e7d6678
BLAKE2b-256 9646110a64b2b71e171b16ee97469b61a7bb155f95bf5c850d7bb1623e8dbab9

See more details on using hashes here.

File details

Details for the file mathhook-0.1.4-cp38-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for mathhook-0.1.4-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4cdf6c15127e24ad014efdbc62ce95d7c27a2f2a47ed0846af83ee9e2a80a697
MD5 27b74f754ac57687a11a3569d69a6d23
BLAKE2b-256 ffa73fd19a443bb5ae2b0f4e74430d5a4ab5bcb773064717ae583737bff767e7

See more details on using hashes here.

File details

Details for the file mathhook-0.1.4-cp38-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for mathhook-0.1.4-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 28909683bf5f85a5750c369e5e87f2ad05a8a3e201f6cfa89b7f2fb8bc0fce5f
MD5 a1d0fe94074867b02704e37ae2667059
BLAKE2b-256 0b7f01d0322231835bf2fa39cf5672c8d9178d2c3460d683aace8169c61e8693

See more details on using hashes here.

File details

Details for the file mathhook-0.1.4-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mathhook-0.1.4-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e1bb4c2b448fd165e3dcddd7a4831f0b7389c37fd5cfdec56413c3a393324de3
MD5 f130bd953ee811ba672e3528ffdb9a3f
BLAKE2b-256 447e5c640d281c5a0bc2419a393f7c69022facdd5cc59e7ffcf21c8e37d76853

See more details on using hashes here.

File details

Details for the file mathhook-0.1.4-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mathhook-0.1.4-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 32a3d676c36da3e2b62772cca7467ebd4c3a0c500f7f3578ea3be5c9887516dc
MD5 3662cffc438a13d9252c074f4f59cb54
BLAKE2b-256 5756499450710e88cbb740e4c3bf7a6d4681b4f34029b8a5fa97c55235c8f582

See more details on using hashes here.

File details

Details for the file mathhook-0.1.4-cp38-abi3-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for mathhook-0.1.4-cp38-abi3-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 7b2afb37af64da87cd7f1cf053f98811626485fa0a240bff9c07eaf2d2c28d76
MD5 ecdd9cf54bddd05c659f8b95c4797736
BLAKE2b-256 278c037400e765f8d520743f11c00dc4afe4ad01ae35ec52a1e257548a3a5281

See more details on using hashes here.

File details

Details for the file mathhook-0.1.4-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mathhook-0.1.4-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 37ba12223685efef6927cac02949a8653bbb161f25a904bf81150c4f54eb4100
MD5 de46bf38563fe8d42b58eb71426a499d
BLAKE2b-256 67139d99b52db1f28aac6949b2694d4b037dad1518d5f2419f2faea904a6bc4d

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