Skip to main content

No project description provided

Project description

PyPI discord

License DOI

Entropy

Entropy is a lab workflow managment package built for, but not limitied-to, streamlining the process of running quantum information processing experiments.

Entropy is built to solve a few major hurdles in experiment design:

  1. Building, maintaining and executing complex experiments
  2. Data collection
  3. Device management
  4. Calibration automation

To tackle these problems, Entropy is built around the central concept of a graph strucutre. The nodes of a graph give us a convenient way to brake down experiments into stages and to automate some of the tasks required in each node. For example data collection is automated, at least in part, by saving node data and code to a persistant database.

Device managment is the challange of managing the state and control of a variety of different resources. These include, but are not limited to, lab instrumnets. They can also be computational resources, software resources or others. Entropy is built with tools to save such resources to a shared database and give nodes access to the resources needed during an experiment.

Performing automatic calibration is an important reason why we built Entropy. This could be though of as the usecase most clearly benefiting from shared resources, persistant storage of different pieced of information and the graph structure. If the final node in a graph is the target experiment, then all the nodes between the root and that node are often calibration steps. The documentation section will show how this can be done.

The Entropy system is built with concrete implemnetations of the various parts (database backend, resource managment and others) but is meant to be completely customizable. Any or every part of the system can be tailored by end users.

Versioning and the Alpha release

The current release of Entropy is version 0.1.0. You can learn more about the Entropy versioning scheme in the versioning document. This means this version is a work in progress in several important ways:

  1. It is not fully tested
  2. There are important features missing, such as the results GUI which will enable visual results viewing and automatic plotting
  3. There will more than likely be breaking changes to the API for a while until we learn how things should be done.

Keep this in mind as you start your journey.

Installation

Installation is done from pypi using the following command

pip install entropylab

Testing your installation

import the library from entropylab

from entropylab import *

def my_func():
    return {'res': 1}

node1 = PyNode("first_node", my_func, output_vars={'res'})
experiment = Graph(None, {node1}, "run_a")  # No resources used here
handle = experiment.run()

Usage

See docs folder in this repository for all the dirty details.

Extensions

Entropy can and will be extended via custom extensions. An example is entropylab-qpudb, an extension built to keep track of the calibration parameters of a mutli-qubit Quantum Processing Unit (QPU). This extension is useful when writing an automatic calibration graph.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

entropylab-0.2.0a1.tar.gz (41.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

entropylab-0.2.0a1-py3-none-any.whl (51.9 kB view details)

Uploaded Python 3

File details

Details for the file entropylab-0.2.0a1.tar.gz.

File metadata

  • Download URL: entropylab-0.2.0a1.tar.gz
  • Upload date:
  • Size: 41.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for entropylab-0.2.0a1.tar.gz
Algorithm Hash digest
SHA256 aa48c860c22ec49a9e32d494b63b4086074fff60d61b619729d768f5caa3f843
MD5 6c70c8563fdfa42c58b41bd89e356317
BLAKE2b-256 93f43f0958cafaceb517b1f6820d8ad6605aa2a46822407c899bffff891f4784

See more details on using hashes here.

File details

Details for the file entropylab-0.2.0a1-py3-none-any.whl.

File metadata

  • Download URL: entropylab-0.2.0a1-py3-none-any.whl
  • Upload date:
  • Size: 51.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for entropylab-0.2.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 bc30236d0605f5814434bbce2ca669da87b8dfa129bed9999ce19487a30c84db
MD5 0bffb952815399dd6e886eac7ef622a9
BLAKE2b-256 a51ca8e9a8d9a551b3cc46a493c8e2d799d260e344d4a629fec3a10792042de8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page