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

Uploaded CPython 3.14Windows ARM64

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

Uploaded CPython 3.14Windows x86-64

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

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.14macOS 11.0+ ARM64

luna_model-0.6.2-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.2-cp313-cp313-win_arm64.whl (2.6 MB view details)

Uploaded CPython 3.13Windows ARM64

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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

luna_model-0.6.2-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.2-cp312-cp312-win_arm64.whl (2.6 MB view details)

Uploaded CPython 3.12Windows ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

luna_model-0.6.2-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.2-cp311-cp311-win_arm64.whl (2.6 MB view details)

Uploaded CPython 3.11Windows ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

luna_model-0.6.2-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.2-cp314-cp314-win_arm64.whl.

File metadata

  • Download URL: luna_model-0.6.2-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.2-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 32b5838221db65b715ddd644421ac1d2ca1759c88929bbe26d794505b4a5b95c
MD5 85d2489a3203e07090b7adab7a9992c4
BLAKE2b-256 2b4c34819fc2b8b32e79f35966a1634679a0850a4064bbfa45e803009b635104

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.6.2-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.2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 572a7236ec8aafc02a18e6109a9718848f519c80a1a0bf257e677eb34403c451
MD5 9b92753b6b669ed01d178a9f26d970d5
BLAKE2b-256 1453abd6ed846bfe58268abcd7d1a558c08ca5431827ac80496b496b61dae243

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.2-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 71b5c49bfd83e3db7d3e1172cf477325889ba3e99dd3ee25496df14f6aadd3bc
MD5 7b6b29d84d91b3779c54dbfbde3c3211
BLAKE2b-256 34f19ce01ab9c80a82554d0a830f90c78eb0407f9b83afc87f23cca1130c6a51

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.2-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 88d98b77357e9de9ca10ca9a58737564aa8e36057ba59cbe302904a656ebf2d8
MD5 de0a0f41b2d14412d177e7a909a6bda2
BLAKE2b-256 1186beea809e9c0043fabecd5aa27027180585553efda122230b56a3645dea45

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6c701924fa32b1805610740c3654db54d90ff141ee7e00dbc8a0660d8a222f24
MD5 20245731729ebecbb9c15313b947af07
BLAKE2b-256 2d97aae129b8ff5324e3263563f2f58819b5547e891b78caed58f1bf6158157a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6db912f7080441e6cd484026d50f378c6e37078057b0e712dcdd0c8997087254
MD5 75a8b0b6c76c339d9300e437befa5d90
BLAKE2b-256 b957020a20df37b48ad8ecbac9581bd2acf31dee5a25f686b05ba8c5f759592a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.2-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e34b2306139cf0dbff74fb0b02cd6b2b2db8ddc25b5f8e5b17543ced09a73cc7
MD5 afb26a48f8140ed23fc73cd8c8f99fa3
BLAKE2b-256 54d743d10f0833a344a7ba4df5bb6346cd54e91f0475a720f3237caa3d5ce967

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.2-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8bad8f729f29a9bd66b72d63f8507f7d498cbf6ccfa5170df23e403bde0bc33a
MD5 843c8353a030be8d9cf3e5c8b73d3e09
BLAKE2b-256 8d6fa758f270b80135c415a4900879fa01b1cf558d1b2413f2b9a120190d1ca3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.6.2-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.2-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 272ef0010e17e3f6afbb78de78d08417ab3ead67b9cd9bcb267ca97b5b47e881
MD5 45021da6e8553ce004a97375426e623a
BLAKE2b-256 f92768a46236e208a49c5788a3f71c695dcca94167e6fff4d2782db1a76013a5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.6.2-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.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 cb203354af350d37efbb330d22e8ef70f95ed6318dbe1ef19da9d6dd3ab00e16
MD5 ecccf36c030950da445a57479d68f65c
BLAKE2b-256 42a29314cce3ccf58899ccb9511744c5c37c162004dcc161a3c875b9250d2f6a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.2-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 266ffd3405e0c4706270d9401611abe6bcca587cd47bd7c525c19e08141e37aa
MD5 da2676cfdedaf57dc2d28b1369c852b2
BLAKE2b-256 49314f5c7e3e971377a7ddcefc97770b3ba1d2317ec2d420b9152d9ce4ddd719

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.2-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 35830e4ec3bb20c3669bd16f648b35e07deeb706d1eb4679ae99f10acb0ccb0b
MD5 459fc9e403a94da2bba0d52eb615d059
BLAKE2b-256 fbc3852b98981054907fe74a1b739721347197d061298b7dec30884452ecd970

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cfff2ad7f7677c91a7cd8420ce3b6db9ba4531c02143e70731a8cb891f41b7f0
MD5 3dca9ad90df3a2d1311c5b673b2a48e8
BLAKE2b-256 b3cc15b6c21155559d85806a9e6d5818f251db17a416cbfddde3e96e9e9fe4b7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c32c11d72ba7a0ad71a88cf18528ed6d2ddd068137a235f01a9de686fae1ff23
MD5 0b0293118ca332f968e526cb390e3f42
BLAKE2b-256 09c729c622ff8492b48b612cfe0edd22bf664747af9c526666d10ba8bdb58600

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 29e29125741cdf86903afedb7db08eaa92860aa09016b01023293e7ce7773aa4
MD5 e80f1ab2567186accf01a0aef90688db
BLAKE2b-256 3d22ef989f1c64ef81d5cca331fb9ec88dddada33ee77f1b205412475cba732d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.2-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5633661ea97e71cf38937d29ad9c988be291fe33770d1d2cd3c1ac227934c933
MD5 3403918452ebdacf688be97680213856
BLAKE2b-256 e2b03f4a44e62f47564dff9840c02587cdc720975c605b568da4c37233bd9585

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.6.2-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.2-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 de534de80fa058afa26641d553772bb719a67dfce7ff2eda754c5da2db64da44
MD5 18ebc9d37c5c95f9e42d779336bed847
BLAKE2b-256 d286a60c1f7723f7dc7538903132f87c9c96448ce9c04a031565989fb421b03e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.6.2-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.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f7314f3703746922141b2ef236fb1d4a146a08962901feee7523917f9efad6f7
MD5 3ff3f0a90e04236ddf306c13502a69bb
BLAKE2b-256 c5632ce10017cf864900ab2d4103296932998e2522ab2c2b98050523b9f5cfec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.2-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 307b27d3422352c3ceedc756edffeea2c17ce2363e15880f9696c4070283cf3f
MD5 b3237b0b347e6be826d8877d9e5afe40
BLAKE2b-256 30d0ba0ed9a6ffdab7debe209e05cc240b259d178b47e3b9a967e83e16e7a6d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.2-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6b6d78cce33914ca78406666fba0a3bf728c7884577828376a59c028418a3e3b
MD5 47c9e2da022dc3d5baef89a8a06e5ed6
BLAKE2b-256 7c18f3714b8acdfbf29a9ba993ca5bb0816ac61d1e5c30e80e6542a24dacd959

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b773e8c3c563b834fc4f058b3c6da6739d7c0ade33f397c69d848427803ff019
MD5 29eb6d0a69d2145831b5c8341d196a28
BLAKE2b-256 fa5f685331b47f176d550ae03ace1188b8a1f312a971d3026c6168baac8cc285

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4b3480dbb003055071af4dc52288756caae225cd8caa00f4b76107bdb8e5ed93
MD5 7936a9c047f5fb033b85cecfa3cd1dbc
BLAKE2b-256 62f7f3bbf3494fa92fe1c4cdaeb986d721bb665a6e58004f7de471d3eb8db531

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5d9b97f5db41b012c62b47e6f985a49dd3f74f945d7bc73ad7b9ec9cdf03e451
MD5 38f4c8cfb457c71d3393dd13fa4daeff
BLAKE2b-256 be2e16b05aab188cb7725b19f55c1d0d27ad5cee79bc6382864bfdaa453e564c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.2-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f001993ae421b22e154d2248d1130121eb6721fb335d8ed900afa1185f0cb3cb
MD5 77dc89779b1ee0f536e36d9ddb018e6b
BLAKE2b-256 55126dfc0306fce2ae0c749e93e733de622dd1b958cfdbc6ed49deb74bfaf8da

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.6.2-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.2-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 b1b5429504f032fdbd7c0790d39a853f00563a68b17754746c05cb177ec77342
MD5 73d94b2182699b5d4a51cfb1c87dc51e
BLAKE2b-256 053f833e25cf07406a90a5ee24e81b13ebf877467d3dc643608c6b4c5d620dd8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.6.2-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.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 024e92e45373538a1f0a9e69bddd165c655eeaa6235d2902053c818ae3d1c3f6
MD5 c2dc030faf10a032b9edff221e21a1b0
BLAKE2b-256 ad5b826235fd8bf7ac2d693bc4c64ea7fa97c6471c3ae44015361d39b01765fc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.2-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 51ca0b111f72047195adeec8a9b054cb1b0892d29dacc81d865da7f0afc320d8
MD5 e043f196a611e3477429506473c58019
BLAKE2b-256 8d5d271de64e61430697ca34a84a12350c159715b92c3191afdd1450d2908290

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.2-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 cef5783106d9d5aae8528f6c12b56812a1bf5b8274aeeb7f5e6f885b86ea3985
MD5 9bf8a68d131893d293866103674c263e
BLAKE2b-256 e0f2c6cdc069f8814c9cecb753e2be29e4be4b538965ce349e818aa9f98a43b7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 419521349ca714454d0ea8457a0f670d7c2754c0f1fa17391ef543ca17151658
MD5 055a419015defa8f2949a7df35ee90e1
BLAKE2b-256 fb61b6e48ec4908b053185d05a74e37e2edfbbb6321f55f0e0e134c908c6bfe8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 920e2638b8252f849a8fe965b3ea9553bdf7909e14e6ae2a2894524d3da9c3e8
MD5 9c3ea1068a434637164257af9abe74b4
BLAKE2b-256 40f51ce63619b7280229bf1ab6dd480988e61dd8e2aac3107b19d40266de2fde

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f965e3fcacc425e11a30616cf39ee1225405c4047b04e1197a040643ea0277fc
MD5 16bcee5c3a842c13f7069fd132067bf0
BLAKE2b-256 b4fed1d6283851157eb077b10e5ee614c34e8a251b8b84079e4cd6200b8833e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.2-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8fdc194eadbb52412e036bb197e64c6ab390045353962cbe6e2615ab7d06fdde
MD5 2803f9e22128513696e298eec78fc8d4
BLAKE2b-256 868156b7430eff301943fc229479016f0761caafa8432d779485a20bbdbbce72

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