Skip to main content

ArC TWO Control Panel

Project description

ArC TWO™ Control Panel

This is the frontend application for ArC TWO. It exposes functionality mostly related to crossbar configurations and provides a set of predefined experiments suitable for general and (P/R/FE)RAM devices characterisation.

Instructions

Installation

If you have a recent Python installer, stable ArC2Control versions are available from PyPI:

pip install arc2control

You can then run ArC2Control with:

python -m arc2control

Additionally, installers for Windows and AppImages for Linux are made periodically available from our releases page.

If you have git installed, you can also try out the latest development snapshot:

pip install git+https://github.com/arc-instruments/arc2control

Development

To develop on ArC2Control itself the recommended way to get started is by using a virtual environment. ArC2Control uses poetry to manage virtual environments. You might want to use a development version of pyarc2 as well although that's optional. We try to depend only on stable pre-built versions of pyarc2 but that's not guaranteed.

  • [Optional] You will need a functional Rust toolchain.
  • You will need a relatively new Python (≥ 3.8) and also have poetry installed (python -m pip install poetry). Pip must also be updated to at least version 20.x.
  • Clone this repository and descend into it.
  • Initialise the virtual environment: python -m poetry install. This only needs to be done once.
  • [Optional] Update pyarc2 to the latest development snapshot which can easily be done with the included script poetry run python venv-pyarc2-update.py git+https://github.com/arc-instruments/pyarc2. This will download pyarc2 via git, build it and install it into the virtualenv.
  • Run the setup script poetry run python setup.py build.
  • Run ArC2Control poetry run python -m arc2control.

Custom modules

ArC2Control can be extended with custom experiment panels. An ArC2Control experiment module is a standalone Python module that includes the following in its __init__.py.

MOD_NAME = 'ModuleName'
MOD_DESCRIPTION = 'Description of said module'
MOD_TAG = 'MN' # a shorthand tag for the module
BUILT_IN = False

from .module import MainModule
# MainModule must derive from arc2control.modules.base.BaseModule`
ENTRY_POINT = MainModule

The built-in experiment modules are also built with the same infrastructure so they can be used as a scaffold to build your own.

I have a question

Feel free to make a new topic under Discussions. This should be your first stop for support unless you are somewhat certain you run into a bug (which is very possible at this stage). In that case…

I found a bug!

If ArC2Control does not behave as you would expect please open an issue describing the problem and how to reproduce it. Don't forget to mention the operating system you are running on!

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

arc2control-0.1.0.tar.gz (101.6 kB view details)

Uploaded Source

Built Distribution

arc2control-0.1.0-py3-none-any.whl (121.4 kB view details)

Uploaded Python 3

File details

Details for the file arc2control-0.1.0.tar.gz.

File metadata

  • Download URL: arc2control-0.1.0.tar.gz
  • Upload date:
  • Size: 101.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for arc2control-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8dfdf61a2383e54c031849ad8f179e0e977703d7a19358e01180dd024ce06657
MD5 3c19cf618ab1180d4d4ae014471625df
BLAKE2b-256 cd582c78db831e54f9c41793d101e8d70f54d9e1938619e694195da68b94e5e1

See more details on using hashes here.

File details

Details for the file arc2control-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: arc2control-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 121.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for arc2control-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6a4c5c6831be82f0a940fc418262af3b92aa178ce1c4f5428fb83c5178999e63
MD5 89484313b15cae6bef64837d7816cd8a
BLAKE2b-256 bc991fcae2806282e71be4bee462455481c6a5508f93fc9a22066f6e4b0e7e5f

See more details on using hashes here.

Supported by

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