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 installed, 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 -m 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.2.0.tar.gz (113.0 kB view details)

Uploaded Source

Built Distribution

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

arc2control-0.2.0-py3-none-any.whl (139.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: arc2control-0.2.0.tar.gz
  • Upload date:
  • Size: 113.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for arc2control-0.2.0.tar.gz
Algorithm Hash digest
SHA256 32afb8ab18edae29d4bbe2d9405f51d8050615eeafe6667db58bed262764962b
MD5 fa5317b5214662a759266b5d8b18f156
BLAKE2b-256 26ba51071f1699aad294a904ac3e589461f64258155d68b6338541d7a461f550

See more details on using hashes here.

File details

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

File metadata

  • Download URL: arc2control-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 139.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for arc2control-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2e915b7e710a4e68337dbd8c2b268da8ee107e78490537d3e5b973b29c38d585
MD5 07b25642e07ce0b3f08b0d68999b194f
BLAKE2b-256 250bafaf2a947aaabfce724ee7a2ec8176204cec37173164b4727ec64a809e2a

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