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

Uploaded CPython 3.14Windows ARM64

luna_model-0.6.3-cp314-cp314-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.14Windows x86-64

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

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

luna_model-0.6.3-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.6.3-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.6.3-cp314-cp314-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

luna_model-0.6.3-cp314-cp314-macosx_10_12_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

luna_model-0.6.3-cp313-cp313-win_arm64.whl (2.6 MB view details)

Uploaded CPython 3.13Windows ARM64

luna_model-0.6.3-cp313-cp313-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

luna_model-0.6.3-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.6.3-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.6.3-cp313-cp313-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

luna_model-0.6.3-cp313-cp313-macosx_10_12_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

luna_model-0.6.3-cp312-cp312-win_arm64.whl (2.6 MB view details)

Uploaded CPython 3.12Windows ARM64

luna_model-0.6.3-cp312-cp312-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

luna_model-0.6.3-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.6.3-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.6.3-cp312-cp312-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

luna_model-0.6.3-cp312-cp312-macosx_10_12_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

luna_model-0.6.3-cp311-cp311-win_arm64.whl (2.6 MB view details)

Uploaded CPython 3.11Windows ARM64

luna_model-0.6.3-cp311-cp311-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

luna_model-0.6.3-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.6.3-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.6.3-cp311-cp311-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

luna_model-0.6.3-cp311-cp311-macosx_10_12_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: luna_model-0.6.3-cp314-cp314-win_arm64.whl
  • Upload date:
  • Size: 2.6 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.6.3-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 e2ca904698bea0fbf86c8820e126e6be8b374d1312f3a0d37571c052943432bf
MD5 29edf968c3e3ce978d341814829432ca
BLAKE2b-256 4a46cbf93df31d1f7500a27c00de98e4e216ebc2cc33df234bc7188e8b1b30b0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.6.3-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 2.8 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.6.3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 8bbc4b387474eda3d79acde7528f05e5fb8ae246345aa68847ed2eb43738b643
MD5 f19b8c026aa5072e86c0150658256af3
BLAKE2b-256 985b617d604731c69e84c2cc27f6bb86905d123e8fccf1e3d94d7fa58eae5836

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.3-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 07c49130666a4bcff97776b507e626905557882e3d1ae37756007fa0749c4f90
MD5 f3c741cd4d3023d843e86f3a459910af
BLAKE2b-256 f9def33f54344de07bd0ad9a9355980bb3747a94eb6a6a1f0069cbecc71f29f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.3-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e03e6e2542aacd97098d407f96b302316adaedc4bf2cf10a259f765853da3e91
MD5 6736c0857b184e38e5e95251f7024633
BLAKE2b-256 b15bd29b60c500d626d616a7adc52f8f37b9a1d4125fc38fd88c8fcb6ed8ad49

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c4aae2afcc27f416adbe7c7a668263e3cc6a1806b19d0d8e735a65bd32e002a4
MD5 be17cae6f0227492954f4a6deb586876
BLAKE2b-256 53b33f528ae59756edc5bbc6866d00763189d9a682ba4ed38556993a068c1c86

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d81ec545d3367ab95818afc09d11821efc6875825e454b9c01707f13cf015b07
MD5 37758ade2663e5ad0e58f53fec8f262a
BLAKE2b-256 59b077ea023d766c5a253b9a9274b9045b23b0d6c90e29c7437d19e8722205fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.3-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c0d7dfde4d61b871bd43f715a000c55eb2a1a2a24bfea84210eb27b5eb56ff8a
MD5 73d5dca348af122ed53625ecbba7da0c
BLAKE2b-256 b90d8af9c33d2c7c23754ccd6f4e9c5d18663b512675894db1063580e09f678c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.3-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 cd87bda8ec1a00f8e31860b47811e5f411dc529e50b931075a10b2d46d7ed0a0
MD5 62d52fc2e6ee8ee285fe89bf4693f248
BLAKE2b-256 a31c65a16b00322ef811c624d4c30da7b837e40ee111f67e0eaa7e823ad22ebe

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.6.3-cp313-cp313-win_arm64.whl
  • Upload date:
  • Size: 2.6 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.6.3-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 0053e7ed5fc13003ff21c3589865c9c36be1f862779bca41b7a47d58bc8d6ea4
