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.5-cp314-cp314-win_arm64.whl (2.5 MB view details)

Uploaded CPython 3.14Windows ARM64

luna_model-0.5.5-cp314-cp314-win_amd64.whl (2.7 MB view details)

Uploaded CPython 3.14Windows x86-64

luna_model-0.5.5-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.5-cp314-cp314-musllinux_1_2_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

luna_model-0.5.5-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.5-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

luna_model-0.5.5-cp314-cp314-macosx_11_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

luna_model-0.5.5-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.5-cp313-cp313-win_arm64.whl (2.4 MB view details)

Uploaded CPython 3.13Windows ARM64

luna_model-0.5.5-cp313-cp313-win_amd64.whl (2.7 MB view details)

Uploaded CPython 3.13Windows x86-64

luna_model-0.5.5-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.5-cp313-cp313-musllinux_1_2_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

luna_model-0.5.5-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.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

luna_model-0.5.5-cp313-cp313-macosx_11_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

luna_model-0.5.5-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.5-cp312-cp312-win_arm64.whl (2.4 MB view details)

Uploaded CPython 3.12Windows ARM64

luna_model-0.5.5-cp312-cp312-win_amd64.whl (2.7 MB view details)

Uploaded CPython 3.12Windows x86-64

luna_model-0.5.5-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.5-cp312-cp312-musllinux_1_2_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

luna_model-0.5.5-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.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

luna_model-0.5.5-cp312-cp312-macosx_11_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

luna_model-0.5.5-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.5-cp311-cp311-win_arm64.whl (2.5 MB view details)

Uploaded CPython 3.11Windows ARM64

luna_model-0.5.5-cp311-cp311-win_amd64.whl (2.7 MB view details)

Uploaded CPython 3.11Windows x86-64

luna_model-0.5.5-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.5-cp311-cp311-musllinux_1_2_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

luna_model-0.5.5-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.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

luna_model-0.5.5-cp311-cp311-macosx_11_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

luna_model-0.5.5-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.5-cp314-cp314-win_arm64.whl.

File metadata

  • Download URL: luna_model-0.5.5-cp314-cp314-win_arm64.whl
  • Upload date:
  • Size: 2.5 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.5-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 6f03ff4a78955a35b3e38397a4568482c9b4ecc4d5f7afc886a8545f92669880
