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

Uploaded CPython 3.14Windows ARM64

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

Uploaded CPython 3.14Windows x86-64

luna_model-0.5.9-cp314-cp314-musllinux_1_2_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

luna_model-0.5.9-cp314-cp314-musllinux_1_2_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

luna_model-0.5.9-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

luna_model-0.5.9-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.14macOS 11.0+ ARM64

luna_model-0.5.9-cp314-cp314-macosx_10_12_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

luna_model-0.5.9-cp313-cp313-win_arm64.whl (2.5 MB view details)

Uploaded CPython 3.13Windows ARM64

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

Uploaded CPython 3.13Windows x86-64

luna_model-0.5.9-cp313-cp313-musllinux_1_2_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

luna_model-0.5.9-cp313-cp313-musllinux_1_2_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

luna_model-0.5.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

luna_model-0.5.9-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

luna_model-0.5.9-cp313-cp313-macosx_10_12_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

luna_model-0.5.9-cp312-cp312-win_arm64.whl (2.5 MB view details)

Uploaded CPython 3.12Windows ARM64

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

Uploaded CPython 3.12Windows x86-64

luna_model-0.5.9-cp312-cp312-musllinux_1_2_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

luna_model-0.5.9-cp312-cp312-musllinux_1_2_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

luna_model-0.5.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

luna_model-0.5.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

luna_model-0.5.9-cp312-cp312-macosx_10_12_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

luna_model-0.5.9-cp311-cp311-win_arm64.whl (2.5 MB view details)

Uploaded CPython 3.11Windows ARM64

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

Uploaded CPython 3.11Windows x86-64

luna_model-0.5.9-cp311-cp311-musllinux_1_2_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

luna_model-0.5.9-cp311-cp311-musllinux_1_2_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

luna_model-0.5.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

luna_model-0.5.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

luna_model-0.5.9-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.9-cp314-cp314-win_arm64.whl.

File metadata

  • Download URL: luna_model-0.5.9-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.13

File hashes

Hashes for luna_model-0.5.9-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 268d41f346aece252811e0b614354dc14b9d85e21f67bb03a6b8cb6a25fac0e7
MD5 b040c4c12f5357926d00afe19f36e8ea
BLAKE2b-256 293fd56e4adc8447f5f34547525cabe9edbc7bedabcd5c494e4a073b0942cf0e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.9-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.13

File hashes

Hashes for luna_model-0.5.9-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 f4a1ff63f314add87ea1e70cd1d4faa34fd7e1aeb3796229cdd20cf808057595
MD5 8572d1e78cd8f223286de58a70ce41e8
BLAKE2b-256 c7e8a01ba8c4372dda758632f21ac0ea9819361dd0d6895a4015a0e50e4ae5a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.9-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d410635ef8dbff2e2657c01345cb8326d9641c46263253cc7236edeeb0409491
MD5 8a812750264188f18bdab0eb9cebc7f2
BLAKE2b-256 d48d0bcaf93da7ba271320a880506ee8b428bdc78c3b90fdbea76eb2ac427ab2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.9-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4d08c6d192945818d0e59cfb4f94b9cbb57cf6358d780785f4a487f26e11952e
MD5 842e58043606009858b2090cfe6abbba
BLAKE2b-256 1e48baf801aafd710f7d86c75c322e8b743168f604d30a317f007dcba8e3e0ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.9-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9534444ee1ee67b2e0e1dd69cb1cb3ca614a0f3b16b0a63684393b2dc516101f
MD5 c88981db15da6e96d1ee22c90c540d1c
BLAKE2b-256 10ddbac1228a5bb72151b4a7a16ff0b1bf29262e13a69511db70558625b74594

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.9-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 895d30956b402e29b3329f2668039ae75a7e4fa02adb641d6b12bcd1ab153c59
MD5 a97193c864e3231aafe9760d111f12e6
BLAKE2b-256 88c0a18f55ee6189df3d8c1f1cc60247e6e37884d21703eb57815af6b4576475

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.9-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a5f81cf01bd685d2a236559973f0c57491331632a3604df291400849cba79e7b
MD5 1b14fd91da429ef9a73e6370a3f2c1d2
BLAKE2b-256 7912df6cd614e699cdc69795b8562e0ccbe873a7f3923f3ea032813208a23817

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.9-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d85267679263762bcf3c88e863d9b13a48d4c66a0cc767c124c4285c8e24b922
MD5 fc4b3d366932f1db179da380aacf35ae
BLAKE2b-256 08ebef231999a920e6360d29e0a8f5efb3af9f58dd4c370a67c4c8ce8e29abfd

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for luna_model-0.5.9-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 d0547dbca02f8ca099db4cc5960eafd630427ae623af16fa169aaf40c92ffffe
MD5 79870b64e5eb7ac1ae0159c253e70bfa
BLAKE2b-256 d578b089a43d35fdf28c617ae50d5642ea4147867a7d78d50ed76577e003b479

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.9-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.13

