Skip to main content

a platform for laboratory equipment control and scientific data analysis

Project description

ScopeFoundry

A Python platform for controlling custom laboratory experiments.

http://www.scopefoundry.org

Requirements

  • Python 3.8+ (Currently tested with 3.9, 3.10, 3.12, 3.13)
  • qtpy with any Qt-binding: PyQt6, PySide6, PyQt5, PySide
  • NumPy 1.24+
  • PyQtGraph
  • h5py

Optional:

  • qtconsole
  • pyqtdarktheme

Documentation

See http://www.scopefoundry.org

Installation

If you have all the requirements

pip install scopefoundry

From scratch

  1. Download and install the Miniconda Python distribution.

  2. Create an environment with the required dependencies. In the anaconda(3) prompt, run:

    conda create -n scopefoundry python=3.13
    
    conda activate scopefoundry
    
  3. To install scopefoundry:

    pip install pyqt6 qtconsole pyqtdarktheme matplotlib scopefoundry
    

    qtconsole, matplotlib, and pyqtdarktheme are optional.

Upgrade

# conda activate scopefoundry
pip install --upgrade scopefoundry

If you have a folder named ScopeFoundry in your_project_folder, you are a core developer and can either pull from GitHub or rename the ScopeFoundry to ScopeFoundryArchive and:

# conda activate scopefoundry
pip install scopefoundry

Getting Started

After installation, use the Anaconda prompt and make or navigate to your_project_folder, then run:

python -m ScopeFoundry.tools

This will provide tools to create an initial ScopeFoundry App along with templates to develop hardware and add measurement components.

Equivalently run:

python -m ScopeFoundry init

More details

Analyze h5 with Jupyter

With ScopeFoundry installed, you can navigate to your folder with h5 files and:

python -m ScopeFoundry ipynb

analyze_with_ipynb will generate convenience functions to load data with Python. For details see here.

Recommended Folder Structure

├── your_project_folder
   	├── ScopeFoundryHW        # Your hardware component files
   	   	├── company1_model1        # For each hardware
   	   	   	├── company1_model1_hw.py        # Define a HardwareComponent class that will be integrated
   	   	   	├── company1_model1_dev.py        # Optional: an interface class 
   	   	   	├── company1_model1_test_app.py   # A test app for quick development
   	   	   	├── company2_model4
   	   	├── **
   	├── your_fancy_microscope_app.py 			# Your actual app that you will launch
   	├── measurements/
   	   	├──your_measurement_1.py        # Measurement class 
   	├── **
   	├── ScopeFoundry        # Optional: For ScopeFoundry core developers only

For ScopeFoundry Core Developers

Follow the same steps as above and additionally:

  1. Installation as above (although scopefoundry does not need to be pip-installed).
  2. Fork the repository on GitHub and pull it into your_project_folder (see folder structure above).

Additions to ScopeFoundry are welcome. See instructions here

Maintainer

Edward S. Barnard esbarnard@lbl.gov

Contributors

  • Benedikt Ursprung
  • Nick Borys
  • Jonas Zipfel
  • Frank Ogletree
  • Clarice Aiello
  • Hao Wu
  • Alan Buckley
  • Peter Ercius
  • Mark Hager

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

scopefoundry-2.1.0.tar.gz (775.6 kB view details)

Uploaded Source

Built Distribution

scopefoundry-2.1.0-py3-none-any.whl (798.6 kB view details)

Uploaded Python 3

File details

Details for the file scopefoundry-2.1.0.tar.gz.

File metadata

  • Download URL: scopefoundry-2.1.0.tar.gz
  • Upload date:
  • Size: 775.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for scopefoundry-2.1.0.tar.gz
Algorithm Hash digest
SHA256 2bd6a398e292b83a063cbeb453199870490263811e2b6f870310cf91b4119924
MD5 56c0a2b8fa4f6595b7250fba6ee261b4
BLAKE2b-256 fa82852dd8d6034c0ca5d83f07ad580bb34b5e1ed74ac8537be49e91c6a1c78c

See more details on using hashes here.

Provenance

The following attestation bundles were made for scopefoundry-2.1.0.tar.gz:

Publisher: publish-to-pypi.yml on ScopeFoundry/ScopeFoundry

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scopefoundry-2.1.0-py3-none-any.whl.

File metadata

  • Download URL: scopefoundry-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 798.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for scopefoundry-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6f0e998e4809b95b7dddc0eec35d1bc784289058ef8d452ab8c9176ef94c19af
MD5 814193403757604c55c7c1b4c69ee6d5
BLAKE2b-256 48de02e90aefe85783b7c74a928a9c839e315c0ba29c6314900c2025ce70f984

See more details on using hashes here.

Provenance

The following attestation bundles were made for scopefoundry-2.1.0-py3-none-any.whl:

Publisher: publish-to-pypi.yml on ScopeFoundry/ScopeFoundry

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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