a platform for laboratory equipment control and scientific data analysis
Project description
ScopeFoundry
A Python platform for controlling custom laboratory experiments.
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
-
Download and install the Miniconda Python distribution.
-
Create an environment with the required dependencies. In the
anaconda(3) prompt
, run:conda create -n scopefoundry python=3.13
conda activate scopefoundry
-
To install
scopefoundry
:pip install pyqt6 qtconsole pyqtdarktheme matplotlib scopefoundry
qtconsole
,matplotlib
, andpyqtdarktheme
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
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:
- Installation as above (although
scopefoundry
does not need to be pip-installed). - 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 |
2bd6a398e292b83a063cbeb453199870490263811e2b6f870310cf91b4119924
|
|
MD5 |
56c0a2b8fa4f6595b7250fba6ee261b4
|
|
BLAKE2b-256 |
fa82852dd8d6034c0ca5d83f07ad580bb34b5e1ed74ac8537be49e91c6a1c78c
|
Provenance
The following attestation bundles were made for scopefoundry-2.1.0.tar.gz
:
Publisher:
publish-to-pypi.yml
on ScopeFoundry/ScopeFoundry
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1
-
Predicate type:
https://docs.pypi.org/attestations/publish/v1
-
Subject name:
scopefoundry-2.1.0.tar.gz
-
Subject digest:
2bd6a398e292b83a063cbeb453199870490263811e2b6f870310cf91b4119924
- Sigstore transparency entry: 265655885
- Sigstore integration time:
-
Permalink:
ScopeFoundry/ScopeFoundry@14606d6a8529ea358b00a1bb14a9e0e750fcc72b
-
Branch / Tag:
refs/tags/v2.1.0
- Owner: https://github.com/ScopeFoundry
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com
-
Runner Environment:
github-hosted
-
Publication workflow:
publish-to-pypi.yml@14606d6a8529ea358b00a1bb14a9e0e750fcc72b
-
Trigger Event:
workflow_dispatch
-
Statement type:
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
Algorithm | Hash digest | |
---|---|---|
SHA256 |
6f0e998e4809b95b7dddc0eec35d1bc784289058ef8d452ab8c9176ef94c19af
|
|
MD5 |
814193403757604c55c7c1b4c69ee6d5
|
|
BLAKE2b-256 |
48de02e90aefe85783b7c74a928a9c839e315c0ba29c6314900c2025ce70f984
|
Provenance
The following attestation bundles were made for scopefoundry-2.1.0-py3-none-any.whl
:
Publisher:
publish-to-pypi.yml
on ScopeFoundry/ScopeFoundry
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1
-
Predicate type:
https://docs.pypi.org/attestations/publish/v1
-
Subject name:
scopefoundry-2.1.0-py3-none-any.whl
-
Subject digest:
6f0e998e4809b95b7dddc0eec35d1bc784289058ef8d452ab8c9176ef94c19af
- Sigstore transparency entry: 265655892
- Sigstore integration time:
-
Permalink:
ScopeFoundry/ScopeFoundry@14606d6a8529ea358b00a1bb14a9e0e750fcc72b
-
Branch / Tag:
refs/tags/v2.1.0
- Owner: https://github.com/ScopeFoundry
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com
-
Runner Environment:
github-hosted
-
Publication workflow:
publish-to-pypi.yml@14606d6a8529ea358b00a1bb14a9e0e750fcc72b
-
Trigger Event:
workflow_dispatch
-
Statement type: