Skip to content

Welcome to Luna

PyPI version Downloads Piwheels - luna-quantum

Luna is an integrated platform that enables individuals, researchers, and enterprises to build, benchmark, and deploy quantum-powered optimization applications. It provides a powerful and scalable ecosystem tailored for real-world impact, combining established and proprietary algorithms, pre-built use case building blocks, and seamless access to leading quantum and classical providers. Luna supports the full development lifecycle of custom optimization workflows with advanced benchmarking tools, deep backend integrations, and a strong focus on reliability, extensibility, and performance at scale.

pip install luna-quantum

To learn more about utilizing Luna, refer to the documentation. The following example demonstrates the process of building a custom optimization workflow using the platform’s core capabilities.

from luna_quantum.solve.parameters.algorithms import QAOA
from luna_quantum.solve.parameters.backends import IBM
from luna_quantum import Variable, Model, Vtype

# Beach items
beach_items = ["surfboard", "book", "speaker", "cooler"]
fun_values = {"surfboard":40, "book":15, "speaker":25, "cooler":35}

# Interaction dictionary: positive = synergy, negative = conflict
interactions = {
    ("surfboard", "book"): -25,      # wet board ruins book!
    ("surfboard", "speaker"): 10,    # music while surfing
    ("surfboard", "cooler"): 15,     # cold drink after surfing
    ("book", "speaker"): -30,        # can't read with loud music
    ("book", "cooler"): 20,          # relaxing read with cold drink
    ("speaker", "cooler"): 30,       # perfect beach party combo
}

model = Model("beach_packing_simple")
with model.environment:
    # Create binary variables from the list
    items = {name: Variable(name, vtype=Vtype.Binary) for name in beach_items}

# Invert objective values to match minimization problem
model.objective = (-1) * sum(f_val * items[i] for i, f_val in fun_values.items())

# Invert interaction terms to match minimization problem
model.objective += (-1) * sum(val * items[i] * items[j] for (i,j), val in interactions.items())

print(model)

# Define the algorithm and backend
algorithm = QAOA(
    backend=IBM(
        backend=IBM.SimulatorBackend(
            backend_type='simulator',
            backend_name='aer'
        )
    ),
    reps=1,
    shots=1024
)

# Run your algorithm
solve_job = algorithm.run(model)
solution = solve_job.result()

Tip

Check out our tutorials that walk you through common optimization workflows with Luna.

Why Use Luna?

Luna is designed to empower individuals and organizations to translate the potential of quantum computing into practical, real-world solutions. Whether advancing academic research, developing innovative products, or optimizing complex business operations, Luna provides a unified, production-grade environment that supports every stage of the quantum development lifecycle — from initial experimentation to deployment at scale.

Serving a Broad Spectrum of Users

Luna addresses the needs of a diverse set of users across multiple domains and levels of expertise:

  • Quantum Enthusiasts: Access foundational quantum resources within a guided environment designed for learning and early experimentation.
  • Independent Developers: Utilize enhanced computational resources and a comprehensive toolset to build, test, and refine quantum-powered applications.
  • Academic Institutions: Benefit from advanced research infrastructure, priority support, and specialized resources tailored to scientific inquiry and collaboration.
  • Commercial Enterprises: Deploy enterprise-grade quantum solutions with the reliability, scalability, and governance necessary for mission-critical applications.

Key Capabilities

LunaSolve — Advanced Optimization

LunaSolve simplifies the resolution of complex optimization problems by combining quantum and classical computing strategies in a single interface. Users can choose algorithms, execute solutions, and retrieve actionable results within minutes.

Key Benefits:

  • Support for multiple dataset formats (QUBO, BQM, CQM, LP)
  • Adaptive configuration for users of any experience level
  • One-command execution with automated backend orchestration
  • Insight delivery focused on clarity and impact

LunaBench — Streamlined Benchmarking

LunaBench accelerates the benchmarking process by automating algorithm testing, performance comparison, and backend orchestration. Built for repeatability and clarity, LunaBench is ideal for both research and deployment preparation.

Key Benefits:

  • Integrated algorithm and backend selection
  • Consistent metrics for cross-evaluation
  • Seamless integration with LunaQ and LunaSolve

⚠️ LunaBench is available for Academic, Commercial, and Individual Tier accounts.

LunaQ — Hardware Access Made Easy

LunaQ abstracts the complexity of accessing quantum hardware, enabling users to deploy circuits across various quantum providers with minimal friction. It ensures compatibility, consistency, and efficient execution.

Key Benefits:

  • Support for OpenQASM input, ensuring cross-framework compatibility
  • Smart dispatching service for backend selection and conversion
  • Efficient execution with robust result delivery for further analysis