File hashes

Hashes for luna_model-0.5.9-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 758d8de4a5616a40414c4bdb5fddeb63ffdb1601acdb261d567fa16e4ed3113a
MD5 d5443c3402d7fc59b1d9986935d9e8ea
BLAKE2b-256 a082ddcbb92ed5362d3cdacd22871742167da38add634cccd6cab048d8f39628

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.9-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e9e6af371bc20363351084693c965739f17acae86e3fb97e8378a6f1ad290779
MD5 9b38f5673051b4e7e84eddf0d69fb040
BLAKE2b-256 0416758e89de0d87b060d06392bf39d72b221dbfbbc3d12de623441a97c6a032

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.9-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b8426418bb302642c107fb7f135783ec5d1ca33ccb3e970fc19988082c4b84c8
MD5 f8b4051b403c31e7ee7604b75c8af298
BLAKE2b-256 3c53306defbaea5063182e097b03ecd089f89743d5b01a5fbde69d223d16c8de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 951cbab946c6fb287bba8a58af4727a06c82c858051efdc668a7c71e95ff3901
MD5 dd0a5ef48ada323d0cf1f9c5855a5e8a
BLAKE2b-256 46411bc73bdcf5b492c36c853d004c8d303990e910a589307d9072646d41b04c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.9-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e682688b7110c559752703799a879f542a8a32b42b748d42d2a3bd40401aa609
MD5 a61d5cf7bc4b171b522d3999143fa1c4
BLAKE2b-256 b102baa526fb6bb8f60c18d1a5bb585a3d9fd27df656349c71aee98792c72952

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.9-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 548a4d6fc16d18a9bc31ddd7bc75f8ad45a377937b46230962f0888941b7fb19
MD5 412594a8a82ef514cb32e07df3523a95
BLAKE2b-256 804b2a9f344a4915ae0318dc32c2b380f874145e3fab2b31d44753613f987ab1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.9-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b5b24a85f8960012f554ed2000c1f259e338f5ad9d711e1c2ea2dd544b04c232
MD5 e1dbb71d4f8642ec5e2a4a4b0dae809a
BLAKE2b-256 32fba7f7bb6c2229956303d41ac5342dc35faf6c703ef84e997603ce976bf58b

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for luna_model-0.5.9-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 85d06c92fc8188c83470221753ce142c97bc1117c326666fe7c2b96121620ebc
MD5 01ce7c394bed8066965b40e4e9528b38
BLAKE2b-256 24adf7be6a60b01fe235635846781e36153727dd1f194bc35206d23b7a0ee75f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.9-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.13

File hashes

