Skip to main content

Magpylib Studio

Build and explore magpylib magnet designs visually — in VS Code, in a notebook, or in code. Name the numbers that matter, drag a slider, and the whole design follows, with the field computed exactly in milliseconds.

The Halbach rings of the marimo example in VS Code, half in the light theme and half in the dark: the objects and the steps that built them, the variables with their sliders, the 3D view with the field lines flowing through the bore, and the scene as code in the script tab.

The Halbach rings from examples/marimo_demo.py: two rings of twelve magnets, each ring one magnet and one pattern, and the field's lines flowing through the bore. Drag n and both rings rebuild.

What you can do

  • Build a scene by hand. Add magnets, currents and sensors, group them, and move, turn and resize them in the 3D view.
  • Make it parametric. Name the numbers that matter — radius, gap, n — and write positions and sizes in terms of them. Drag a slider and everything follows. Values are SI unless you type a unit — 15 mm, 2 cm, 800 mT — or show the whole scene in mm and mT.
  • Pattern, don't copy. A ring of twenty magnets is one magnet and one "repeat around an axis" step, so changing the magnet changes them all.
  • See the field. Along a sensor path, as a map over a plane, or swept against a variable.
  • Undo anything. Every scene keeps the steps that built it; step back through them, or change an early one.
  • Switch to code and back. The script tab shows the scene as Python and applies your edits when you save. Export plain magpylib for anyone, or the scene as code to keep.
  • Let an AI assistant help. A coding agent can write the scene in code, read its field and sweep its variables, and hand it to you to open in the studio (see below).

Get started in VS Code

  1. Install the extension: search for Magpylib Studio in the Extensions view, or run code --install-extension magpylib.magpylib-studio-vscode.
  2. Open a folder, click the magpylib icon in the Activity Bar, and choose Load Example Scene.
  3. The first time, it offers to Install the Engine (the Python side) for you. Nothing to set up beforehand.

More in the extension's guide.

Use it in a notebook

The same 3D view, in Jupyter, marimo, VS Code notebooks or Colab:

pip install "magpylib-studio[widget]"
import magpylib as magpy
from magpylib_studio.widget import SceneWidget

cube = magpy.magnet.Cuboid(polarization=(0, 0, 1), dimension=(0.01, 0.01, 0.01))
SceneWidget(cube)  # look around it; the pencil in its corner edits it
SceneWidget(cube, editable=True)  # or move, turn and resize it from the start

More in the notebook guide.

Write a scene in code

A scene is a plain magpylib function whose parameters are the variables:

from typing import Annotated

import magpylib as magpy
from magpylib_studio import Count, Length, duplicate_around, scene
from magpylib_studio.widget import SceneWidget


@scene
def ring(
    n: Annotated[int, Count(2, 60, slider=(4, 20))] = 10,
    radius: Annotated[float, Length(0.005, 0.08)] = 0.023,
):
    group = magpy.Collection(style_label="Ring")
    magnet = magpy.magnet.Cuboid(
        dimension=(0.01, 0.01, 0.01), polarization=(1, 0, 0), position=(radius, 0, 0)
    )
    group.add(magnet)
    duplicate_around(magnet, count=n, axis="z", spin=360 / n)
    return group


ring(n=12).getB((0, 0, 0))  # plain magpylib: real objects, a real field
ring.build().save(
    "ring.magpy.json"
)  # the document: n and radius are sliders in the studio
SceneWidget(ring, editable=True)  # the scene in a notebook, a slider per parameter

Called, it is magpylib. Built, it is the studio's document, every parameter a slider. More in the guide, and a complete example in examples/scene_demo.py.

Let a coding agent write it

The package carries an Agent Skill that teaches coding agents — Claude Code, Codex, Copilot and others — to write scenes as such functions, read the field and sweep a variable, and hand you the result to open in the studio. In a project that depends on magpylib-studio:

uvx library-skills  # pick magpylib-studio; for Claude Code, install into .claude/skills

Install the Python package only

pip install magpylib-studio

Python 3.11 or newer, and magpylib 6.

Learn more

If you want to… Read
use the VS Code extension the extension's guide
use the 3D view in a notebook docs/guide/notebook.md
write scenes in code the guide
know how it works inside docs/architecture.md
contribute CONTRIBUTING.md
see where the project is going docs/roadmap.md
see what was decided, and why docs/decisions.md

License

BSD-3-Clause, like the other packages built on magpylib. See LICENSE.

Metadata

Release files for magpylib-studio 0.7.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for magpylib-studio 0.7.2
File Size Uploaded Provenance
magpylib_studio-0.7.2.tar.gz 3.4 MB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for magpylib-studio 0.7.2
File Interpreter ABI Platform
magpylib_studio-0.7.2-py3-none-any.whl Python 3 none any Details

Total release size: 3.9 MB

Release files / magpylib_studio-0.7.2.tar.gz

Download URL magpylib_studio-0.7.2.tar.gz
Size 3.4 MB
Tags Source
SHA-256 checksum
How to use checksums
cd1f37628785c97245cec10ebd7bb358336de62a7d95880689ae548b151d9323
BLAKE2b-256 checksum
How to use checksums
aa29351ab5089c748c3a704aa4967b3750c38e728c6f0f5e15ad5e76d4ae72b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

Release files / magpylib_studio-0.7.2-py3-none-any.whl

Download URL magpylib_studio-0.7.2-py3-none-any.whl
Size 590.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
450075ce720f90e905e14fdd68605aebe8a424c9e22c83c398e2b7ebfbe79bd3
BLAKE2b-256 checksum
How to use checksums
dcf472dc1d271d12abf37dabf4071528a58d57511a6d5d77203c52a619c22814
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

Security for magpylib-studio 0.7.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for magpylib_studio-0.7.2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page