Skip to main content

#UQO - You, Quantum and Optimization

UQO is an optimization framework developed by the QAR-Lab of the LMU Munich.

Setup


To install UQO simply do:

   pip install uqo

To be able to connect to the UQO servers, you have to create a config object. There are two possibilities to do so:

  1. Generate private/public keys

    UQO uses elliptic curve cryptography to securely communicate with the UQO servers. Therefore you have to generate your private and public key first, before you can start using UQO. This is done as follows:

      import os
      from uqo.generate_certificates import generate_certificates
      generate_certificates(os.path.dirname(os.path.realpath(__file__)))
    

    This will generate 3 folders ("certificates", "private_keys" and "public_keys") in your current working directory. The "certificates" folder is used as a temporary directory and should be empty after the process completed. You can safely delete this folder.

  2. Create the config object directly in the code:

    ip = "SERVER_IP:SERVER_PORT"
    token = "YOUR_TOKEN"
    private_key_file = "PATH_TO_YOUR_PRIVATE_KEY_FILE"
    config = Config(method="token", credentials=token, endpoint=ip, private_key_file=private_key_file)
    

    Replace "PATH_TO_YOUR_PRIVATE_KEY_FILE" with the actual path to the clien.key_secret file you generated in step 1.

  3. Use a config file

    Create a config.json with the following structure:

    {
         "method": "token",
         "endpoint": "SERVER_IP:SERVER_PORT",
         "credentials": "YOUR_TOKEN",
         "private_key_file": "PATH_TO_YOUR_PRIVATE_KEY_FILE"
    }
    
    Replace "PATH_TO_YOUR_PRIVATE_KEY_FILE" with the actual path to the client.key_secret file you generated in step 1.
    
    
    

    You can then use this config file as follows:

    from uqo.client.config import Config
    config = Config(configpath="Path\to\the\configfile")
    

In the examples above please replace SERVER_IP and SERVER_PORT with the ip and port of the UQO server. Also replace YOUR_TOKEN with your personal UQO token.

Current State of UQO

Although UQO can already be used for a lot of tasks, it is still work in progress. You may very well run into problems where you would like to use a feature which has not yet been implemented or is not working as intended due to bugs. In this case please let me know about the exact problem or the exact feature you want to use, so I can fix / implement it.

You find my E-mail at the bottom of this ReadMe.

FAQ

Required Python Version: >= 3.7

Error messages while solving

If you try to solve a problem with UQO you might run into problems. Please consider updating ALL your python packages that are relevant for UQO. After you have done this, verify that your code is correct. If you still encounter problems, you can contact me (sebastian.zielinski@ifi.lmu.de) and I will try to help you with your problem.

Metadata

Release files for uqo 0.0.2.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for uqo 0.0.2.6
File Size Uploaded Provenance
uqo-0.0.2.6.tar.gz 20.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for uqo 0.0.2.6
File Interpreter ABI Platform
uqo-0.0.2.6-py3-none-any.whl Python 3 none any Details

Total release size: 42.5 kB

Release files / uqo-0.0.2.6.tar.gz

Download URL uqo-0.0.2.6.tar.gz
Size 20.5 kB
Tags Source
SHA-256 checksum
How to use checksums
a753ccc63c82bcedf08aad174615227cde5dd74375354b736237acd7fa85387b
BLAKE2b-256 checksum
How to use checksums
172ac388c5aaeebf9c3a0a29d498e35e1312842e00b07180c950ed42330b81bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release files / uqo-0.0.2.6-py3-none-any.whl

Download URL uqo-0.0.2.6-py3-none-any.whl
Size 22.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ad5d3f189b378be64bb87b354a05f2af63c669777d8f1320b8509dc7baffb77c
BLAKE2b-256 checksum
How to use checksums
291d938688cab560ffd3ef808f9f33ad04b361314318d58af779f1ced3ff0ae6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Security for uqo 0.0.2.6

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page