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

Uploaded CPython 3.14Windows ARM64

luna_model-0.5.0-cp314-cp314-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.14Windows x86-64

luna_model-0.5.0-cp314-cp314-musllinux_1_2_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

luna_model-0.5.0-cp314-cp314-musllinux_1_2_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

luna_model-0.5.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

luna_model-0.5.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

luna_model-0.5.0-cp314-cp314-macosx_11_0_arm64.whl (3.2 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

luna_model-0.5.0-cp314-cp314-macosx_10_12_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

luna_model-0.5.0-cp313-cp313-win_arm64.whl (2.3 MB view details)

Uploaded CPython 3.13Windows ARM64

luna_model-0.5.0-cp313-cp313-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.13Windows x86-64

luna_model-0.5.0-cp313-cp313-musllinux_1_2_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

luna_model-0.5.0-cp313-cp313-musllinux_1_2_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

luna_model-0.5.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

luna_model-0.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

luna_model-0.5.0-cp313-cp313-macosx_11_0_arm64.whl (3.2 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

luna_model-0.5.0-cp313-cp313-macosx_10_12_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

luna_model-0.5.0-cp312-cp312-win_arm64.whl (2.3 MB view details)

Uploaded CPython 3.12Windows ARM64

luna_model-0.5.0-cp312-cp312-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.12Windows x86-64

luna_model-0.5.0-cp312-cp312-musllinux_1_2_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

luna_model-0.5.0-cp312-cp312-musllinux_1_2_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

luna_model-0.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

luna_model-0.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

luna_model-0.5.0-cp312-cp312-macosx_11_0_arm64.whl (3.2 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

luna_model-0.5.0-cp312-cp312-macosx_10_12_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

luna_model-0.5.0-cp311-cp311-win_arm64.whl (2.3 MB view details)

Uploaded CPython 3.11Windows ARM64

luna_model-0.5.0-cp311-cp311-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.11Windows x86-64

luna_model-0.5.0-cp311-cp311-musllinux_1_2_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

luna_model-0.5.0-cp311-cp311-musllinux_1_2_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

luna_model-0.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

luna_model-0.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

luna_model-0.5.0-cp311-cp311-macosx_11_0_arm64.whl (3.2 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

luna_model-0.5.0-cp311-cp311-macosx_10_12_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: luna_model-0.5.0-cp314-cp314-win_arm64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.14, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for luna_model-0.5.0-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 b4567e4d1e02d9455bdee329f89d621c16d04e49ae129741c4a926f1d179b121
MD5 6386d253989818fa75874edd1fed6fee
BLAKE2b-256 664cc2ffb795057a660c33fc79d059200311d108548478f94762bc4f75df0af4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for luna_model-0.5.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 82d348812cd2a574f720ae3887c00a9f10a026644833e877e029b906eb11f25d
MD5 36380ff6d1ba429c9067dcaa35391b53
BLAKE2b-256 63d36c6a66934bf1da424c2ecda41244fab06687ea8df77d247f0df2670bc9a8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.0-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 25343c05e0323528610a77b87faba2a12d7f0fb8d7f25c16274e2d6596ad8020
MD5 984926177cb25f04f619812902e078f8
BLAKE2b-256 be68489cdb098b202b776b5ee027085c7abbbd39ef53e50921bb4ae694787a7f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.0-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 303745cd27e53a40ca8424bef6003e59a51211da09f7afc918bc067226c7df34
MD5 05a68a40d6d048b3ba9c1157b8c08385
BLAKE2b-256 2e2f664b28bce384dbed59587aa827f3e9474120381dfe322fa48fd25e562e69

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 02a05882d895b3bef37cef0bf54d9fb12d367f89d5b4506a92e109761f563ce7
MD5 0542666c6a86ff81f3d98a335e10f0ee
BLAKE2b-256 e25ca0daec12afb52cb0721afc9723ae3623ab6f330db1237864e9a6d72cc181

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1b23eeb65dfadb80700ea80ee87590a4b4fa916dbfb97789212e4711db8ea3ef
MD5 8536218f71815b6d9de27cf9af07d0c9
BLAKE2b-256 51cafd3f0eb94b75bf13ea35194226683451629cbae0208f88f701d7ce5716f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c289a5d561d8deef21696d7c7aea2909ff8f19d828bcfc1737bd3c8740a72c33
MD5 bcab52fc0a6e47cd43674da32bad8fd3
BLAKE2b-256 7346cc0e06d5dd53eb5fafb6b995427e1babd5aa021054d6f3970d5779034096

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.0-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a21278e8a36c5390c8b3f22dcfb994609a901b4f8facf0d31ab7f6854c8aa8bd
MD5 74530903c52534bdfb3df94016dd2e27
BLAKE2b-256 0215fb6e8864c5102e58876cfb35591a1d864451e5de8c5f24a6b1f1226076b2

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for luna_model-0.5.0-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 4e4c12aa0b925035c97dfd422f378e66edb4ebdc5618c7d3c4fcfba14b3f0db0
MD5 25c1457b27fd9b5bb796efdfdbff5c68
BLAKE2b-256 1ebec7ba0a5160ea0bd68a0c2cdd5da523e9ed8051f881f0dd00cf199cd55f0e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for luna_model-0.5.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8d1ead0e5bb1a19c5f4a50740a36999da2b470bcd974760b804de26d7b38811d
MD5 62e67806df1d4c00534acbe2cd3d3404
BLAKE2b-256 85d18f5c7ee68a034fb1a7c9f2f04ab0d2df6572011fb5d66f93e6db7a484264

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ca62303f7bd2c4d53e51a5310cef891a40ebbf37e731d875e070c0f68a1a1cc2
MD5 9177ce9da05ca487171f67f8f2e7dcfd
BLAKE2b-256 42484b805c0ccd87a7446bb6b5455adff51b12e78e50d367ffa7f097746ca7e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8022631df956df3aafd9d0715d24d25693ef9b850e2705d5b8fb1503606df39b
MD5 4a9c50f97fb761221ea5e2f173149a1a
BLAKE2b-256 62d598ae4a7abb253df940adecd33bc28e0a0595228f107f98da25a794cad1ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aa423e7a4875c4a0c91e891483aa82fb9cd66de8ba6ef3fa0984b8934167367a
MD5 0bd6cddfbc37d6686a893f49719eab80
BLAKE2b-256 631d64be8dfffe250e046d5acd08d6e8fffb288701b069b2c3767ef698d2a2f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 18d92d953fac36f6d44ba4a0776595c7097012729515e15b9baddf0a4d0ad871
MD5 94485cfb0ca1402a9ed8ec2a9d67b740
BLAKE2b-256 17d3215fd24cd9e28a4aca5b1f031310af61bd5c264fa7e2b2af3294778ca81e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cef76f229ba18edca6e9c36b1ed1bb0d679395046441783996fc277e10e3e46a
MD5 2679820e728a27c49655533cb8c745b6
BLAKE2b-256 430bde3a5ad2b3d394090c0a0db3116cb7711c50eb3d1baed88bd8585a3d8f56

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 dfe53662c39ade042088d1e499f5844874f65060f757fbc5a580f6554a48bc1e
MD5 52f88784500bb26aa783b8080ab0a503
BLAKE2b-256 6a64e02ee713324be0a6ac0df2f0c5931cff19b7f9c7d73904c1922e937cbd8a

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for luna_model-0.5.0-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 06b9de86fed3ea11196ddf6a51640c0b2c282e9854bea5b9441043f2125b4d02
MD5 f1e427d24b3c5ebb1b15726f3846d275
BLAKE2b-256 c111d818646a657ae1a5e80142695a9507bb0fca4529185013ed23e54e1509ae

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for luna_model-0.5.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7d05c0c96c00d0fda272b1e15c8bcfa4118214357d4d63d8aa75e26c7de1c087
MD5 970dcf78d1be5092465608e4a865a942
BLAKE2b-256 2e0df99d935f868c662c7dd5d84fdcbe80698bce5e1cb92439b339d2e171c5a1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 177b499fe9fbc730e980e62326101756436a3634fc9c9ec326dbd6e193b04dad
MD5 2064edf052995dfa609377b0eb9b49f2
BLAKE2b-256 1a2a00d24bb5cca81bfe1f3f5913b7f391ba6b5caf67f9c37ba4f86a89ba93ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 dde146d7d32b3ce6c61184d547be6a0405b62dd43a50d50b4eb482242a4ff714
MD5 126380089388d5bff5945a3ff7d0424b
BLAKE2b-256 fed6cac05a238539d0c5ed8926e3ffd047a3c254c385abe56d9bd56a20eff995

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4ff17f78dd34a61bd01e78270183e9d0d354b9d2b362b37c3fc3cc8f9b5ce76f
MD5 9b8b271d8a81be8397a6ccdea1cb40a7
BLAKE2b-256 b65f28c1b8b752c254dda4cb4d34c90b3590aa8cd5b535f1bd978cb9935843a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 733d5b07e079e3826182ba038d376d146ece435173311da1bc95a442645acfc4
MD5 3dfd8e32b2af40385532ace07434dc7f
BLAKE2b-256 7ff5a5bccb054e89199648580e1df4aabfa35b42d5a2e6433eaa9120099ed72d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 16bcc8b5256a7e474789c06a4d696b154936104052dbb2f82063977a041c1415
MD5 f992659afd0d0644ccea2f1d55370aa1
BLAKE2b-256 51ff2aeade6d4f48f296b750dde72cee32cc21b9922998512310b46258711230

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c46bd0833cca4e67dce36f2345a13c2b47f7be4d58ebbb6acd5b332acaddd49c
MD5 8d099e8f5a2877b11c15b7f5584bf569
BLAKE2b-256 45c14359da9ce0d527a4ac643f5a6104f078929d083296aaaead70dc8dd312e6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.0-cp311-cp311-win_arm64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.11, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for luna_model-0.5.0-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 0f9276a208b1bbf9d1d2017d49bd7d7782d11bd781fd211ee2453d5f9d7d1fc8
MD5 3651ecac341b412368b9f7587aee8d45
BLAKE2b-256 97d93cd5d9ef9c4ea3f377312d9175b2d9dfadee4617efaa4357760533cf399a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for luna_model-0.5.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7f015e2b5ecb0c740580877814f8d73b32668007e0a76c016d7eaa6f54b38d6e
MD5 e3aa909b341c39a2fc7799db30917b0c
BLAKE2b-256 172437ba1264e145c4195014dbcf1c52cb082aacd8ac7cc783ab424e88b0b1ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ccd8a0a10e7d9e6f9b353b3eeb474794c4af3d0aeb7966f7b5932e124020291f
MD5 087c3e90afff0a78a8c1f3745fbc46bc
BLAKE2b-256 eced0ac8fb834074b31855bc17f919b77a986f5a641c6fdb06a8ce85bf00cd8e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c31ba12787d3665616874acc404d2ea0f6e5076abbe3df34599e76aa65489f74
MD5 5664e638eacf5c7c2270367eea83ce19
BLAKE2b-256 c08476bd1d99bf35a807ab38b3ff22290eaa55ed41a36cd7de7237ca4009aab6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e2bbb26ac3f944cf3b7497857c9478589f232b6dabeb7a9fb1af510a741a5d02
MD5 a18f22b6d34615b0221cbbaab9ef1790
BLAKE2b-256 c31f3782449397a987818498e99a0d42ef84098b00d1fe7e9a7bbc05e3e15169

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5fc661b88862c142909512a5807abe615ea4d63d333bf9010f458a7e1b07f93d
MD5 1e8f177a3c61e554b990c2fc8d8716ef
BLAKE2b-256 8fb48ef47b19a892fe058d7db22f5d1465c471c449b0544da3cd55cef5744ad3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 de6197d6719e25c3406a3d236ed7a04d1e90c8e895175dfa7b70cf222641f68b
MD5 e1fddaee8b611186034ff3be4e608c4d
BLAKE2b-256 f42e7d1f202d76b97ff425f90575af0925d3af84173745f964d8e11e6bc18582

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e5b7b51641829441d1d7a4ea25e1f1563e12c4155041a02d6ead62f5a2e4c600
MD5 6f9d4365ff1f17d8094dbfd6c3894d4a
BLAKE2b-256 0ceca10e91e5303ed266501c11418b8a504b95a60e430bfacff5e10d27f19fc8

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