Skip to main content

Aqarios LunaModel: Symbolic modeling for optimization

Project description

Symbolic modeling for optimization

Summary

LunaModel is a high-performance symbolic modeling library for describing, translating and transforming optimization problems. It provides the following high-level features:

  • System for defining symbolic algebraic expressions of arbitrary degree, constraints and optimization models (like dimod, gurobi or cplex)
  • Translations from and to a LunaModel for many common optimization model formats (like LP)
  • Transformations to map a LunaModel from a general model to a specific model, such as transforming a Constrained (Binary) Quadratic Model (CQM) to a (Unconstrained) Binary Quadratic Model (BQM), or from an Integer Model to a Binary Model.
  • Builtin serialization for maximum portability
  • Python-first development experience

You can use LunaModel as a standalone package or by using luna-quantum which gives you additional builtin functionality to solve your optimization problems using the Luna Platform.

About LunaModel

Most optimization tasks involve working with problems, which generally consist of an objective function, wether this objective function should be minimized or maximized and optionally constraints to the problem itself.

LunaModel consists of the following components:

Component Description
LunaModel A symbolic modeling library for arbitrary optimization models (problems).
LunaModel.translator A translation library that supports many common model formats.
LunaModel.transformation A compilation and transpilation stack to transform a model (source) into a target representation (target).
LunaModel.utils Utility functions for expression and model creation.
LunaModel.errors All error types that can be raised within LunaModel.

LunaModel is usually used as either:

  • A replacement for plain LP files, dimod or similar frameworks to define optimization models.
  • As part of luna-quantum to solve arbitrary optimization problems.

A Symbolic Modeling Library

With LunaModel you can define symbolic Expressions and Constraints (which in consist of left-hand side (lhs), an Expression, a right-hand side (rhs) which is a constant numerical value and a Comparator). A Model defining arbitrary optimization problems consists of a single Expression as the objective function (the function to be optimized) and, optionally, one or more Constraints. Expressions are created using mathematical operations on Variables. Variables represent an unknown in the Expression which is determined by an optimization. By default variables are Binary, can represent any of the following Variable types:

  • Binary: the variable can be either $0$ or $1$.
  • Spin: the variable can be either $-1$ or $+1$.
  • Integer: the variable can be any integer number $\in [-2^{64}-1, 2^{64}-1]$ (for a 64-Bit system).
  • Real: the variable can be any floating point number $\in [\approx -1.7976...E308, \approx +1.7976...E308]$ ([-f64::MAX, f64::MAX]).

In general not all variable types are supported by all optimizers you can find. It can be the case that a defined model cannot be natively translated into the expected format of an optimizer. To resolve this you can use LunaModel.transformation.

Let's have a look a the Knapsack Problem for defining an optimization problem using only Binary variables. We have $n$ items $x_1, x_2, \dots, x_n$, each with a weight $w_i$ and a value $v_i$, and a maximum capacity of $W$. The optimization problem is defined as:

\begin{align*}
&\text{maximize} \sum_{i=1}^{n} v_i x_i \\
&\text{subject to} \sum_{i=1}^{n} w_i x_i \leq W \quad \text{and} \quad x_i \in \{ 0, 1 \}
\end{align*}

Using LunaModel and $n = 5$ and $W = 25$:

from luna_model import Expression, Model, Sense, Vtype
# A faster alternative to creating Expressions using loops in Python.
from luna_model.utils import quicksum
# Initialize the known values:
n: int = 5  # number of items.
W: int = 25 # maximum capacity.
weights: list[float] = [ 1.5, 10.0, 5.2,  3.5, 8.32] # weight of each item.
values:  list[float] = [10.0, 22.0, 3.2, 1.99, 6.25] # value of each item.
# First, we create the Model with it's sense set to Maximize the objective function.
# You can also give your model a name, optionally but recommended.
model = Model(sense=Sense.MAX, name="Knapsack")
# Next, we need to create all variables. Note, there are alternative ways to create
# variables, you can find details in the LunaModel docs.
variables = [model.add_variable(f"x_{i+1}", vtype=Vtype.BINARY) for i in range(n)]
# Now we can define the objective function:
model.objective = quicksum(values[i] * variables[i] for i in range(n))
# And for the constraints:
# Ensure the maximum capacity of `W`:
model.constraints += quicksum(weights[i] * variables[i] for i in range(n)) <= W
# The second constraint that all `x_i` are in [0, 1] is natively encoded by using
# Binary variables.
print(model) # to display the model.

