How to create a new pilot

  1. Locate the qunicorn_core.core.pilotmanager module.

  2. Create a new python file for the pilot and implement the pilot by referencing one of the existing pilots (e.g., ibm_pilot).

  3. Make sure to implement all required methods from Pilot (i.e. implement all methods that raise a NotImplementedError).

  4. Add your pilot to the imports in the __init__.py file of the qunicorn_core.core.pilotmanager module.

  5. Add your pilot to the PILOTS list of the qunicorn_core.core.pilotmanager.pilot_manager module.

  6. Make sure the pilot metadata (such as supported languages, etc.) is added to the relevant enums (i.e. ProviderName and AssemblerLanguage).

  7. If required, implement the relevant transpilers to support new formats in the qunicorn_core.core.transpiler module and importing in the __init__.py file of the module.

  8. If the dependencies have changed run poetry run invoke update-dependencies to update the doc dependencies and the list of licences.

  9. Write some tests and update the source documentation using poetry run invoke update-source-doc.