MD5 1f329dfdf26f8f829305300744918a93
BLAKE2b-256 c9f17caaeb9f63380f45eeee9357b306fedb4372d281fb79db8ce86b3f8279d2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.6.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.8 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.6.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 697f64dff30f902f283be0dfb01164d5424cc54d0bfabbd5b6db73c52af66057
MD5 43a68e124a8f438c42ba407c9f74d24d
BLAKE2b-256 a664f224e1f0680b3bae74f73c0605f23551756b036f08738b405edef102bb6b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.3-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 df49485e4fab7f2df7ed7b1d012f290d6bc28ed5aa82bb99f2bb18c6c264914a
MD5 8216194797d02c1783448376473886e6
BLAKE2b-256 535608f2953857d5e834e839933541fcc69e70de21e95ee326797c71ad6906c5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.3-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 489c9871bcfd2c25667e9fa42641e4cc393f86a942a0ac977130a2764dccb90f
MD5 5e6c81a775db1383592e8388b04bdc65
BLAKE2b-256 87c5110fbbcfd76104ad9598daf1e8dc226b7643d1ad01a1c42ee427ae61a0b7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9567204b42d018ee395b17f493123cddaaaefe468e203eb28da41de47f84ad3d
MD5 b5e7d0a1987e7413b7cafddb9e029ab2
BLAKE2b-256 5c31ecaee093b8994112ebda8ba449039128903fe635fe0cdd7d6f5323149c8c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c15901914508aaf7f047b508ffac52d3e767ac460a24d0b990b3ea9aa10191c8
MD5 da971642be5a8c68db6d6243f0f300cf
BLAKE2b-256 decdfb968dfd768399ebef4ba838a1f92717779e4d27f414f5416b3de4c7ded3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8f33947841004fa8d4aa23837cbb8b2a0eaaf9922ac2fabd1e64c7a62399ded4
MD5 52acce966b5cecc31815c391b281a7ef
BLAKE2b-256 c7f3c5df918e6b746b27310b4adce054bee4037c6cb62315ab827006fdf67601

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.3-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 190981a341ccdda21ec0c622496ac4406824bb163d1bc1929a3d94e7b164d1c2
MD5 359d4f3d83b0e6edc2730068953ff105
BLAKE2b-256 d7321973e953345421a5b418fdf34186849ab3ddb3564996d54d69b63d0ea34f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.6.3-cp312-cp312-win_arm64.whl
  • Upload date:
  • Size: 2.6 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.6.3-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 98d155caa4f5925edf84017d4c929cd4890156351067f0bbd524b84b989469e6