Hashes for luna_model-0.5.9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 531b1a13bd64815bfe1424477e15d066b193fc1899aee690f4be54bd1028c960
MD5 145a96f44001680884f4fddba175e1ca
BLAKE2b-256 dc358f3ab3ab6039dd3b74f2acc65dd039ed18bc871aacd986c24f3f59b7d263

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.9-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 05439725015bf86891925959206cd45d64cc721749b148619f5b3e09611407a0
MD5 a30d08b34d6d2f2383c6f2340583cba8
BLAKE2b-256 0b82052d8da13ae729dd3e516b827743d2f73824504ffd48f0d6214001600daf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.9-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7a9ea5feaa8d6decec401bb18db0ac724f8a1df5cc27b00f059e1c08ad26e223
MD5 ba75319c1bddabb3f73cf033a35b5a57
BLAKE2b-256 97a6fdbcf5189b68f7e8814778044a2fdd8daef4796859b57bf91170563a00e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 adc04d75d93453dbc74ed8c6af0b16478cf577cb778cc47c2baea8b09d5056ef
MD5 f135030f3a28c738cba188bcbe9471be
BLAKE2b-256 9165df28cc7a4d5316e4e8132286bd46849e8ded4f8f2ea9cb3c0edb95e94f30

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0e0e563a94858829b8222b903b55c61befa323d3265b2769a6ac122e35815054
MD5 af173e73744da86ea3f80bcb2f3bae86
BLAKE2b-256 370af8a23cbdd52faa5e11a8159aa77de9bcced32735179fdade27f46abc9ebd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.9-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 20fb9d725054b109b108352eaa13896294a63f29326cfe3c65804eced3fcfb6d
MD5 52dba7debb63af7dc28e6d0d25a19a8b
BLAKE2b-256 23ec775f3f017e19ca62f751a2747d224268cecef877f601c989c99510f43ccb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.9-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 eb12e7e411c16096d54b15d002bf0f82989b73293e6aeebb320fafa383360cd2
MD5 b575fcc095993b9f8c904e70ec5375a1
BLAKE2b-256 25f4cca0f030059d0512cc49b9bafc9d270275ef68621eb535a73821fa79b87e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.9-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.13

File hashes

Hashes for luna_model-0.5.9-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 ed22e26c3842870aca276263724d5536e7624bcc51e531ddeaacabd160c4eb09
MD5 c706ca7adc3da1bb93e64669c169c194
BLAKE2b-256 ffa5ffd851862e0bfa49c9210849b485833a9652750a36678941a102eb6e742c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.9-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.13

File hashes

Hashes for luna_model-0.5.9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b0249216f094c3fcaecdf18e7ac25025220b2d488f20d0cf31dfe59b40a40735
MD5 0ca36f85ee2eeff135f54bc597348c37
BLAKE2b-256 472495f748d7f6b0870d8f3866460217e66c5f977ec4edb7606cb3090e9dc05e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.9-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e2c541636dd4138f7db4302b060ff01f62db68d8be1a8fb9f1262fec30cfdb36
MD5 944d010cc5dbac18999bc2d18d41a105
BLAKE2b-256 80adc7bcc3dc5c5fec7a55f4a6ca7b4495353415bc8d397d1de9adea10e1aaed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.9-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f348278e10968f7ed164ba31c433ae639135e576f1c223c96dbf621049bf8df5
MD5 b6c89fcb1a6c798cd78ec73ee5dc11b5
BLAKE2b-256 5ee131ed312a69cc1ec4183f66b6366a4f3f339f3622c077de2352de8cd74556

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dbe6bb11a5d77e55291582eb41fc050a2b4c45c4adbff506b70a34915fa4387f
MD5 683d45eafb29b0cc80859fc536168890
BLAKE2b-256 3697996bbab16cc93e5f530be56353243e1e0dd9510c3c728cffb5dc3ae5ab87

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 90b5d5a422bb3699458d3312aedd642a07ddb5571594661ef6656bcc6659364c
MD5 0e33d716b60bdd8e6b7fe958b12142fe
BLAKE2b-256 9119bf714b939da926f7835ce6481e6d0e8cb68d4bcc12830f312bde79836be9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.9-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6afd25fe6ea565194882dd7d89dd2500ab9908fd13d6bab70afdba562f906348
MD5 e714b06008294574c8a0158225e6f47d
BLAKE2b-256 bfa5937f3dcf3768e08509635c2647dfbff236120ec645c1320bab9df6f334f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.9-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1214628c1381759b6d4df1273def7c960e0ce942d41882337b4b5409ab289353
MD5 c5965c80da7842a4c9686b1b0cf47010
BLAKE2b-256 7f02be7064dcb987608a6c0fc24a776f37c5252fac5d0734635ebf905f2b271c

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