A desktop editor for creating aurora unicycler based cycling protocols and exporting them as PalmSens MethodSCRIPT.
- Create a protocol with the visual builder or JSON editor.
- Aurora Unicycler validates the input and converts it to a common
CyclingProtocolmodel. - Save the editable source and normalized protocol in a
.psmethodpackage. - Export PalmSens-compatible protocols as
.mscrMethodSCRIPT files.
For more documentation and step specifications see the aurora unicycler library. Temperature steps can be saved in a package but cannot be exported to MethodSCRIPT because they require an external temperature controller implementation.
- Drag-and-drop visual editor with copying, reordering, unit conversion, imports, and loops.
- JSON protocol editing.
- Tag, open-circuit voltage, temperature, constant-current, constant-voltage, voltage-scan, impedance-spectroscopy, and loop steps.
- Open, import, and save
.psmethodpackages. - Configure the PalmSens target, sample capacity, EIS values, and additional measurements during export.
A .psmethod file is custom file format used by the application. It stores both the original editable input and the normalized Aurora protocol, so the method can be reopened in its original editor mode while other consumers use a consistent protocol representation.
Every package written by the application has these top-level fields:
| Field | Type | Description |
|---|---|---|
format |
string | Package identifier. It must be palmsens_aurora_method_package. |
name |
string | Human-readable method name shown by the editor. |
source_mode |
string | Editor used to create the method: aurora_visual or aurora_json. |
source_payload |
object or string | Original editable content. Its structure depends on source_mode, as described below. |
protocol_json |
object | Validated, normalized output from CyclingProtocol.to_dict(). This is used for MethodSCRIPT generation and by other package consumers. |
aurora_visual: an object containingglobals,record,safety, and the orderedmethodsteps. It also preserves visual-editor details such as selected display units, current input mode, and loop target mode.aurora_json: the Aurora protocol JSON exactly as text in the JSON editor.
app.pycontains the main window and file workflows.builder.pycontains the visual editor and converts its form data to protocols.methods.pyhandles protocol parsing, packages, loops, and MethodSCRIPT generation.export_dialog.pycollects and validates export settings.style.pyandwidgets.pycontain the small shared UI pieces.
Aurora Unicycler provides the protocol models, validation, JSON conversion, and PalmSens MethodSCRIPT generation used by this application.
This project currently depends on a pinned revision of the library that includes temperature steps. The dependency is installed automatically from the URL in pyproject.toml.
Python 3.10 or newer is required. From the repository root, the shortest setup is with uv:
uv run aurora-method-builderuv creates the environment and installs the dependencies automatically on the first run.
Alternatively, install it with pip:
python -m venv .venvActivate the environment:
# Linux
source .venv/bin/activate
# Windows PowerShell
.venv\Scripts\Activate.ps1Then install and run the application:
python -m pip install -e .
aurora-method-builder