MD5 47a9384d2c09acbeee89129c6388e7d3
BLAKE2b-256 f2a6b9369f304652f9e3804f68259e8258778b31cef9ba60a95d5c1b6fce8fca

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.6.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.8 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.6.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f6718cb97d3b9d095415bb63ff69cfe7c26773430403325cf4daa8fdfb0f1a6e
MD5 e8bd5c7778b54f45dcbd00bdae2859cb
BLAKE2b-256 03cbfdbda5ef77b0c2b504d9a2bfc235f4b28eeb84e4a9cecdc4cef8f7fe6f25

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.3-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 78781276c3b90dd7e277346584a6b8a54f13ef9f7514275cc5ea3d508a5cc314
MD5 0e5fcfb24d74506ea8d78edc09d4d0ae
BLAKE2b-256 d42ee48a0ab1ab45c88ed803c5b6df0f29e0f56529273d470370dbb86aacf167

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.3-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 cc179748a8d33fbc2e3ef5158a1d05defba320820881b69ce9e16e128f0b873b
MD5 8ac60f85b7d2079b8b8f63bbe38ada8a
BLAKE2b-256 ba45c49f043a8ca64de11896de718d70d261475b28dc52170b2f24a75cbcd25b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 24eaa3bf8ea466d764ab764e097dac3a9023d4ad016d4d2aa7571cfcadb8e5ca
MD5 ccec6ad37c4949b5ed037180ba038b85
BLAKE2b-256 fae028fb53aa0117265ff37adb588c84b2c7023c6d949379cb4a86d8a2261f65

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 729eb2869b4f278efa865a9eb3df306d415117dfb3226c8c6c94fded3c09b1a9
MD5 94ee004446a7cd645c8f3bb60a5fe39c
BLAKE2b-256 2e2903e6cdf9f7dcb39fb6ac6326b713c7547bbdb1ef7c81ddfa19f194dbc8a9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d59c6630bd3e3b2c15b93f318b402f11f1d3ad2ece0ef8316e7d39322f17aa18
MD5 ee81f7663f17ffc8a1c4ccf5d48be5ee
BLAKE2b-256 545aa5113d1ea1a9b16f6abdbc2d68e91002dc901052e3ba43b62e38602fb57a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.3-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 48f20f1ccc7d0fbcef0038421721e8824e361c7a94df61111f9b1342d753d4ea
MD5 b6b41026208db3898f85f0a467f2a097
BLAKE2b-256 ff223c35643695339b5f055547e7ea85587add0f06d3dfabba8968b5d6f6c46c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.6.3-cp311-cp311-win_arm64.whl
  • Upload date:
  • Size: 2.6 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.6.3-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 fcf4f3ebb850b6f349ac64c6fd6fe0ecf371af0756d761fb2718c7c5be590d88
MD5 9c5b37dcbffdd46b541941c044079b1b
BLAKE2b-256 85942c6a4379db31975c9900c4720fc80f4b17b35ffba71c2c75956d7cef0583

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.6.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.8 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.6.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 041d5189b86ce0821b440bffcb19aaf5bcacec8ef1c013158c35766a6267dd14
MD5 252e9c10700571769e5e51659816ea26
BLAKE2b-256 df646fe5ee94d068007928861623ab2db93bd7f277fe763bb7b904c1c4f7a7ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.3-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7aaad5211d8788c6233745ce6feca321b39eb6c489a6e15ac027188ba0d97c29
MD5 15d8d83a38ae5ed1b3039c9c23a38198
BLAKE2b-256 2eb7deefa947f38af3ec52270093d34c1bc642c0dd64ac5db6e781118be8958c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.3-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 74c23db8cd0cb3905fca1bb73b85e474b92b89d615a0446919fcd9d3c82a2127
MD5 c35ae53bf74299a703dd62c5ca9456e2
BLAKE2b-256 0a93644fb22e19149b54f75268b6777b7a7ad3ec15474699f705b4e345e463e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 29eef19a3f035156f82cbda42bef6859aa7cd6d86b1e98d786ec75a3bca3bb86
MD5 41bbce6a1b1b280c99b08b39ec74db68
BLAKE2b-256 3c580cc16b38419d42981ee54b0c1166768ca3e75b6f24aa883ee1af2fa8fd7f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fb227c197b45a00afb3fb1b32372752e423d46b5a3dec2ac27d93869a317f868
MD5 d5bd516c43f76bf9c617fd489fc8732a
BLAKE2b-256 f3c963a0b45613e2e95d82b0c66d02e9ced09a3b4181214bd5fdaf56ce6b94b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c77f233e0c93d50909973b696b52eb3e3ba6e483574d882d555c102f5a6ecace
MD5 6f457575e37e8a2418a1c40c74494c48
BLAKE2b-256 868961434a618280d45e096ea33715bca98a3b3678acc41882f130b3b127efdf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.3-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6181a6f4c70b3fd7ebef4a046f991b642b5a73972229d5d19a2619cff5464dd0
MD5 938edff1b04366bbd4035a7cbe332cde
BLAKE2b-256 cdc6bd60904592e08f7633a0f61e639b539b22a7fd396d86738818db30c954c8

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