As an extension, the Bounded Knapsack Problem (BKP) with a maximum number of each item $c = 4$ can be defined like this:

\begin{align*}
&\text{maximize} \sum_{i=1}^{n} v_i x_i \\
&\text{subject to} \sum_{i=1}^{n} w_i x_i \leq W \quad \text{and} \quad x_i \in \{ 0, 1, 2, \dots, c \}
\end{align*}

Now we have two equivalent approaches to implement this using LunaModel: Note that we have to use Integer variables now.

  • Using Bounds on the variables:
    from luna_model import Expression, Model, Sense, Vtype, Bounds
    # A faster alternative to creating Expressions using loops in Python.
    from luna_model.utils import quicksum
    # Initialize the known values:
    c: int = 4  # maximum number of each item.
    n: int = 5  # number of items.
    W: int = 25 # maximum capacity.
    weights: list[float] = [ 1.5, 10.0, 5.2,  3.5, 8.32] # weight of each item.
    values:  list[float] = [10.0, 22.0, 3.2, 1.99, 6.25] # value of each item.
    # First, we create the Model with it's sense set to Maximize the objective function.
    # You can also give your model a name, optionally but recommended.
    model = Model(sense=Sense.MAX, name="Bounded Knapsack")
    # Next, we need to create all variables. Note, there are alternative ways to create
    # variables, you can find details in the LunaModel docs.
    variables = [
        # We can have each item at least `0` times and at most `c` times.
        model.add_variable(f"x_{i+1}", vtype=Vtype.INTEGER, lower=0, upper=c)
        for i in range(n)
    ]
    # Now we can define the objective function:
    model.objective = quicksum(values[i] * variables[i] for i in range(n))
    # And for the constraints:
    # Ensure the maximum capacity of `W`:
    model.constraints += quicksum(weights[i] * variables[i] for i in range(n)) <= W
    # The second constraint that all `x_i` are in [0, 1, 2, ..., c] is natively encoded
    # by using Bounds on the Integer variables.
    print(model)
    
  • Using a Constraint for each variable:
    from luna_model import Expression, Model, Sense, Vtype, Bounds
    # A faster alternative to creating Expressions using loops in Python.
    from luna_model.utils import quicksum
    # Initialize the known values:
    c: int = 4  # maximum number of each item.
    n: int = 5  # number of items.
    W: int = 25 # maximum capacity.
    weights: list[float] = [ 1.5, 10.0, 5.2,  3.5, 8.32] # weight of each item.
    values:  list[float] = [10.0, 22.0, 3.2, 1.99, 6.25] # value of each item.
    # First, we create the Model with it's sense set to Maximize the objective function.
    # You can also give your model a name, optionally but recommended.
    model = Model(sense=Sense.MAX, name="Bounded Knapsack")
    # Next, we need to create all variables. Note, there are alternative ways to create
    # variables, you can find details in the LunaModel docs.
    variables = [
        model.add_variable(f"x_{i+1}", vtype=Vtype.INTEGER)
        for i in range(n)
    ]
    # Now we can define the objective function:
    model.objective = quicksum(values[i] * variables[i] for i in range(n))
    # And for the constraints:
    # Ensure the maximum capacity of `W`:
    model.constraints += quicksum(weights[i] * variables[i] for i in range(n)) <= W
    # The second constraint that all `x_i` are in [0, 1, 2, ..., c]:
    for i in range(n):
        model.constraints += variables[i] <= c
        model.constraints += variables[i] >= 0
    print(model)
    

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.

luna_model-0.5.1-cp314-cp314-win_arm64.whl (2.4 MB view details)

