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.2.1.tar.gz (792.6 kB view details)

Uploaded Source

Built Distribution

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

scopefoundry-2.2.1-py3-none-any.whl (834.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: scopefoundry-2.2.1.tar.gz
  • Upload date:
  • Size: 792.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.2.1.tar.gz
Algorithm Hash digest
SHA256 a287ddfcb87e8e5bfb126bbe15786c8096c9cae9b3d0c2fe54deb53d57136c88
MD5 78d5d4d551582f3822ea5fb9cff1152b
BLAKE2b-256 68d67d4704d0788925b7b9ed9bec666284be77988ed28b770e33c07616f07635

See more details on using hashes here.

Provenance

The following attestation bundles were made for scopefoundry-2.2.1.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.2.1-py3-none-any.whl.

File metadata

  • Download URL: scopefoundry-2.2.1-py3-none-any.whl
  • Upload date:
  • Size: 834.4 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.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b80c3d52176a19ff44cdfeeb69fb933c56a97fcba0f65ee9446d0c899a6f396c
MD5 6800c7e827bddffe503c8e5abddc6d09
BLAKE2b-256 fada9c5ff0bebba6b1fafcc6095a58f4fc3b3b34b03b4c41dd20c9f6632f3183

See more details on using hashes here.

Provenance

The following attestation bundles were made for scopefoundry-2.2.1-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 Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page