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

Uploaded CPython 3.14Windows ARM64

luna_model-0.5.2-cp314-cp314-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.14Windows x86-64

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

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.14macOS 11.0+ ARM64

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

Uploaded CPython 3.13Windows ARM64

luna_model-0.5.2-cp313-cp313-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows ARM64

luna_model-0.5.2-cp312-cp312-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

File metadata

  • Download URL: luna_model-0.5.2-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.2-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 392252af666c30539316fec83695307334c67e377995eb0b36744f4d9e5de539
MD5 73c54743535cf7dec37dac7051b499b8
BLAKE2b-256 8b1cb2705d29587001523cbb55a18848604c5eb312c7b6bc5dfd0ad62cccd097

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.2-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 2.6 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.2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 4a19d3f1c25f18b4f3b6a16f4170ed602c05a18abd07262ae6bc813003d76de1
MD5 039babd2d47dc269a65ab6df684ae049
BLAKE2b-256 3fd2daccf3f7d45dee778d05ad9bf4722d786addb107c27792f8184f5c4935a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.2-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e7cdcf2bd6d5336ed773cef1983bd21edc89f586244b85ecc071a3793594c272
MD5 a7e52edae9957f026a290691d455957f
BLAKE2b-256 ab35ad40e0a56a7940f5a45e5010ab779caa92159f4c97fb3e66c084970263a8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.2-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 fe2c31bb6049c5ae2f5dcf077f7ec8fcd3a24a91f809f27cbfdf10f4214d6b4e
MD5 7a892eb02db9ba55f0cd2d674ac5d109
BLAKE2b-256 c1e0870ee99ff9c0d3a878d78904653e2c279ba22540f2e341326a5c32279b70

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a40fec3317811ae12612da772a562840b9760dfa05c671e5b97af515da3d5e72
MD5 e5be7be6ab2b7e02aa331e1d7fc936fb
BLAKE2b-256 76d6029896445134f73a45d76de64deb15e8e54248de1dc59adce5208e10a23d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e75a4a4870ef9bee39929745e0c2c5bab139df0642381db17e231b4df052add8
MD5 a8fda5aa78658deaec6185ae95e6b05c
BLAKE2b-256 421fa2c00b77972ddc3d7129507c0c54ae784b69130aa8cd478c6803e7d1e898

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.2-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 32bc614b776ae076047b7bc3a64906bae0c19dbeb03dba428dfde82cd940f981
MD5 d03bfa0b4221fec80c49fb4e9b7e1f12
BLAKE2b-256 b45092020165ce7488dd76a26e149e43a5de3c683e3be787a42515eac3201832

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.2-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7b594da35253c8f6e5c19a891fce0c1071ace44b015b1fb67f689fb09e36aa78
MD5 a5d6ff6951148a13c9e0f5200de044e4
BLAKE2b-256 9f73775409ce240123987784519977a8dae105abc6a9a4bbcb0f118bb01f231d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.2-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.2-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 82030a28d16bddb6a341bd9010286182e70c8606968137b2fb6a7f04d7a480cc
MD5 c92db9e2abb536c3c2225d1845ed117c
BLAKE2b-256 145f4da6564ee46a8523d2d8278d093fa75f87c284ed80ee1009c432dfe7361a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.6 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.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 a8220632e85e2e0ac08c12dc99bb1f4af2399febf73add71b241f1d45a318e55
MD5 3d248865bc517d9a164d402f02abf024
BLAKE2b-256 62e04932236090254348227512892cd1aa63b10d4126cffbfc43e566db275b9c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.2-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 afb37cc0639d90c6088e0976f70017aecee75c055bdba852177dd9c7c898c7ed
MD5 fcceda9cf84d9fff40e2ba5199ace312
BLAKE2b-256 8a885d3e3b6a8dd4a4db0b4002f0a42672099a9e820e94ee1d735a7ff32dcba8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.2-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 48b5c87ed26ca4036193a0f1eef5e7475b85a92bb412ac6438b641bbaa6b850f
MD5 2b8145c4251be295baae396593a34894
BLAKE2b-256 dcb774b1b30b940c67791431f81290dec2bcc3b7397c5d2007d596caa5880776

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 711ba8d8d682bbc920c40dbbdc789bd3c3972a9a6f95e9f814767f17f9f9f46f
MD5 d516bfb8b3ea57c7b353eca1831874fe
BLAKE2b-256 a78db5b3ffc256930ef77768cf87f6a6954cff057ff2c28b7e0ff0de8ef5d262

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 58bdf1325489d96473fbb21b5101eac954d9e27a3b5d8c3af9cf3f331808f8e9
MD5 527639fc8abf01d7b18cb1e1a568f8b5
BLAKE2b-256 7d7605d6b040518299d434d0b403968070b1086c06d0954b903eb5a80d0d92c1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a4414f70e56c3a73359d9b01570fcbeab8af5259011e31a4b9d1fc285c0ff98a
MD5 abe8c761d0735634efbd1e52f265f32a
BLAKE2b-256 4cf8cc67cf7fb4e1dda732d2de6370a69558c2971c2b18b330d8f75957cbdbf7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.2-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 216d85c17b3b2cbba678264e608d0ed4cc757bf8e599417ddf9122d4147753a4
MD5 beb6eccbba6ba7db0576809528524bc1
BLAKE2b-256 19996c5a3dce6ce6c5869a63c42b01f6aedf624125eeee07a648818eb4056417

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.2-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.2-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 6437dbb340e1fb524ddd9f1cf936ce770fe7086436ed244881ad19763cbe6ca7
MD5 15b246e8f3395acff897a7108be9d7fd
BLAKE2b-256 15d9517a4d467386c4a0c8c03e6113beae0c08b627561b38c482998fe3aaffb8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.6 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.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ec424eebcce13523c4e987f3b6c793c8800263be7e70ff1060c9c922bf2de959
MD5 1eeec743184dd673662ae611728a36d3
BLAKE2b-256 b18e79022895cf029622e8c725330d44176a52d41d3ac5ee3b64d27e7c4070ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.2-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b88e66e0b130f59b17edf27bc0608579ca7a1fbb7e68bfd2009a8050a28acf11
MD5 f90276b2f5fb4e61c4497ddd6b4866e2
BLAKE2b-256 3d5e3c3a554ff9e87e1c4b7edf96f170407d8cad31470477e755db0883cb7aa6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.2-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 749aeba0d8acea6b2af5fe270b94334f8d6ec8737c5b41ca8b972448b76209d4
MD5 ca7787b77a278f1ffe3b6e542d252b9d
BLAKE2b-256 96e30a4bbf7378465143c4e246966ba317abd81cfaa2fc0b21dd781a061f9711

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 36831f252f7c111c9ec7639e5731f6a346e773eb804eefb3ff147808e3d12f8d
MD5 e06d4e4b6bec460ae47c0ad7d0ec1c12
BLAKE2b-256 124def84ad02e95caeb4cea5597465cdf25cdbd84eff83a1f80b0ea6e6cda6ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e56fd3aa5d4f1aa48f30de00891d4bf4c0c0e5fe75b0a9bf1e8c6eb107b5a805
MD5 3f341af3ebe80f9f460ef1a4257b3845
BLAKE2b-256 30fe4099e14d824e5898efeecfe7a66da5ef75a5688f0b8f0b476455d945c779

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 02e893b5c4ac5c2892a858e4a7bd46cfe7c770918bb623e0e86e9ef63cd565f2
MD5 d16eea58ad990f96dbb6a08b0b131c95
BLAKE2b-256 6f15203fbe36ac81b84edb8c0f1fbb0a2530d5627641824b669a35bfcbb5b4bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.2-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b122afa555467b6dee23ada8d3fe24e4eebef58455acb2a7109e6ee8d3fb1a01
MD5 5797ef2ae3d8317a884f3bc6d45f0724
BLAKE2b-256 d67df15ce688a0f3ade1d928a04c9ece7b667a35185c9c600acf6914597a57b0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.2-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.2-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 18e3484b7a44591661db64d93881c76880213fc9d7a88e892430ec825d6c7d05
MD5 e96827479402462e4df5916c27d34010
BLAKE2b-256 6bd977efbf579e0d340fa113bbbbc30a5d485f117e1860393b3b0dbaeb86c59c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luna_model-0.5.2-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.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b812d873fdde65cfc0d661164d0482d9236edd8d994b3376b6d9cbedb96b465d
MD5 0b77e6315c894f9bdfb831c19f30143b
BLAKE2b-256 a8c1e014884645ad9a46a421fc9365dd15aa498bb707ea212d29011dd21cbc1a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.2-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 30ebbf6aade645e2dcd1a3e2f35403fd54b99bfa1e4250b7bc74874b7a0e91fb
MD5 d1ea7a4170f96e7a86616580692b31d6
BLAKE2b-256 e6782b7b2f8e20693250f6ca5e5dec8fe1726d0cbca1028ebdccc26672bb94eb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.2-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a133d2c25f2eaa6e3f7827e8a102cc8ee3c1db8e6e3ac00c9fbda30e92f3eb4b
MD5 36c1977194923783395962db2b2d8e9d
BLAKE2b-256 655360299143885f6cde5c22c6af4e94df0c5a76627df7f605adc2127910a4a9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 81c90009ce0e307a4c545447608fe5f64dfa7753a9f248dc89a389dd593a6b38
MD5 3d0c53317fa86c3213c699444e496fe6
BLAKE2b-256 31028d51665c6638407c6bd8b3d820763ace240df1a255d6ede1c981d9ebc274

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e7338b4e112d998a5e1e752b8f3963bdc3f530fa80a69af9249c3438ce9196d7
MD5 6d39e7f62b3b658f6920cd7e41d47349
BLAKE2b-256 d9cac85db641e7c39c74e5b73038f5783560db7e30fc800c81e7af6936ccc692

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 44f48265da7d853138ec0c560d5a00391c8d710209e670aafb04de419465e554
MD5 04e40503c94e4aedf3587ab7fafc9821
BLAKE2b-256 801cd5bb8410b880f58fc6ec9dd2a55abb878b326a880114960c236888bdc7ba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for luna_model-0.5.2-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ad620dfc5935ef8945ae80c2c0d1603e1a2659f46f98d32af75310746052ae33
MD5 bb72a6d435f1c361f69472af936485b9
BLAKE2b-256 705b70d16299e19b42878e7f2cf97265a596d8601c4564b664f7fbd22180919b

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