Uploaded CPython 3.14Windows ARM64

luna_model-0.5.1-cp314-cp314-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.14Windows x86-64

luna_model-0.5.1-cp314-cp314-musllinux_1_2_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

luna_model-0.5.1-cp314-cp314-musllinux_1_2_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

luna_model-0.5.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

luna_model-0.5.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

luna_model-0.5.1-cp314-cp314-macosx_11_0_arm64.whl (3.4 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

luna_model-0.5.1-cp314-cp314-macosx_10_12_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

luna_model-0.5.1-cp313-cp313-win_arm64.whl (2.4 MB view details)

Uploaded CPython 3.13Windows ARM64

luna_model-0.5.1-cp313-cp313-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.13Windows x86-64

luna_model-0.5.1-cp313-cp313-musllinux_1_2_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

luna_model-0.5.1-cp313-cp313-musllinux_1_2_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

luna_model-0.5.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

luna_model-0.5.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

luna_model-0.5.1-cp313-cp313-macosx_11_0_arm64.whl (3.4 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

luna_model-0.5.1-cp313-cp313-macosx_10_12_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

luna_model-0.5.1-cp312-cp312-win_arm64.whl (2.4 MB view details)

Uploaded CPython 3.12Windows ARM64

luna_model-0.5.1-cp312-cp312-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.12Windows x86-64

luna_model-0.5.1-cp312-cp312-musllinux_1_2_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

luna_model-0.5.1-cp312-cp312-musllinux_1_2_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

luna_model-0.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

luna_model-0.5.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

luna_model-0.5.1-cp312-cp312-macosx_11_0_arm64.whl (3.4 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

luna_model-0.5.1-cp312-cp312-macosx_10_12_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

luna_model-0.5.1-cp311-cp311-win_arm64.whl (2.4 MB view details)

Uploaded CPython 3.11Windows ARM64

luna_model-0.5.1-cp311-cp311-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.11Windows x86-64

luna_model-0.5.1-cp311-cp311-musllinux_1_2_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

luna_model-0.5.1-cp311-cp311-musllinux_1_2_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

luna_model-0.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

luna_model-0.5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

luna_model-0.5.1-cp311-cp311-macosx_11_0_arm64.whl (3.4 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

luna_model-0.5.1-cp311-cp311-macosx_10_12_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

File details

Details for the file luna_model-0.5.1-cp314-cp314-win_arm64.whl.

File metadata

  • Download URL: luna_model-0.5.1-cp314-cp314-win_arm64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.14, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for luna_model-0.5.1-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 767901dc039c95f3b8eb1b741af9aa4c352d620f4bf04a851951653549b432e1
MD5 358960c2c102401427ccdccbc89409c8
BLAKE2b-256 68ffdf6b5f3d9b8387296c11897331e1dc59a1968c9a8d450b1fe55dc940660e

See more details on using hashes here.

File details

Details for the file luna_model-0.5.1-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: luna_model-0.5.1-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for luna_model-0.5.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 b08cdcddb7d01e5196febefc7bca5ee240dffc28ca9eda8956a481ae802e7c5a
MD5 a5933ba2fb5953b0e813dfeaa819fb93
BLAKE2b-256 720ce6d4b930e58f603b271434b89db95ddbda041dfed428a177910ef02759cc

See more details on using hashes here.

File details

Details for the file luna_model-0.5.1-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for luna_model-0.5.1-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9ae044b1ac94fa5b96f7ca7d460593ae1db226c1c761459ec120673a70ffac79
MD5 128131f6d383ad7a3fb54253750baae1
BLAKE2b-256 8ed5a9a4916680c536f302164e5df86644c195c1a8658827dfa58a559ca667b8

See more details on using hashes here.

File details

Details for the file luna_model-0.5.1-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for luna_model-0.5.1-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1e9ca15a28a6d4b9ab6e96933395bdcb375f22e9669a35f431e81230f8052379
MD5 f6b8981da7cfaf8cde1719c4c7f27e21
BLAKE2b-256 ebc6cbb6abcd060773f035ca1e8ae250c4bd8b900a5cbd80c5057cd65baab073

See more details on using hashes here.

File details

Details for the file luna_model-0.5.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for luna_model-0.5.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7c1f19992f0bb01051b27e0a62cb2c15b3d5a04b65e798ae80afd68e38a19630
MD5 bcd259abd2ade5e07b4d89d5e2f327f1
BLAKE2b-256 334f314d1836c0a9be1c06e1ef53464a4ddf8482a984a7647df64a02f3abf11d

See more details on using hashes here.

File details

Details for the file luna_model-0.5.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for luna_model-0.5.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 24b6b4797ac5e90c416fdd31fd0aba664445272f4103b32b9664d4a83634c4c6
MD5 111eff1d7702292472f7646c6f10c062
BLAKE2b-256 32bb147eebd68591fbec3d2ecb50a71e38bf1ae31c320eb81c1716fdf3779da0

See more details on using hashes here.

File details

Details for the file luna_model-0.5.1-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for luna_model-0.5.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fac9bf0ea919091f23c9f20c368e396fc6a0d4ce573793d924786581648e6da3
MD5 e8523b378d953d1f69ffa8c82b7b8122
BLAKE2b-256 897fddf186f13eae865e8f28976e685b777fb71c7e5f17b91bbf683c88b86549

See more details on using hashes here.

File details

Details for the file luna_model-0.5.1-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for luna_model-0.5.1-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6c0f47754c3ca43fe2d6b16c796cb20118b8d332cda19401d7f9e00a5e29db6e
MD5 fc8dc049f846acb865aecc2117aba17b
BLAKE2b-256 188e32beebbc9b4ef9e5f6f6abf76e67e43c67504783d3028c901b60dd2e3ed8

See more details on using hashes here.

File details

Details for the file luna_model-0.5.1-cp313-cp313-win_arm64.whl.

File metadata

  • Download URL: luna_model-0.5.1-cp313-cp313-win_arm64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.13, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for luna_model-0.5.1-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 97c4f17dd14b66ca6cc7edec3ceea3183a7449dfd7efa96c7ee1c078205499d0
MD5 5307a1d39b5da7b9e045627d8cc292f4
BLAKE2b-256 20d4060b212c6a206b8f2651fac98db9abd8c8535a91b060db4d62098f5d993a

See more details on using hashes here.

File details

Details for the file luna_model-0.5.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: luna_model-0.5.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for luna_model-0.5.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 aab9d4a25738d74114a59dfe1ad796b39a668a1fb6445380425cf810ea09ed87
MD5 e390b50bd6aebbbfc675147e72522346
BLAKE2b-256 7dbc6561b43a641bd5721056250faa9716161e936eec656ee72791881f1b8107

See more details on using hashes here.

File details

Details for the file luna_model-0.5.1-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for luna_model-0.5.1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5e7e336735f76246dfc571c51347309791b558a0817593355f4558585092d9ee
MD5 74148468ac7d37f4d7438255feb3d468
BLAKE2b-256 1a95e691de916e6385c314c56ea055583caa771c588210a75facdfc0d5c1ba6e

See more details on using hashes here.

File details

Details for the file luna_model-0.5.1-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for luna_model-0.5.1-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 dee5783388ecff5f3dc45bf3d3385141aa540a2405929edbb330c52b61fd1253
MD5 a3076de65fcbb8d7d98562cb7d73179d
BLAKE2b-256 ca3b52aa4c54d24c759e97fb5186358fa078b3f305659f3ae0be91505a37148a

See more details on using hashes here.

File details

Details for the file luna_model-0.5.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for luna_model-0.5.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 11c227fcf0dcf47b4cac7da70ecb34d9e905a10313b2dba53b0fc1d955cce8d7
MD5 9768bd7cc4fd9a8fcc203f114e4ec201
BLAKE2b-256 86a23d08d189184d5b666ff769650b0dc7e939ce0fbd575d30c453da95802c14

See more details on using hashes here.

File details

Details for the file luna_model-0.5.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for luna_model-0.5.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 19e309d4a004a3c87b90f76bb45734e748d7d29130da6fe3a2783a50e536808c
MD5 b93f820992ce2378988f2ef10f928121
BLAKE2b-256 9e00a3b259099b208bd421c2f648f914572d97b0b28b3e7cac8cbadcf9e6e48b

See more details on using hashes here.

File details

Details for the file luna_model-0.5.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for luna_model-0.5.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6ed7d5f7390d471939f5d4c56cdc836ada53e0997af9f85abf15f71b80494ef8
MD5 da2a2135dd0a510f2007150f13a1e97a
BLAKE2b-256 f2fea09ec86d4908f624c51583a766e87e83ce14fbabfc0ac7497a774d439fa1

See more details on using hashes here.

File details

Details for the file luna_model-0.5.1-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for luna_model-0.5.1-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 66f8020b7795fa6eaab78fd00bda969e4f95cd0ffad8b2c47077180b694ae303
MD5 a19b249120ca3d7df87033723ed7fbe9
BLAKE2b-256 3dafc04c59c12748f6a70b71c3e057eb691861642a95e793dd8c7ca9e86119d2

See more details on using hashes here.

File details

Details for the file luna_model-0.5.1-cp312-cp312-win_arm64.whl.

File metadata

  • Download URL: luna_model-0.5.1-cp312-cp312-win_arm64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.12, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for luna_model-0.5.1-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 593282bd07a57ec105a706315de698f106d5f1d5166493808ead2f6b50a737b7
MD5 de7bddda11de22066a3cdf9b2200dee0
BLAKE2b-256 fb0ff2449887981d1b3828cb74f446541981415aab034a59e7c4176b982ae54b

See more details on using hashes here.

File details

Details for the file luna_model-0.5.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: luna_model-0.5.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for luna_model-0.5.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 81663eb20ff7a1a17b41bd156214a37b2d03795dfdd5173a7f49f31f6650daac
MD5 1a31bac427b7dd62e90d72a8568c2402
BLAKE2b-256 50a33d09b7e411012e733a6d79a3c55a3bf4a330c402fbd4e181a7e4fbc65b44

See more details on using hashes here.

File details

Details for the file luna_model-0.5.1-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for luna_model-0.5.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b6c2c10efb636510b36553cd5a09a8d1b1d1a9aefeb47fca8a2400db71230617
MD5 8db29b45833eda7a95a2e3767f2f0642
BLAKE2b-256 9983f900fe8b7fdb1ab9d9bccce487acbc51302ade2f4e9023db2775b0926efd

See more details on using hashes here.

File details

Details for the file luna_model-0.5.1-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for luna_model-0.5.1-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8de54821bf977827613214707efc7a2c625409f9d2d6dd755ae72dc7682267d0
MD5 6aa3896ee67881f33b5b1d24818715d4
BLAKE2b-256 2550f477918241335acb09b5b65083d73b0e8646c98a5e5e09615b9a0244187f

See more details on using hashes here.

File details

Details for the file luna_model-0.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for luna_model-0.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d39e2bb70117f6da5fe3133fa286a03fd8729ebef765e4835c84ffa7a8b13b5b
MD5 d7f1f050b1549ddec482b40a5a8e8bf4
BLAKE2b-256 c07e9805bce7e98683abf88ec7908b97de905772e308b8beb5d4c190dfe98521

See more details on using hashes here.

File details

Details for the file luna_model-0.5.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for luna_model-0.5.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 82182d9130690ebd7d6aabb02f3cf58526845907bb3a92cc1d0bda1fde944a23
MD5 d1af5192c842e2405ab803c2a8b12710
BLAKE2b-256 302f7e27438bd14ef9c136696fc5b0748cc8f226c37a60a62d6ba22e0b5c03cc

See more details on using hashes here.

File details

Details for the file luna_model-0.5.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for luna_model-0.5.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cf49de5f69b5f9517ebe7bbdb1c8076141785a9540e5e76e5b95c691ef7243dd
MD5 1444a9ceb68425c3cc3cf8a0288c42e3
BLAKE2b-256 8c1867797b80ced8553595a900448ced7c16865edc66da9df115b3175ecbb312

See more details on using hashes here.

File details

Details for the file luna_model-0.5.1-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for luna_model-0.5.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0da8f611b426f54bf9f3c571ccd7c398bf17ebb7292bfbfed14c9feff7510745
MD5 05845154ef6a21750003537bed57086b
BLAKE2b-256 4c73b097f81f194339e6719c568f89a99417942c7225538a23c14ca6c4ddc41c

See more details on using hashes here.

File details

Details for the file luna_model-0.5.1-cp311-cp311-win_arm64.whl.

File metadata

  • Download URL: luna_model-0.5.1-cp311-cp311-win_arm64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.11, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for luna_model-0.5.1-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 307997866b2ddbbcd910839e26de9d12a192dc6754db977eb8e4b73ce6c6ff2c
MD5 b60d793cf3abb4cd4cf4f092670aaeda
BLAKE2b-256 af78ed52e5d138d69b4d51d56978b7a2c1c20654191db48f3790fd33651230fb

See more details on using hashes here.

File details

Details for the file luna_model-0.5.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: luna_model-0.5.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for luna_model-0.5.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 cd49f6d91da99c7c00112ae5840678926b5b830738e44f02936bd1d53c285fff
MD5 64f81566fd34f4e1f959c576d2afa9b8
BLAKE2b-256 4d8b6d548f7adb2a7b23f6042001d113003334f45b0a7805c15b0a0b1699ce2a

See more details on using hashes here.

File details

Details for the file luna_model-0.5.1-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for luna_model-0.5.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 39e477c43362c84a3db3fd245102d62cc5090f3b8793e4e7185d0bf6deaa047f
MD5 66cd84996cbd659fb35d1f004d76e5a8
BLAKE2b-256 7e9efcf90ff4e185abfd43060b0f45076942e95ffbf1cc9d8eac692ba78e6fce

See more details on using hashes here.

File details

Details for the file luna_model-0.5.1-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for luna_model-0.5.1-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f22b96fde78d34f1edea5206fe41223d36b55d72099e239a416b4fb18c7f835d
MD5 8bfe8bc9be23cf09ad0febd0074ff6ab
BLAKE2b-256 15f081ebdcca246959582ed0e4ad2e1f64e54a02c9906dd17b2fdca0e6f00a13

See more details on using hashes here.

File details

Details for the file luna_model-0.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for luna_model-0.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9901a8cf7f3cf5cb76d4713f1d65c37297f578f75dbc7a73830eb8918af5e935
MD5 dfa5bb634071dd6730f5041fa1051a0d
BLAKE2b-256 50d226570517d94d38cd9b84c08d29db6aea600f9f475e06e5a2a664d07dadb5

See more details on using hashes here.

File details

Details for the file luna_model-0.5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for luna_model-0.5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0c6014e38c5f1b91e37dfbd92c8559df5ca10bfc28a126a4d802ee860ef1b05a
MD5 d46884f30e4c954dbb158bc4cfdaddb6
BLAKE2b-256 bf4eb264c9179905f104dcf1edb07231052ad15c985f47d7e302dd39c8e55fec

See more details on using hashes here.

File details

Details for the file luna_model-0.5.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for luna_model-0.5.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7327d96a419ce6fa834e4b5ddd4898ab99bd330dad960d9ae39e945e72fb2a7a
MD5 8dc4446a81cffd7a341675f8b6d20890
BLAKE2b-256 744e546a7c472f5f9086c259429235afaaac07ed32f23ca43c158b7ea89b96ff

See more details on using hashes here.

File details

Details for the file luna_model-0.5.1-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for luna_model-0.5.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a7c4e01637ad7b61be17e45cca7f2ff9eaf93b7c30c41658339be01f20ea0872
MD5 f82dda2667fe2ee722b9cf1e9a07ef65
BLAKE2b-256 3cff548c32be3dd8b42640834e8c5221b8ce953bb1daa3b554fe5c15cd2872e8

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