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

Uploaded CPython 3.14Windows ARM64

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

Uploaded CPython 3.14Windows x86-64

luna_model-0.5.3-cp314-cp314-musllinux_1_2_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

luna_model-0.5.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

luna_model-0.5.3-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.3-cp314-cp314-macosx_11_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

luna_model-0.5.3-cp314-cp314-macosx_10_12_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

luna_model-0.5.3-cp313-cp313-win_arm64.whl (2.3 MB view details)

Uploaded CPython 3.13Windows ARM64

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

Uploaded CPython 3.13Windows x86-64

luna_model-0.5.3-cp313-cp313-musllinux_1_2_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

luna_model-0.5.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

luna_model-0.5.3-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.3-cp313-cp313-macosx_11_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

luna_model-0.5.3-cp313-cp313-macosx_10_12_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

luna_model-0.5.3-cp312-cp312-win_arm64.whl (2.3 MB view details)

Uploaded CPython 3.12Windows ARM64

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

Uploaded CPython 3.12Windows x86-64

luna_model-0.5.3-cp312-cp312-musllinux_1_2_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

luna_model-0.5.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

luna_model-0.5.3-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.3-cp312-cp312-macosx_11_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

luna_model-0.5.3-cp312-cp312-macosx_10_12_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

luna_model-0.5.3-cp311-cp311-win_arm64.whl (2.3 MB view details)

Uploaded CPython 3.11Windows ARM64

luna_model-0.5.3-cp311-cp311-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.11Windows x86-64

luna_model-0.5.3-cp311-cp311-musllinux_1_2_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

luna_model-0.5.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

luna_model-0.5.3-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.3-cp311-cp311-macosx_11_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

luna_model-0.5.3-cp311-cp311-macosx_10_12_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: luna_model-0.5.3-cp314-cp314-win_arm64.whl
  • Upload date:
  • Size: 2.3 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.3-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 d0acd682f6820d5c7e15626fe2b9bb6cc8cf0486e035e9ca0d37cfdd2a21173a
MD5 e028fb07e104b559512d74a1e1de0705
BLAKE2b-256 434a7f2de648a52e65f4b9fcce4d505a94042aa354b475d668b9c4c3018a5f25

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.3-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.3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 5c52342bf09da1f09be32c120be2ed7ef4e174416a3f3652dcdf64b2fda38f59
MD5 faae251495ef586013e4725371dda065
BLAKE2b-256 d80522c0967fcdbc19548c516336ac85caa8a7afd058914f390782cddca6f74e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.3-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2f3e5735042df1bff1af97efe611cbabd9e80d05eae3815891aa6d327ff3dc97
MD5 a29539513e6337af5667709961b2e818
BLAKE2b-256 c77a1589ea6c21cf0d48fab20d39e859c11881aebec5447b1ff891c5f893cdf1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.3-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 fc13284142aad00d32cea47ceae415d92bb7983c764a7dd1895afaf140c183e0
MD5 aeeb91a158fe3b3df9c7c8ec867f19c0
BLAKE2b-256 3733840615d31fff5c453dbfe85c352f6c84c6d4b117ed22ccca3e669a19d96c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2056745044419f041cf5640d95294b1dd9b9d5eab126fc3a0f3141108d82619a
MD5 6c452137def1b86b3fe5888683118459
BLAKE2b-256 cae00a9aef6b37666e8f3093f38682ed74e4a9b1fd554f216bf7a27bc74923b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 501df0aa43f2dd74b80d75b8d033916935f3747c702c35aa48c57c0f088637a4
MD5 d51f817373e5c7e6518bcd51a75d4d55
BLAKE2b-256 df162c843d9c49c3014760c4bf44c98d87fb68a0647f7c794a719b7e5ef49cb1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.3-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 98036ce264378d26fff14f10917e9710e23accbd794978cbc0102d80ad5deedc
MD5 de2736e996550c50be34865f79c58a13
BLAKE2b-256 e188c277ba2cca156e62841a3788abbed7a453211b3466353451be3070ddd83f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.3-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5f0f18353a2674e2237d6834b7a23defeec03b6cc2f37be96782ff22449135e9
MD5 8d1dde017116049ddfda66088ccdb0b2
BLAKE2b-256 8c0cce5868f7b8a116b46e2945a67ba5f3c2551d9a83299b472f88f732a51679

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.3-cp313-cp313-win_arm64.whl
  • Upload date:
  • Size: 2.3 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.3-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 2dff818a3b229f50b6bd31d250242925d81cd96fbcbcf0051da92c640613b26e