MD5 5ddc86b949885b70bbb1ecca6ac034df
BLAKE2b-256 c2745ee0f8e1af9dd9edf99a4258239fa371bd5d4d22219c864ea1509d98e3e2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.5-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 2.7 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.5-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 36d4e25d0db701ede670dbe7a3af6a88ee1c28014633820339c4388850fed636
MD5 8807df68cc9945ba98d81e15cf27ad29
BLAKE2b-256 fa217a17cc807becaed433bd77c117163015a5df84f193e5b651752abe41793a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.5-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c0445c5cf1e3461edb9b8001025402dc62ca91f32af2bdd4c3c87fc3d8ca2be1
MD5 364e77939600418fb831bda83e61a7c1
BLAKE2b-256 39e1ffc1819a381feb64bc6fcb6eac2acaf185cb3b522efffb808f22b75c916f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.5-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 301df2b6ecfe502202d9fb2d3ebd33f94165c4230f03d1e8f7e1d65961c65dc2
MD5 fcb45b820804b4c9ba4360a4f6af4f4f
BLAKE2b-256 5c279a4d09c54bd65e8924e588df8d86fe381dcf4e897ea238168f89698e3e85

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.5-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 33e3d1a9fc4b5e95b6f0423ce3bfdbb7940fd7c32a3bebcb72458e8cbe7004fe
MD5 e6513af62242b0deddf6b75ccf57230d
BLAKE2b-256 99508c094275f1ad0b29276af932523affa1588ad21a6867e9dd9fcc3b895999

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.5-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 eb5b9e980817d007aaff41461a7b0f3104d1167f841f26e0ff34c5e9fef48774
MD5 109ccf9f593cc1c562455f8b04f70f50
BLAKE2b-256 e77f821c8f5ee33a41d0402019151129e7ec81ff1b7bba64560fb2ae67073a7f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.5-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fa8d9824676899b019612de7f2db837979347f672b5d92cfdbe4110649e62014
MD5 3ec03b05164316bdf2809bd8d898831a
BLAKE2b-256 a1f2fe14631c11c5ac1f57f427dca5bf22687586bc8a15407bd86456f97c894b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.5-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3f3d0b8070e74e1af2fff79f9c7f657ed898feff969cdc89849cf08633cce22f
MD5 8dc1024d1f1e3d742c268ef46dcce451
BLAKE2b-256 a36430683014dce4274c44adb3108dd618757d0c91174579eff1eeb601c8c34c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.5-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.5-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 750fc346621315b194391517778f06d9a633e04b0e9f51ea339548db81d7b52b
MD5 57ccd3eae03e04e4328904f3b8078d6b
BLAKE2b-256 079fe11df42ad79c81f2e8b5a879788a56aea4189bb3116922a9cae3e1825db5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.5-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.7 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.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2bd95c12caf3018828c417bff07b8cc74095364d370112b068e8ef1932fc355a
MD5 d7b5f51fba921c5d7d531456e44606fd
BLAKE2b-256 07d6e501f4cd77206770e2262ef2cf57f37753b530cee987ea87a3d95806826e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.5-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3609332a6f1ed668b6a4619184f76a234f58743563c1881268d09a6f429bb1f5
MD5 7ae058cbdf0dd5b86176886290ec9716
BLAKE2b-256 ab70441d10bf545c05960080fd3aa7987c3e5624742bcd6d2345c289974cfc72

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.5-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b1c2792aa60f5850196397fc331a38fe2867389216b98dac6f94c6748006ead2
MD5 5d455604d09e0f2acb6bafbde31daf20
BLAKE2b-256 bf677e8adbf3803d8ee9a6b0d6ebcf7d81c984e7e1cbec88f12545c848a222d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bb6514b485768ebc0079609b99d5add64d87363c7bce6a3f5d87c8487bf33295
MD5 c080038cb1ef415bbe7d17195e05612d
BLAKE2b-256 8e4b4610d74e7f0e32391758e149c06f78e693ad4c6a15361f7012a1595fd821

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 25917412215b7331080353f51428109f179e7cd78a6de9c5324ee57691d6e71b
MD5 7b11a5df3200dff965f88f9357f2a8bd
BLAKE2b-256 ff08f3b23daf927ffcd07281c16ed79c65e05ed296f1be0a0ba59895654d79a8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.5-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6bc03219187a9ad4104b82bbdec202cf63cb2f9bde49d9a0151c2f8502c12027
MD5 4f9b23ae0082a9406a0692800893fc59
BLAKE2b-256 b9b09385e6edc6799622bb0b8870b6528b6945c08fd8dad7ea3675f7b147c617

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.5-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9943dc9e9dfa66c6db2ab94da3d8fb0c7b64339aac3f3804cdb4232f334b29e0
MD5 fd78f2e898b6d412be6ed776e51b56bd
BLAKE2b-256 10a46d1fd0a0e478d852f921ab18d990aa4460c06ae348173ee909f0b4e92a32

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.5-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.5-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 bdf1b2dbbe206c410d42993fb5bc699c71cc7831b6a5957c85fe20f997f39856
MD5 30ffa0ff8feeebe69f75e33494d7ece0
BLAKE2b-256 303fa1d28641e797230f7e3a0f46ed9a9787f9a5c790e8507d589457707abd47

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.5-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.7 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.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2bfbef8f18aa0d9b47f82144e5abe94bb0cef7ac5d24d73722f43b8f2864baef
MD5 ec8111d736a2c1ca64651d25f09a895e
BLAKE2b-256 cd03fe4f849770af0cd48c39185cc6a6a538a2b0926eb6e008e0c478cb0334b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.5-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 610e50344151551c6b2230aa428e8791a9d7537a029617488aea0ec8aba59a0b
MD5 057dc3ccec20faed3cc78838a7d70ca1
BLAKE2b-256 4203043d3bac4c438da5f14a051491e006b2caaeb281b1d3af5c34f486d365b0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.5-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3e059ca619e477a490ec2d1003549b971cbb588d514cc3a9e7b6951a2929f2ac
MD5 0ebe9891fba9d1e46b6a4f18294ad8a2
BLAKE2b-256 236ceed6ec1ee00bb8a4af9553275d0b92cfc3d48bda01b9477cfe08f00783a4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4b7ea63de755a2927945f1fde15a18bd604fda52b32fa2eefce5a5af6176fc7d
MD5 970504842dd9b96f903e4d8256f6c0fe
BLAKE2b-256 e11f687efe22c70c9b8d419644ee19e1a50abb9c19ceea3bc1d3b47818a2d84f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cd0e0438137f8bdb68215bdac1d2ff191084c9c04af870c6184b68b6d7fb7a36
MD5 17d8d67578045c9b6c1b593704486650
BLAKE2b-256 0a302efa29b21cfa7282aaa50c01e975664d4cf0e8c8a787bd850e5a9ba189da

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 03adbdd11c462d5d10568377db3173ef875c0beebf5151c2d1fe6508e4e371e4
MD5 fded81c248e03f19f098ab69fd530c32
BLAKE2b-256 f49d2584ecaa0b050a5f3f815c50bc1daae491c45b86ba2c7416dba6e33de751

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.5-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6341f0f3d55ecdb27f9cd6a3ce400f6267d702f1a9505c200a2f3f39a35e6679
MD5 ea07cfc75c5377c13f08bc38213a118b
BLAKE2b-256 bacba99c75b75df57989a75786e76b837c0d1ea81902f1f7439a036bd031e1e0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.5-cp311-cp311-win_arm64.whl
  • Upload date:
  • Size: 2.5 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.5-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 564697318d1affce23f4a46cc728b89e0f1d061910ee363ae6362decf9e83ca3
