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

Uploaded CPython 3.14Windows ARM64

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

Uploaded CPython 3.14Windows x86-64

luna_model-0.6.0-cp314-cp314-musllinux_1_2_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

luna_model-0.6.0-cp314-cp314-musllinux_1_2_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

luna_model-0.6.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

luna_model-0.6.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

luna_model-0.6.0-cp314-cp314-macosx_11_0_arm64.whl (3.5 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

luna_model-0.6.0-cp314-cp314-macosx_10_12_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

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

Uploaded CPython 3.13Windows ARM64

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

Uploaded CPython 3.13Windows x86-64

luna_model-0.6.0-cp313-cp313-musllinux_1_2_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

luna_model-0.6.0-cp313-cp313-musllinux_1_2_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

luna_model-0.6.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

luna_model-0.6.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

luna_model-0.6.0-cp313-cp313-macosx_11_0_arm64.whl (3.5 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

luna_model-0.6.0-cp313-cp313-macosx_10_12_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

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

Uploaded CPython 3.12Windows ARM64

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

Uploaded CPython 3.12Windows x86-64

luna_model-0.6.0-cp312-cp312-musllinux_1_2_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

luna_model-0.6.0-cp312-cp312-musllinux_1_2_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

luna_model-0.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

luna_model-0.6.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

luna_model-0.6.0-cp312-cp312-macosx_10_12_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

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

Uploaded CPython 3.11Windows ARM64

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

Uploaded CPython 3.11Windows x86-64

luna_model-0.6.0-cp311-cp311-musllinux_1_2_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

luna_model-0.6.0-cp311-cp311-musllinux_1_2_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

luna_model-0.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

luna_model-0.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

luna_model-0.6.0-cp311-cp311-macosx_10_12_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: luna_model-0.6.0-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.0-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 9907d0a011e2228354aa1fe2f8414bcb70c5c269939eae45f919fa4a25c0386a
MD5 196b721c719c7b586da39b854e9e56c2
BLAKE2b-256 b90b031aacaa85fc195948faaf33b677adbd9a296fb5fa4a2043cad08e1db87b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.6.0-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.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 a25c504075eac71fd61e579f31859eb790cef37525e0d1e9caf4c52512fbf129
MD5 da9af820cfab9aa4d1243d5218d55cd7
BLAKE2b-256 a9f46e4bd5754073067af69d4d648862b53ad781786b52a510304dd8800fefce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.0-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 33359bf2d6a534457a4d9b6bb86ec6fb39e510d5b736122e1c96d61528cabc6e
MD5 c573a755560d2f5c6233abedf9816fb3
BLAKE2b-256 315e208147c112131815301c3e8a6fde5f02b196c976c9b0e8aa7259668615f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.0-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e0fc418501a39f1106bf41455b640f0bb1efe25af0808967eade2f136d9ac045
MD5 dbf1b50d539890f88ba38e4a5b5ed3d6
BLAKE2b-256 1b1419247eadb255181544adc1e1d85fcdd259989b3741ae97e7b8929fc2147f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ce65ceaf9d8dfee0fad56100da13fccb34452b04d73d5603c43b025334a42987
MD5 a6adc3b315621f1eb2a5dcdfaae9d7c0
BLAKE2b-256 0dda6116fdf8a374f17fd90c09d02ba41cb4e20574c866ac4833568cc1c75c54

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2fc1b821c0c5d6dc9bff55dd6f34e978387719c9dcf3b2faad64737198aa6f83
MD5 cc57f0e0cd8ed3c0ffe141f6b3f35451
BLAKE2b-256 8c2ee428c45e9098491e0406ced45d0b07903b4ea1c4bfb0849a029ce00a488f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 355bb628c9d091e78e074d1988e901e83309450eca968b429f83dc313c73a885
MD5 123c701e26a959c36bd6f4b6eba80285
BLAKE2b-256 6bbacf85efa4a70d59dea3ba695872c669080481ecbdbc50ed692aea9a9bc94b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.0-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 46004cd1a7ac5c8247f674b4d5d047ce1cd377dbc28f083943c8a51c96963ef6
MD5 0e1850b8b4791c96f3c10851302120c0
BLAKE2b-256 221ed5e522cb4bac98921ad5ac5cc77b3630c9996b1266b95f0407bb73162d22

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.6.0-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.0-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 af515b0f33f049d07c943c0a58e653f9e63d37b02b9fce5bd4d2f7dbe4f8cfac
MD5 f28831e74afa3c105e15e5d90ea27278
BLAKE2b-256 b7bad5b21a04030db61a21cd25f24fb55d6b330eb17b6a49971deff71c2e23ed

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.6.0-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.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b351b248804e909d8364f0bc1bc1c44dd44809bceb235cba2a73f65b2a28e6d3
MD5 f11a7dc7bfe51dbf4063e33a8965cc18
BLAKE2b-256 836c9ed74ad9e5c05896477a4f3cd4c5b0dc5bfe45e3ea39d06266eb693e2266

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 71438057efb2c1cb0fe7cfacc2cd532e2230b4e7dd258391c4c9d0366803dcc8
MD5 4cd76636f107dd7126d4b215a3fba73a
BLAKE2b-256 eebaf1e5f820a88355bfea555394c3401d5b52d5cc7ec78d9f478c7f313fbc5b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 fa395d36bc1163cd1981a5cf727facad84ab1fdc3066441f59011aa56c26b5e1
MD5 3f6359add56a03d5b2c5182aba6a8470
BLAKE2b-256 fb2f0d78cc72a8b7573902fd1f5c3d44e1487dfb02591b5e7a3eca4f5f25aca0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dc25ff7c1fe6788cd0937c41229959cd61379f7fed7f98f5a7f679a52b32d0a0
MD5 b5b6e13c62523b6eef73a889997cac08
BLAKE2b-256 636b8ae731a2bcd938430a18c95f49634dee961c593dac134ce959c27d636390

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6d8934f3d87dc7be9d74cf4b8d384bd4b24ee89af9ed6f20a775b73a7b67ff40
MD5 e7054c2b1e727386ac7294d1cf46cdc4
BLAKE2b-256 3ec06d2f99ba7b1cdf75da0a8bf38195a7744682f2b15922eb170b0c7fd51011

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c747ce79d70ffba6a37b2cebf1634d8048d071f9da2c1fed9e85da2577fb9740
MD5 d85c1888abc078d0b1cfe9a4ea20abe4
BLAKE2b-256 b06b1aa39ef2a1568375d34cff9ade5fcb034ff6dc09c2e6c7bfc0477a55804e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d87a3aeec64a9fb5770328f64cf73efb9e515de98529f51742fea8977cf13b9b
MD5 13baab780303ed54d9f8e7ae89575ee6
BLAKE2b-256 85ad92c674a852069591223d1991ce00392def93cc55d5e2433dcbbb6330fbd0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.6.0-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.0-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 211f11ca2262fe973b07b54322ecaf0139f6d92b73e3cdb6142b5e346b5f6eb0
MD5 9d5928477022e3e54c269192e37b02dc
BLAKE2b-256 05d3d79158c390546451d08b4a27ac3664e2d861e3be8f9b3109b3f5cd69f8c0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.6.0-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.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 77cf10d18bb45a301f99c13cecc3fdd4aee484856409d27e9be9bd28ae19b756
MD5 f4db66316014392b6b586af870cb99af
BLAKE2b-256 df06e93092ef5faff7e350b33e621d78e72e497967267ee3f5c86f26c1dcbd1f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2aaa0341257889cda0cefb2bb03b5de7ffb38e167e0d738ef6d011cf1d0d53d1
MD5 65a3973c820d48d1ab11e3ea7ca0dfe8
BLAKE2b-256 47642a373d768c7cd372f4fdb5b246a347045f9dfd4fe0f36f79c5500cb57b42

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 58e20a3d538fa6122685c6abb651f944d180d24d5b2780ff918369319de7d88c
MD5 58c622ccef88fdf3a96c08a29044d8b9
BLAKE2b-256 d6f3a490b3700714e912c3c7157414371e75afddbf970f7d727ee5f00a6b7ff0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 923331d2f6eb125f437ddca804c93f3e0d968bbab66b364ba718698fe912dc5a
MD5 1972a48d23429d7071355b48632da9b2
BLAKE2b-256 6b1588b9d16e85cb3ede9aff63c9265d4c7e9d97a8d19a54d8d8ea5ab2bf93a3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 70a2f8b8ba2db8ecefb125256c4dd05356d490905683e45bbc15f473eff7b31f
MD5 a11e9678c94d687cf33386080dedaeb8
BLAKE2b-256 c52d3255656527f1ff30d347f07a09e753c81f16490f44b97a9896079a75dca8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 08d8a24370bdb42d161e7d82e7566e123435d1acc54f1897741ed6d22ff74c80
MD5 fa3a77407745bcd9e07575cf7d0eb7cf
BLAKE2b-256 31abf1f2d1b30f7cf6f5186b349ee9494b655edab5f395bee8f137ed20948234

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5ddfe28a3ac4dd102b692da592773cdec6af47195cb58eba38183a38d3ea8cd2
MD5 4b33bf42437033e7d67f0923f05de781
BLAKE2b-256 b00b3d893aa67366e600122374e245f73818bd44a5ceb3604a7ba8d4b7b2989a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.6.0-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.0-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 e4b5684c3b349e93cdcfa48eede96bba0434464e6956ab6b3298b9c875b1dcb0
MD5 25ebab3fc2abfe9e25364fe1837d6505
BLAKE2b-256 ae416036b5b4cc5e880c1c06e2a0b61b5822b465e2d21d64242921e078ec1e67

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.6.0-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.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 eaaa6235446fbf5bc12aa5828214a1ddcb71568b0dd18416fe11d2c78a28fedf
MD5 6396c4b43618b93345c96a4007505ae6
BLAKE2b-256 6d269adb8c482aa451f485ca53a2630c457b7abedd49cc7eaf5cdb2ebe7115e3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f73d5a26179922c619ad599495cee778004b30c22e6fef1395e7cb2bc81b91a2
MD5 b8175d0786bc0bcfc57fa3b2f35b8587
BLAKE2b-256 1e11f9f78bbce627f448795157eed9abc113f14d14c8234c0bfbbf058e6b3688

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ce90fda3fb00b574eacb2a78ff5742d7562a09f330ef15b265edfa53834cbadb
MD5 fc08a89470011ac9de16ca68aa5ddd4b
BLAKE2b-256 9c66b51a55ec1d01dd5a624bc770d2ea60d433a716131e7eb77e69dacde0139b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 38897ac4542c409f2ab5697f7182668fb5449aec9bdb51e973a5562229b8d470
MD5 de747489da5ba005ca08cd15835ed461
BLAKE2b-256 3d7552ed85a2752fc5a962dccf1a786b94c572505e1a6063bd6fab324f372cdf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1909983387b2bba1833ddd3e5b59e1e3d7a7d8bec0cda3b9cb9b560a989b2459
MD5 179d4fccac2e4593725183e7839a30bf
BLAKE2b-256 dd050df8184e817966532c35b1e780247f1abcf0b780a1635ba2e6865836db36

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bafba25a482f86658a9dacef7a54fc19976c2863509d82ee655f525455bcf397
MD5 092dcce26f1c77c4eb55c58260110b0d
BLAKE2b-256 904e49fe5d99802f916b35fb7922bacda9e8f3bfae9442a35b459ee2581f0a86

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.6.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4d517d02a2d657524fdc043d226260a06977ad7c22d0232ad452be9b016b7898
MD5 f0d01685f37971a6313bf8103bcca337
BLAKE2b-256 9f7340a42316536293d2952fb494a153ba94692e08178212e9a2a713b9a3a6df

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