Metadata-Version: 2.2
Name: AQMLator
Version: 0.2.0
Summary: A package for auto quantum machine learning-izing your experiments!
Author: Tomasz Rybotycki
Author-email: Tomasz Rybotycki <rybotycki.tomasz+aqmlator@gmail.com>
License: Apache License 2.0.
Project-URL: documentation, https://aqmlator.readthedocs.io/en/latest/index.html
Project-URL: repository, https://github.com/Tomev/AQMLator
Classifier: Programming Language :: Python :: 3
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: requests
Requires-Dist: types-requests
Requires-Dist: scikit-learn
Requires-Dist: dill
Requires-Dist: pennylane==0.40.0
Requires-Dist: pennylane-qiskit==0.40.0
Requires-Dist: torch
Requires-Dist: torchvision
Requires-Dist: torchaudio
Requires-Dist: matplotlib
Requires-Dist: optuna
Requires-Dist: psycopg2-binary
Requires-Dist: optuna-dashboard
Requires-Dist: numpy
Requires-Dist: qiskit
Requires-Dist: qiskit-ibm-runtime
Requires-Dist: setuptools
Requires-Dist: lightning
Requires-Dist: lightning[extra]
Requires-Dist: scipy
Requires-Dist: dimod
Requires-Dist: tqdm
Requires-Dist: dwave-system
Requires-Dist: fastapi
Requires-Dist: uvicorn
Requires-Dist: pennylane-lightning
Dynamic: author
Dynamic: classifier
Dynamic: license
Dynamic: requires-dist
Dynamic: summary

# AQMLator

A package for auto (quantum machine learning)-izing your experiments!

## Requirements

Python version 3.11 is required. Necessary packages are provided in the respective
requirements*.txt files.

### Database

The Postgres database is used to store the Optuna trials data. It has to be 
installed prior to running the package, so that the `psycopg2` package can be
installed properly.

### Documentation

The documentation is built using Sphinx. Building PDF version of the documentation
requires `latex` distribution (we used `miktex`) and `perl` (we used `strawberry perl`).
To generate the pdf version of documentation, run

`make latexpdf`

and to generate the html version of documentation, run

`make html`

Both command should be run from the `docs` directory.

## Installation

The package is available on pip, and can be installed using

`pip install aqmlator`

To install the package from the sources, run

`pip install .`

To develop the package, run

`pip install -e .`

To install the packages required for development, run

`pip install -r requirements -r requirements-dev.txt`

### Setup

To fully set up the package, one has to add the database url to the
`aqmlator_database_url` environment variable. The example of the database url is

`postgresql://user:password@localhost/mydb`

where `user` is the database user, `password` is the database password, `localhost`
is the database host, and `mydb` is the database name.

## Tests

We use `tox` to run full package tests. To do so, simply call
```
tox
```
in the project folder.

## Access

To access the Optuna trials data use 
[optuna-dashboard](https://github.com/optuna/optuna-dashboard)
application. By default, it can be run using the following command

`optuna-dashboard postgresql://user:password@localhost/mydb`

while the (PostgreSQL) database is running.

Alternatively, one can use `aqmlator.database.export_data_to_sqlite_database` to export
the data to the SQLite database, and handle it as one pleases.
