Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

pyaimopt: Python Wrapper for the AIM optimization service

pyaimopt is a package that provides access to the Analog Iterative Machine (AIM) optimization service. The AIM optimizer accepts problems in the quadratic unconstrained mixed optimization (QUMO) format. The QUMO format is a generalization of the quadratic unconstrained binary optimization (QUBO) format, and allows for the optimization of continuous variables in addition to binary variables. The AIM optimizer is a stochastic optimization algorithm that uses a combination of gradient descent and annealing to find the global minimum of a given objective function. In addition to QUMO and QUBO problems, the AIM optimizer can also be used to solve MaxCut and Ising problems.

Build Status Coverage Status License: MS-PL PyPI version

Table of Contents

Prerequisites

The package requires Python 3.10 or higher. It is recommended to use a virtual environment to install the package.

Installation

To install pyaimopt, simply use pip:

pip install pyaimopt -i https://msr-optics.pkgs.visualstudio.com/OpticalCompute/_packaging/OpticalCompute/pypi/simple/

You can check successful installation by running the following command:

aim status

It should return the version of the installed package and the status of the AIM service.

TODO: Example with passing the API key.

Authentication and API Keys

TODO: Add instructions on how to get an API key. This should be done by the AIM team.

TODO: Explain how to pass the API key to the package.

TODO: Explain alternative authentication methods.

Usage Examples

To get started, you can use the following commands to submit a simple QUMO problem to the AIM optimizer, check the status of the submitted problem, and retrieve the results.

aim submit
# This returns: "Submitted job <job_id>"
aim list
# The output should contain the <job_id> of the submitted job and its status
# Upon completion, the status should be "Completed"
aim retrieve <job_id>
# This returns the results of the optimization

TODO: Add example of submitting a simple QUMO problem using the synchronous interface.

TODO: Add example of using the asynchronous interface.

TODO: Mention the GitHub repository that contains examples.

Documentation

TODO: Add a link to the documentation.

Contributing

Contributions are welcome!

TODO: Add instructions on how to contribute examples.

TODO: Add instructions on how to report bugs, and propose new features.

TODO: Add instructions on how to suggest changes to the solver.

License

This package is released under the MS-PL License. See the LICENSE file for more information.

The package depends on a number of external packages. The list of those packages and their corresponding licences can be found in the NOTICE.html file.

Contact Information

For questions or comments related to the functionality or features of the AIM optimizer, please raise an issue on the AIM GitHub repository.

To get access to the service, please contact the AIM Team. At this point, the service is available to selected users only.

For further questions or comments, please contact the AIM Team.

TODO: Add a link to the Issues page.

Metadata

Release files for pyaimopt 0.7.5

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

Source distribution (sdist)

Source distribution for pyaimopt 0.7.5
File Size Uploaded Provenance Actions
pyaimopt-0.7.5.tar.gz 75.6 kB Without provenance Details for pyaimopt-0.7.5.tar.gz

Built distribution (wheel)

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

Total release size: 156.6 kB

Release files / pyaimopt-0.7.5.tar.gz

Download URL pyaimopt-0.7.5.tar.gz
Size 75.6 kB
Tags Source
SHA-256 checksum
How to use checksums
edb8f4ef1146eaae523792835fedfcc80557039ff30ffd1d3d167d26f24b96b9
BLAKE2b-256 checksum
How to use checksums
a7b8821ad501ce4d2824407fb15635f18a5a46daf8fbb9f213fb7c052f7da03b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via RestSharp/106.13.0.0

Release files / pyaimopt-0.7.5-py3-none-any.whl

Download URL pyaimopt-0.7.5-py3-none-any.whl
Size 81.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8c502150c0284b16ec76616b837a7f8ea12e53e8172ce091338bf16ac6eb8b56
BLAKE2b-256 checksum
How to use checksums
685485c0db3b98cf679c491e494fb31aa5b2e127442b079cd8eb0d25f8671550
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via RestSharp/106.13.0.0

Security for pyaimopt 0.7.5

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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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