Skip to main content

Applications for high magnetic field analysis

Project description

pymagnetos

Latest Release PyPI Documentation Pipeline Coverage

Collection of Python tools for high magnetic field experiments analysis.

It provides libraries and apps to analyse data acquired at the LNCMI in Toulouse.

Currently available apps :

  • linx : digital lock-in
  • pyuson : for ultrasound experiments
  • pytdo : for TDO experiments

Those are also available as a library that can be used within custom Python scripts. They use a common framework that can also be used to build other experiment-specific app.

The documention is hosted here.

Installation

For more detailed instructions, see the installation instructions.

Method 1 : as an app

If you plan to just use the graphical user interfaces, consider installing pymagnetos as a tool managed by uv, a modern Python package manager, that will install the required Python version and dependencies.

Method 1 : Click to see instructions
  1. Install uv (see their official installation instructions) :
    • On Windows, enter the following command in PowerShell :
    powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
    
    • On Linux and MacOS, enter the following in a shell :
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  2. From a shell (PowerShell in Windows), install pymagnetos globally :
    uv tool install pymagnetos
    

pymagnetos is now installed along its dependencies in an isolated environment with no risks to mess up with your current tools and Python versions. Its main command, pymagnetos, is made available from any shell.

Update

To upgrade to the latest version, run :

uv tool upgrade pymagnetos

Method 2 : as a library

Installing pymagnetos as a library will allow you to use it from scripts and Jupyter notebooks (e.g. you will be able to import it with import pymagnetos).

Method 2 : Click to see instructions

From a virtual environment with Python>=3.11, install pymagnetos from PyPI :

pip install pymagnetos

If you plan to use Jupyter notebooks, install pymagnetos with the Jupyter dependencies instead :

pip install pymagnetos[jupyter]

Update

To upgrade to the latest version, run, from the virtual environment :

pip install --upgrade pymagnetos

Usage

All apps and the corresponding backend libraries require a configuration file. Grab a configuration file template from the configs folder, edit it according to your settings (essentially the path to the data directory) and drag & drop in the app window.

Run an app

Once installed, the pymagnetos command should be available from the shell (PowerShell in Windows). You can check its usage with : pymagnetos --help

Which comes down to :

  • Run the app for digital lock-in : pymagnetos linx
  • Run the app for ultrasound experiments : pymagnetos pyuson
  • Run the app for TDO experiments : pymagnetos pytdo

Tip : hit the top arrow on the keyboard to show previous commands you ran.

You can then drag & drop your configuration file in the window and click some buttons !

Use in a script

Subpackages (e.g. pyuson or pytdo) can be imported in Python scripts or Jupyter notebooks. There are some examples in the examples folder. You can copy them and edit them according to your need.

To run the examples, matplotlib is required to display the figures. Install it with :

pip install matplotlib

To open and run the notebooks (file with the .ipynb extension), the Jupyter package needs to be installed, along with a package to make the figures interactive. If pymagnetos was installed with the [jupyter] extra, they are already installed. Otherwise, install those packages with :

pip install jupyter matplotlib ipympl

To open a Jupyter notebook, open the Jupyter Lab web interface :

jupyter lab

Then, browse to your .ipynb file and run it ! Alternatively, Visual Studio Code supports Jupyter notebooks natively through the Jupyter extension.

Acknowledgments

pymagnetos is developed in the Laboratoire National des Champs Magnétiques Intenses (LNCMI) in Toulouse, France, with the support of the OSCARS HiMagnetOS project.

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

pymagnetos-0.10b3.tar.gz (120.2 kB view details)

Uploaded Source

Built Distribution

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

pymagnetos-0.10b3-py3-none-any.whl (145.8 kB view details)

Uploaded Python 3

File details

Details for the file pymagnetos-0.10b3.tar.gz.

File metadata

  • Download URL: pymagnetos-0.10b3.tar.gz
  • Upload date:
  • Size: 120.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pymagnetos-0.10b3.tar.gz
Algorithm Hash digest
SHA256 6fa44646ad6b36fcca8e5703ec2f7b739bc00cc9a66139a715195f7065fd81d3
MD5 ee0a5e756e1c683256b066ee78583430
BLAKE2b-256 2d90a73b9d477c434c84ba69e88bfef480de5d69a324d2890ca8e2158f895e9a

See more details on using hashes here.

File details

Details for the file pymagnetos-0.10b3-py3-none-any.whl.

File metadata

  • Download URL: pymagnetos-0.10b3-py3-none-any.whl
  • Upload date:
  • Size: 145.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pymagnetos-0.10b3-py3-none-any.whl
Algorithm Hash digest
SHA256 e5dc952267a017bdb5b9419cfef6d752c9f3bc9c2098791f303c5522254747c6
MD5 d7aa52f511545db0f552f441ae3416c4
BLAKE2b-256 132b16410d64a5f43d72e47fef6aec2f1a6c3a58d74d4faa76f5e75c4b243944

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