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

Uploaded CPython 3.14Windows ARM64

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

Uploaded CPython 3.14Windows x86-64

luna_model-0.5.8-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.8-cp314-cp314-musllinux_1_2_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

luna_model-0.5.8-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.8-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.8-cp314-cp314-macosx_11_0_arm64.whl (3.4 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

luna_model-0.5.8-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.8-cp313-cp313-win_arm64.whl (2.5 MB view details)

Uploaded CPython 3.13Windows ARM64

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

Uploaded CPython 3.13Windows x86-64

luna_model-0.5.8-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.8-cp313-cp313-musllinux_1_2_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

luna_model-0.5.8-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.8-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.8-cp313-cp313-macosx_11_0_arm64.whl (3.4 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

luna_model-0.5.8-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.8-cp312-cp312-win_arm64.whl (2.5 MB view details)

Uploaded CPython 3.12Windows ARM64

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

Uploaded CPython 3.12Windows x86-64

luna_model-0.5.8-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.8-cp312-cp312-musllinux_1_2_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

luna_model-0.5.8-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.8-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.8-cp312-cp312-macosx_11_0_arm64.whl (3.4 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows ARM64

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

Uploaded CPython 3.11Windows x86-64

luna_model-0.5.8-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.8-cp311-cp311-musllinux_1_2_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

luna_model-0.5.8-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.8-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.8-cp311-cp311-macosx_11_0_arm64.whl (3.4 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

luna_model-0.5.8-cp311-cp311-macosx_10_12_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: luna_model-0.5.8-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.8-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 daee7e3ea724b244a8884f59537ee32050bb68ae954f45861e39da53bb6ad42b
MD5 24b8395f0637f9527db7db38a2a671a6
BLAKE2b-256 d678d3f5ace06c6d4880af631baf55dc5abcbd69834941397946afb18ea5cec0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.8-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.8-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 0efda8d00991543ea4b8687857cf3708722847205d28773645a62fd6793fbf55
MD5 8fb717a5e156342e73f0e94ad8cfccc6
BLAKE2b-256 d6de5d8d9c7806a72c2cbb4c1cb3e5625ecb9abc5b75cf44f06a4271c3ca428e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.8-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2c8d198ce7384f22c413b4b2720896a426d61946f65237d072e1b01025260b5d
MD5 f9a23150fb74eaa905070936e648661e
BLAKE2b-256 619281f7700673c84e1d4c6bb7cfa99f9f67f00fda7443d34a605899defee346

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.8-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e34c0ddcce1864992bf93763a5536ef306c22f6477d0a496151d17423c23d85e
MD5 fe6d17a988063c59b167427a05ac957d
BLAKE2b-256 7f894bda73e62dd569f729d61776aba16b061b7b0a67338a8231b5402d990543

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.8-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 03cf2ffc78d2875746f86b6735545b6d0f49727ba9739c8cac0fc7d364766bf5
MD5 945334b34e2cb55e2a6bf343f8ae6115
BLAKE2b-256 ec14b8c63baeb729984268aecc59967ad475d5b6aa818c7557b4d91e5899ccde

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.8-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8e6554b65907c12601e58c3ae356dce0f85756f4775d2746aa3c841effe2dc1f
MD5 ae23d665bd7157e3ccb592871e4e90af
BLAKE2b-256 8ce48c8c52b5a65ebfef727820b5ba2f4e45b19c2236b2144d28605694d7d399

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.8-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dddb44887bdab80640cdb30d65dafe2f0189a89584f26ec190c038b222886b7f
MD5 634fcf031f0316e6f01fd3e7b2fbc930
BLAKE2b-256 1e7f24be11683b7c6cde97bbf2c1a8672b9a7c6a4a658abfe1236e538a781091

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.8-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 81141eede708bfb49f348f47a3981874243b5b0986883ae1c0f2ecdc75ad55f3
MD5 f8881adef3f2afd55c4ef0839c1027ce
BLAKE2b-256 7bb6754c63d174085f8b17def0630df5cc93508ba7d6793f2a6ec73dc3b185fd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.8-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.8-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 cc89645340d4378d8b08eeb4bb0ffa3dfb2f9e850b2c01d7b2da1cdf8b67917e
MD5 f258d339cdf1be79f7c8bc8fc425eeea
BLAKE2b-256 b92fba03010681808d10af79dfc47ea4b3f9478aaa7d4f52b7cedbdeb9eee999

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.8-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.8-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 7473280556651621f8b039577ca295bc5cf17b2950be327a2ca222985b190131
MD5 48a126031e2751d51e08373e9de4a0d9
BLAKE2b-256 9c84b065f840ed007cdb85f9240c88b5619f55d69dfe57c7b1e4748116778f3f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.8-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3ad44c3d90aa339d2fa96c48cf3f974423d6e3f22713db1d50bc37156a28a264
MD5 e9ab2a8dd91036ac60cab763bf7f96f3
BLAKE2b-256 15278a8a05dbda0130a8a5dd9ab7e03667d6d453a9f86110d899992346bb03de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.8-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 704ae676cc6e0125ba28b7ca8e6c617a2dcd6ec4e5adc7bf5c701353376bbab4
MD5 640da7bf98579fcaaefd8cffb63dc13e
BLAKE2b-256 3e5dcee28ede5a5838ce03657e1b379405d3b3a3ef5ffe3402cb35f5f0c7e486

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 72893c3bf746f68a4186ce36349d34734398cea53471f6bee762647994f79bb5
MD5 a4d7baeaaf916e0d833aad89639e008b
BLAKE2b-256 151eae3d7160833dc3af4df35514ba5dd26f031f7444c92040634a7acd2ef652

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fe79afa9632f1ca73956fcb034a74565db93b804e65e344470a58eb96b3dbe65
MD5 cd85f32797783fb8cd103829995c5395
BLAKE2b-256 6989380efb81ffa43a1624816166151a4d3d7385829698961c18aacd3d6ca2dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.8-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 12e63b47fbb465b51277c6d23807370789edb6db4e43bc6814272147c8eb1840
MD5 2d8097ca27bd9e8c497edda4871bb4f9
BLAKE2b-256 f819268defef1db615c4e2cf6c188b1cce6b0c223a03b3ca1793cd422af275f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.8-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 eed39839c6c3f6126006dd52a29754b392c19a132c09973ffaf31cf98b70b6cf
MD5 d9c76f4866be09b000d86af9c06c711c
BLAKE2b-256 6db390de6353b5a6cee9134f8c313778b3b6606a50e16738a41c5ca512ab70ba

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.8-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.8-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 bfcbd5882f6b572739ad86ab181ae721335bcb59516b2948bc9c1c75b33d420c
MD5 ac00024377b39c50c3f75c02316ebd38
BLAKE2b-256 7e069199af993575fb13a8fd7e131b948e0bb1f1d51cda3ca43697551f1c3ac1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.8-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.8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 475d896889723e05506b7422be6ebc74c9d521b398cd4336de2b5e73e9075659
MD5 6870a17782317cfe3c8cfce53ff262a8
BLAKE2b-256 7be701a447744edf79560ab374e8ea89629a4aa66d764e0bacf2b3664e696a99

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.8-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 09846ab43eef48bb90e3837a9d09291fa06bcae64ea41919656009cd61d00c45
MD5 16b35ebb1ed0c08088af45f0ff3614c1
BLAKE2b-256 d1d3ea02d7c673e564ab5c96fa50ba2784db16656b1fa8615b00ac95df597a63

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.8-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d1ea6015d66fa5c93810bcf2dc1a4e49467d27d20a57cf16c2aaf3de6d77b88d
MD5 f5c4ad8f3297e8e89f000b61db51e237
BLAKE2b-256 7b3003e99cefdd3aa91aa9703b7e66463c2007450ab2b44d7a9df5a257dfc806

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 575e78b6f733d553e58c623c306a949d6969b93d2ee7731e6e196483b2855735
MD5 be22fd01170d7566650f19b39c7f72ef
BLAKE2b-256 6565c17cdee8fe266dcff25e17b49d95b763d2bcd140d18853a4d1219cd593ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8cce60901735c6fb048cc434a730a050c89474a8dd74a18dabf8ff5bf2d115b5
MD5 b4c4c5471046d097b414bf0ed61307bf
BLAKE2b-256 33474a2c70285420ae72c85db6148c6fdb1706ad8f8fbb0e062c6eff0ca149a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.8-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8ef43a14708fa761be0c828aa91b3c1e1f5e570f6cf7bd41807423e0c847ba6a
MD5 89469b33c1988ff734102b705bc357e1
BLAKE2b-256 9cfdee4bb8c0c4964351699c6fe1ef51852f348f27f3824487ee6cc3cf5977c6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.8-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 614c2b286b39946d22628795b1fc8f39dee3ae5897d664964620e628888baf08
MD5 a48979dc548e8540a3abfcb5e1fcd882
BLAKE2b-256 7c4f31915abc6ad5242badab14d29526d112b7bef9440817ca2c6a2ecfe9f636

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.8-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.8-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 16e3180741fea5ec9bf5b7d709aa98c693ded3fc2d7f014c04c3b63e3d1571ef
MD5 0554e3f595d888877ddbee9372043987
BLAKE2b-256 df3cb923eb7ede3a0c7ad67eefb43fc612566525a08ca3173c0bb4c0e4a72434

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.8-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.8-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 bfe788e4c875c383c158b69712ab6e2955d5e9dc6a2d720dcf6c65aff22b3880
MD5 2d34bae72e57cd7d1c77d1122b3e3ed7
BLAKE2b-256 8165c9bd95d1b1a10cb3f79a9f7f3200891dd71c8c820f5780c13caf80589b4d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.8-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d985c028a90cb344efb90b6db7b912ce24288fff32bb78599ace0a13b6440b13
MD5 e755be287f3aa30f0613ecb3ae50c89a
BLAKE2b-256 548e04d871fccb6a04c80517778df2b15fa26f38bf5641a3d79124488df16e1f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.8-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 2bb4d021afc1603b3328ed95e8936730b122d2aeb5b4dd959ee1b930ec6e6817
MD5 2e6d555f28e5f90fdae367debf082993
BLAKE2b-256 27463eef9000bfd9ddc4c673292fbd24b13c0d0b4e655849332aa62affc91360

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 44bc119c6ae085fb64ff0071468662f95c1296522c9aaada086eb5693b158125
MD5 266142c6f783fa549d92b27cb0d8bbc4
BLAKE2b-256 64781d8f1c6e69cb99f17eff13cc31cb9ca58710336fa5c968d158fc82a72f66

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cc8e4e410e4b7d8c359fdf50b46796a0da39a84059d741512041e10d24d215b5
MD5 560fb3622217ef593591d710d1b6a3df
BLAKE2b-256 36a8f703912719953889b7b720e340b2fc3ad846b791d299dcf057588830511f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.8-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b8dcd6166279cf8e8b5b5153e07109a51366b4bea94efed72fd1f42b294efb39
MD5 361d5478dfc0ab813ba17a29185e097b
BLAKE2b-256 4d614b0c39ac7aff22b3cf170642922ec36bc1ecd661b437f9ae1404206967e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.8-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 532fdd3ba4d4a38c451fd4e08a38db829e3c40361f4d5500eeed3343348c9a51
MD5 05a2b612de8d5b8c76ec59016e7907f0
BLAKE2b-256 f74bf63b2bceeaf5fde2f8e75369bac762d18f239bff900e339b7c8df981ee74

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