Setup
=====
Before starting with job submission to Artemis, some software configuration is required. Development for Artemis is achieved via `Lightworks `_, a Python-based SDK for quantum computation. This has its own set of documentation, and we recommended users familiarise themselves with at least some of the examples.
Python
------
Submission of jobs to Artemis requires Python 3.10+. If not already installed, it can be downloaded from `python.org `_.
Once Python is set up, the Lightworks remote extension needs to be installed. This is achieved by install as an optional dependency of lightworks, using the following command.
.. code-block:: console
(venv) $ pip install lightworks[remote]
To use any of the qiskit-based features within Lightworks, if qiskit is not already installed then this will need to be installed separately. The easiest way to achieve this is to use the dependencies from Lightworks with the following command:
.. code-block:: console
(venv) $ pip install lightworks[qiskit]
Or alternatively, qiskit and the remote extension can be installed at the same time with:
.. code-block:: console
(venv) $ pip install lightworks[all]
.. note::
Lightworks has been primarily designed for interaction through Jupyter notebooks, and this is where tools such as the circuit visualization will work best. Jupyter notebooks can be accessed through the Jupyter software directly or through an IDE such as Visual Studio Code.
Configuration
-------------
Once python is configured, Lightworks itself needs to be setup to ensure communication is possible with the job scheduling service. This should only need to be done once per user, as settings are saved and loaded automatically across python installations.
For simplicity, a remote_setup.py file will be supplied, this can be ran to automatically complete all steps required for configuration. If for some reason you don't have this file, then the instructions below need to be followed.
Two commands are required to perform configuration. First the URL needs of the scheduler needs to be configured, with the following.
.. code-block:: python
from lightworks import remote
remote.set_api_url("INSERT_URL_HERE")
Then, the web certificate required for communication needs to be installed. This is achieved with:
.. code-block:: python
from lightworks import remote
remote.install_certificate("PATH_TO_CERTIFICATE_HERE")
Both URL and certificate should have been provided to you, but if not then please reach out to your system administrator.
Next steps
----------
Once installed, proceed to :doc:`getting_started/index` for more information on using the system.