MD5 c249f7759b85eeca3f6daba6f110337b
BLAKE2b-256 9515a2aa20dfc5fcd9fac5b9ce80c1be407d82d631dabb96f76b54311f5b27e7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.3-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.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b6053d9970784ac63096fa50561c3da0004d53c20e8bbd88223a1d288b2c2c27
MD5 abd241cf6748abbc9c441fa9e834c274
BLAKE2b-256 ef509369383188677886104c56e300af2a43f3d0f1fd34467889fc94b45a762b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.3-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b79b71094b4a77c1858e054bb683ea65310185fe351adb637626b3d14fc2d3bf
MD5 0bfa261a8ce0d4afd7c2aa51a47bed02
BLAKE2b-256 e20c56f30024df335dba7d7d21cf53335fad63cde0f467a41aadedd2eedde488

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.3-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9ed3baa29965a1b86673c840ce39bd59b8d77031e6a107afb2ff52620a0a2afc
MD5 2ca2961a91ca9f67cbeab6d5c9bed4a3
BLAKE2b-256 9dd44e7be17fce4e52e742e6798e21bd65359ee630550f08b64f10b5881be1f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e8a5ce64a259f9d119e4dcb2be90c2ace92a6c32831cc0d2844bd6eb80322bd1
MD5 27535072feedf23b5780ba33fcf76c7c
BLAKE2b-256 4d45abd0ec970d8ee0e305f39a1c356ce751efdbd58165b5bd72a9f154a6494c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1d6110e41e40c6d9d6b711028a04b1441a6dd6f922f51c0b36f71bb8a9fc3639
MD5 1fdb552a3fe9b27d3c201360de4276de
BLAKE2b-256 fc6692e61063825e8d57bf1a1f7de47f0b650a457be5b803979d19f6a76609a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 251573c3a4a9488880cb444f1d429fd6cce4d0985cdc1355c1321e71a78b16d0
MD5 1eb1319bcb8d1bf4116c93a862af6b41
BLAKE2b-256 660f44cd52a55ffeae037a5527de7f07987f66e6b88769d252ed3d110e67e6cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.3-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 93c8e23aa74c31161b5fece907aa4ef5f1f2e990cc6316613fff0b26ee83459a
MD5 97d0a2f2c9dbf57358473f48ea0bee0b
BLAKE2b-256 901283931327883d574e3002754cc5c72f1c1feb730b0760b6dfafeff47cace8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.3-cp312-cp312-win_arm64.whl
  • Upload date:
  • Size: 2.3 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.3-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 08d946cb1ee7f1c073c47c799df36234d65bd3682e9c4af7f05c05adbdca6bf9
