{ "info": { "author": "Adriaan Rol et al", "author_email": "adriaan.rol@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "# AutoDepGraph \n\n[![PyPI](https://img.shields.io/pypi/v/adaptive.svg)](https://pypi.python.org/pypi/autodepgraph)\n[![Build Status](https://travis-ci.org/AdriaanRol/AutoDepGraph.svg?branch=master)](https://travis-ci.org/AdriaanRol/AutoDepGraph)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/ae46c58617ff45df9ac98446b3dc34ac)](https://www.codacy.com/app/adriaan-rol/AutoDepGraph?utm_source=github.com&utm_medium=referral&utm_content=AdriaanRol/AutoDepGraph&utm_campaign=Badge_Grade) \n[![Coverage Status](https://coveralls.io/repos/github/AdriaanRol/AutoDepGraph/badge.svg?branch=master)](https://coveralls.io/github/AdriaanRol/AutoDepGraph?branch=master)\n[![DOI](https://zenodo.org/badge/85987885.svg)](https://zenodo.org/badge/latestdoi/85987885)\n\nAutoDepGraph is a framework for using dependency graphs to calibrate a system. It is heavily inspired by [\"Physical qubit calibration on a directed acyclic graph\"](https://arxiv.org/abs/1803.03226). \n\n## Overview\nAutoDepGraph consists of two main classes, the CalibrationNode and the Graph.\nCalibration is done by calling a node that one wants to execute, the node contains the logic required to satisfy the nodes it depends on (parents).\n\nA CalibrationNode contains:\n\n- parameters\n - state\n + Good (green): check passes\n + needs calibration (yellow): calibration is not up to date anymore and needs to be updated\n + Bad (red): calibration or check has failed\n + unknown (grayed): checks of the node should be run\n + active (blue): calibration or check in progress\n - parents: the nodes it depends on \n - children: nodes that depend on this node\n - check_function : name of function to be executed when check is called. This can be a method of another instrument.\n - calibrate_function : name of function to be executed when calibrate is called. This can be a method of another instrument.\n - calibration_timeout: time in (s) after which a calibration times out. \n\n- function\n - execute or call\n + Performs the logic of a node (check state, satisfy requirements) with the goal of moving to a \"good\" state\n - check\n + Performs checks to determine and the state of a node\n - calibrate\n + Executes the calibration routines of the node\n\nA Graph is a container of nodes, it is used for: \n- new graphs can be created by instantiating a graph and then using the add_node method to define new nodes. \n- loading and saving the graph\n- real-time visualization using pyqtgraph\n - state of the node determines color of a node\n - if a node has no calibrate function defined it is a manual node and has a hexagonal instead of a circle as symbol\n - mouseover information lists more properties (planned)\n\n![Example calibration graph](docs/example_graph.png)\n\n## Examples \nFor an introductory example see the example notebook. If you want to see how to use a specific function, see the tests located in the autodepgraph/tests folder.\n\n## Installation\n- Clone the repository\n- install the [requirements](requirements.txt)\n- navigate to the repository and run `pip install -e .`\n- verify success of installation by running `py.test`\n\n#### N.B. windows can be \"problematic\" \nInstallation on windows is a bit more difficult, this relates mostly to the installation of pygraphviz. To install graphviz and pygraphviz on windows follow these steps: \n\n- get the 64 bit version of ![graphviz for windows](https://github.com/mahkoCosmo/GraphViz_x64/), copy it to e.g., program files and add the bin folder to the system path.\n- the 64 bit version lacks the libxml2.dll, you most likely have this from some other program. You can find this by searching for `libxml2.dll` in the program files folder. After that just copy paste it to the bin folder of graphviz.\n- get pygraphviz by downloading the master from github.\n- Now you will need to edit pygraphviz/graphviz.i and pygraphviz/graphviz_wrap.c according to the changes at https://github.com/Kagami/pygraphviz/tree/py3-windows-iobase. A reference can be found in the _install folder\n- Next install using\n```\npython setup.py install --include-path=\"C:\\Program Files\\graphviz-2.38_x64\\include\" --library-path=\"C:\\Program Files\\graphviz-2.38_x64\\lib\"\n```\n\n- then install autodepgraph and test the installation using `py.test`\n\n## Acknowledgements\nI would like to thank Julian Kelly for the idea of using a dependency graph for calibrations and for early discussions. I would like to thank Joe Weston for discussions and help in working out the initial design. I would like to acknowledge Livio Ciorciaro for disucssions and as a coauthor of this project.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/AdriaanRol/AutoDepGraph", "keywords": "graph,calibration framework", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "autodepgraph", "package_url": "https://pypi.org/project/autodepgraph/", "platform": "", "project_url": "https://pypi.org/project/autodepgraph/", "project_urls": { "Homepage": "https://github.com/AdriaanRol/AutoDepGraph" }, "release_url": "https://pypi.org/project/autodepgraph/0.3.3/", "requires_dist": null, "requires_python": "", "summary": "automated tuning based on dependency graph", "version": "0.3.3" }, "last_serial": 5202767, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "6e74ee42d9e812f34af042071a77efd9", "sha256": "6bda5fecffd06404c5750e85f120d746b585d9debef43889cec178b4c6c4481c" }, "downloads": -1, "filename": "autodepgraph-0.2.tar.gz", "has_sig": false, "md5_digest": "6e74ee42d9e812f34af042071a77efd9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9699, "upload_time": "2018-05-18T13:36:00", "url": "https://files.pythonhosted.org/packages/c1/e3/a3fe25690c639bd440aa6719e6f89de2d3bbd9d89fd002b149ddd049f91a/autodepgraph-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "a2454e9b00b62708e74cb2d17ca0c015", "sha256": "5bd6cd17adc92b8da7737a4d9bad39f66c1a3fe499d0d8a82d207ba3fbf033f2" }, "downloads": -1, "filename": "autodepgraph-0.3.tar.gz", "has_sig": false, "md5_digest": "a2454e9b00b62708e74cb2d17ca0c015", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14305, "upload_time": "2018-05-18T13:47:32", "url": "https://files.pythonhosted.org/packages/03/65/facc7a901d64df59adbbfd7bad7bc6dcfe323d53d9c0d14be92cabe98159/autodepgraph-0.3.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "66e4d8386b7f941ce02c79d96c08f803", "sha256": "8d1a9dbcbd72f708ded38260b19ce8bcededb360ab48b47e346a04cbe3a15765" }, "downloads": -1, "filename": "autodepgraph-0.3.2.tar.gz", "has_sig": false, "md5_digest": "66e4d8386b7f941ce02c79d96c08f803", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8873, "upload_time": "2018-10-30T14:37:41", "url": "https://files.pythonhosted.org/packages/dc/37/bc645000b8b5d294d624ca8d398e9659210ecb76c6c806e42fd74f61fbda/autodepgraph-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "04838f3bc333e1a4607cc4bc71929fe1", "sha256": "bd28c7a7f7abd03289d391a46a900526514d8e359a00ddb1f1efc1f33a101318" }, "downloads": -1, "filename": "autodepgraph-0.3.3.tar.gz", "has_sig": false, "md5_digest": "04838f3bc333e1a4607cc4bc71929fe1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9092, "upload_time": "2019-04-29T11:15:24", "url": "https://files.pythonhosted.org/packages/69/70/10004146229cd19a65d9a0a425cf4c1782a4c6d2625925084e9b6ad46429/autodepgraph-0.3.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "04838f3bc333e1a4607cc4bc71929fe1", "sha256": "bd28c7a7f7abd03289d391a46a900526514d8e359a00ddb1f1efc1f33a101318" }, "downloads": -1, "filename": "autodepgraph-0.3.3.tar.gz", "has_sig": false, "md5_digest": "04838f3bc333e1a4607cc4bc71929fe1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9092, "upload_time": "2019-04-29T11:15:24", "url": "https://files.pythonhosted.org/packages/69/70/10004146229cd19a65d9a0a425cf4c1782a4c6d2625925084e9b6ad46429/autodepgraph-0.3.3.tar.gz" } ] }