MD5 4df533a0f4e500a1d4d09baaab5308db
BLAKE2b-256 3362b48c0d2bed9246780f86b231cc18f8bd7d72d9e35534fe5587fc3b571b11

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.5-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.7 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.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 14d01fb19c8b87c0bed249644c668832ae8dc732151b28cccec77573aaa64f9d
MD5 7c48b8cbb3ff6507c4ceb531fb283f3d
BLAKE2b-256 3136ad1f64f50d3d667373f1ff251526fa7bf70164d46516cec83477d0df723f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.5-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bba31c8bb736795ccd2afd95e08e138dfeab83372c2b7148416cf1a5562d4a10
MD5 329f0500b6f9fa708a10fd27fb80698a
BLAKE2b-256 fbd4fd9c79c73c5eb517585a45930aed60224313867d0509bd4a2da5cc74bef8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.5-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 902c7d017d11ba2130efc1cf813604a5719528b8302092f26d6c6f152cc803cf
MD5 e6eeed759a954f1d2687f7029bd9c98c
BLAKE2b-256 050a920a299ce09f21c547f238ba9021dc26cff295dfb5ea73df9305d7d8eb13

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 db92d5f101482f3eade0f49e9ea7cf710ffebc11db46514b32fa9a3d916e6fcd
MD5 2b8b8335b08c7782493cef0ca9dc88cf
BLAKE2b-256 44d916ddcf94995258e3c6f97b27ce5bcdd328aa7c8c5273e4d529149197d9ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e38567f5ffe0322a786dd1a9a69c5bbb497edd02ab9c802910d4360cea2669c1
MD5 734662b810dd6447cbdca0e9d1f8a805
BLAKE2b-256 0e33c9f4e5881e81cf39666c69c998243c7457b3e603b79fd9b9bce4e32464f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 aca48af6e41015a25eafe3b446fea8d3110ae90b2b984f223e66db04d46fbff0
MD5 c2345b946d206537e97c707aec708a50
BLAKE2b-256 f439a9930ca98821f8be1fdb321af42566d0d197590f5c7a724f062bd178a474

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.5-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e33b29517e3b29174714f7330166108441603e7a66654f1ecb2baef1cae53b28
MD5 9f478207653e86c0dd6e96f6e68399a4
BLAKE2b-256 2a77cf89c13dcb4436cde9ad70970ed27a85597ce026fb85db4d4dd3411ff8a4

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