MD5 570e547c8392ab573b71bc1787488ab6
BLAKE2b-256 7450af63ea450babc2e1ee9732e94d13033ed090b97a0519ca1510503109ecd5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.3-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.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 9744b9d18787212d0aaf5ec639352b98dba93cedf55eef8516abd75292cb78a1
MD5 d453f6cce16b85a6646c7c5c1d00b28d
BLAKE2b-256 1a6fc8f2a40431da34a52c85f0dfdc3dbaefbf810588d306fe69965d9ad658bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.3-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b5486e9e2ab73c49e80eade2d0ac5cd105f795cb668757cecff6d448ad3180d9
MD5 c70c80d318372b8f31ff6b78b1dcac5b
BLAKE2b-256 b60ea1e7555bd93ca3f6f6d57a587ffceb794a5412a0208a7858d2533623b50e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.3-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c74bf101a3afe2ec05386dbb1a0a7c3513e4af63ba559b1d8c607d24784c118a
MD5 9f9caad61b9a66245fe05ff68e43bdc8
BLAKE2b-256 85e9832e0956fa0b975116c85cdf721edbe0cb84c9489ac4e3205db4e7040dbb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fb728039d392a5b804081a2abba6621974fc80517ff696c210e1219dbd6896d2
MD5 89d4515330365ec1234e547d4511489c
BLAKE2b-256 4cc27b1413d712cb9a9c017974306babbe73e562123820141d3258a7e3182f15

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ae2f84771bea3ea4c3b30395f652c0d4ddf56c81e959befa9f5d60a1064c5611
MD5 e19983abf0a95b257b22340b4d4f4a90
BLAKE2b-256 3fc199929c37eebdda8604b1d9a9faa299c357343812375ec2f3151707db969e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 42913e6ff5259de0610cd53258301ac3781605677b8988927ed2f495ca8f9766
MD5 ff88b437f1bc643ae654ed6a0420f8ff
BLAKE2b-256 61b2375a21fb0f34df17948da4958d15b699147f868d81e6d39e25d4f0f6e744

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.3-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 29c57e22cddb3525ba3203baa9de8a3c86f8981495aa3d092681d94cb49f3b1a
MD5 9e9c0912e91bd6b6eac75d76d903dc8c
BLAKE2b-256 79c7d71aa56a5f6f0d4d4e5d5eac1727b03648ed62f44ac63abd12d5075d2bb8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.3-cp311-cp311-win_arm64.whl
  • Upload date:
  • Size: 2.3 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.3-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 3e1a0558460fe3aaf2641eb0d47efea1ecf5bb4cb8c1f65b94fc373259b41573
MD5 c20452affc532f1071b3861ab9d16531
BLAKE2b-256 9796ab65018a7bddcfd0133706df815588cb8afabedea0c650069edbe9a12dd5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.5 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.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1e29a0a3687cda31ea41cfeb826523609452f4d868dacf57d8c70e9b6fb3c6bd
MD5 08e6ba7dfc5f0ed42c770c6c9cbb0902
BLAKE2b-256 6b27a6f91738592d495e8d44bd6245e9e11f99d43c8d927638e7b61104f2b8d9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.3-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 91507b39d667822466fd6840182cd8b9fb84dd8c2c26f109f5edc3fb854a017a
MD5 246149abb66fc59fe31e66332479f44f
BLAKE2b-256 b1bed59ad103f6b6a236430c8d25e01cd99f96f047d0c056b2738e861ffac3d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.3-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 389cc2c8cdcef7e8d41216234563f6ae63dc0369bd3dad1aa201b869e87a6bd3
MD5 fbbf9eb80326755aab27e278432224fc
BLAKE2b-256 e6a2630c2db19353682ed8e3954c8332caef07607fba4b82420050e2ff798077

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 daaf1299e5cec9704aed6828c93fcbdb5d3aa5082a87bc5dc90c7dd2955e5954
MD5 fcdfb7479e4e401344cb6d6139ddc02b
BLAKE2b-256 164801d51d6350605a7266538ff658b671f520c031a01f9eb198fac8e81012d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b426115ab94be46074093ebe2b3ce730df60d2c5e75d5acab52bd94298c18e54
MD5 b74dc3b06bb78510b728f4f5539d585a
BLAKE2b-256 daed45ea3bef86227438a09a87fb2b29e810dba657a7584ed9c715a134af1fb5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3d41b748f03e38a23c4e47ebf5a47411fe5e722294441717055f355de0e4b0dd
MD5 63c0743612282dcaa743063a62d4d318
BLAKE2b-256 6770f49734636c3cd3012ada69e9722aeb224b6ca613c657e42522a13ac7674c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.3-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e485db63cc71976742b6b79e94ce7ed223a337d2586e9953a6b3ffbe0ec7a472
MD5 4225c24745c3f81ecb6e68487e26a901
BLAKE2b-256 57ce065eae47d705fe03b6f4cb8b231eb2db513c41ac0a89fa54649c09f3b6d0

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