factcircuit
FactCircuit는 불변 출처와 단계별 검증, 제한된 검색, 재현 가능한 평가를 제공하는 감사 가능한 주장·증거 검증 루프입니다
SciQLop Windows 설치 파일·macOS Apple Silicon·Linux AppImage 등 다양한 플랫폼용 다운로드 제공
Download SciQLop Windows Installer .exe · x64 Online installer .exe · x64, small download macOS Apple Silicon .dmg · M1 and later Intel .dmg · x86_64 Linux AppImage x86_64, no install needed Latest re
데이터Python · Jupyter NotebookGitHub @SciQLop온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
SciQLop is an ergonomic and efficient application to browse and label in situ plasma measurements from multi-mission satellite data.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
SciQLop — the in-situ space physics IDE
SciQLop (SCIentific Qt application for Learning from Observations of Plasmas) is a powerful and
user-friendly tool designed for the visualization and analysis of in-situ space plasma data: browse, plot, label,
script, and extend — all in one tool.README 전문 보기 ↗SciQLop (SCIentific Qt application for Learning from Observations of Plasmas) is a powerful and user-friendly tool designed for the visualization and analysis of in-situ space plasma data: browse, plot, label, script, and extend — all in one tool.
Using SciQLop will let you:
Heliophysicists now benefit from decades of space exploration through many spacecraft missions. Exploring this massive amount of data to find events of interest, build catalogs, and conduct statistical multi-mission data analysis can be a daunting task without the right tool.
SciQLop aims at being this tool! A simple lightweight yet powerful graphical interface coupled to the limitless options brought by the Jupyter notebook integration, that focuses on providing users with the easiest possible way to explore, label and analyze huge amounts of data. SciQLop is also the right tool for teaching space physics and in-situ spacecraft data handling to students effortlessly — a built-in guided tour walks new users through their first plot.
Grab a ready-to-run build from the latest release page:
See How to Install SciQLop for details.
SciQLop can handle millions of data points without compromising on interactivity. Users can scroll, zoom, move, and export plots with ease.
Accessing data in SciQLop is as simple as a drag and drop from the tens of thousands of products readily available. New empty panels show a built-in search overlay where you can type to find any product instantly, or drop one from the product tree. The sidebar smart search goes further: it combines full-text and semantic ranking, so "magnetic field mms burst" finds the right products even when your words don't match the catalog naming exactly.
SciQLop embeds a full IPython kernel and can launch a JupyterLab server connected to it. Create and manipulate plots, define virtual products, and manage catalogs directly from your notebooks. Dedicated IPython magics make common operations one-liners:
%plot <product> — fuzzy-search and plot any product%%vp — define a virtual product from a cell function%timerange — get or set the time range of a panel%install <packages> — install packages into the workspace venv%workspace — inspect and manage the current workspace%job — submit, inspect, and cancel background jobsSciQLop provides a powerful catalog system for labeling and browsing events in your data:
catalogs.list(), catalogs.get(), catalogs.create(), catalogs.save(),
catalogs.add_events(), catalogs.remove_events()Multiple users can co-edit catalogs in real time via cocat (CRDT-based synchronization over WebSocket). Create, edit and delete events simultaneously — all changes are merged conflict-free across all connected clients.
SciQLop ships an agent chat dock with pluggable AI backends — Claude Code, GitHub Copilot, OpenCode, and Albert — installable from the App Store. The assistant has access to dedicated tools: it can plot products, fetch and describe data, run notebook cells, and inspect your workspace, all under your control.
Press Ctrl+K (Cmd+K on macOS) to open the command palette. It fuzzy-searches all available actions and supports multi-step argument chains (e.g., select "Plot product" then pick the product). An LRU history boosts your most-used commands.
SciQLop organizes your work into workspaces, each with its own isolated Python environment (managed by
uv), installed packages, enabled plugins, and examples. Workspaces are described
by .sciqlop TOML manifests and managed from the welcome page.
Browse and install community plugins directly from within SciQLop. The built-in App Store fetches a live registry, shows descriptions, tags, and GitHub stars, and handles installation and updates via uv. Plugins are hot-loaded into the running application without restart.
Define custom products with simple Python functions. Virtual products behave exactly like built-in products — they
respond to scroll and zoom with on-the-fly computation. The %%vp cell magic lets you define them right from a
notebook cell with type annotations for automatic axis configuration.
import numpy as np
from SciQLop.user_api.virtual_products import create_virtual_product, VirtualProductType
import speasy as spz
def ace_b_magnitude(start: float, stop: float) -> spz.SpeasyVariable:
b_gse = spz.get_data(spz.inventories.tree.amda.Parameters.ACE.MFI.ace_imf_all.imf, start, stop)
return np.sqrt(b_gse["bx"] ** 2 + b_gse["by"] ** 2 + b_gse["bz"] ** 2)
ace_b_magnitude_virtual_prod = create_virtual_product(
path='my_virtual_products/ace_b_magnitude',
product_type=VirtualProductType.Scalar,
callback=ace_b_magnitude,
labels=["|b|"]
)
Save and restore complete plot layouts (time range, products, axis settings, markers) as templates. Templates are stored as YAML files and can be shared, imported, or instantiated from the welcome page with one click.
SciQLop ships with four built-in palettes (light, dark, neutral, space) that can be switched at runtime from the settings panel. Icons automatically adapt to the current background color.
SciQLop registers as a speasy plot backend, so calling speasy.plot() from
any notebook renders directly into SciQLop panels.
Download the installer from the latest release page and run it.
Since SciQLop 0.7.1 we produce a Mac App Bundle that you can download from the latest release page — pick the right architecture for your Mac (ARM64 for Apple M1/2/3/4 chips and x86_64 for Intel).
Download the AppImage from the latest release and run it (after making it executable).
A Flatpak manifest is also maintained (not yet published on Flathub).
The installers and AppImages above are the recommended way to use SciQLop. If you want to work on SciQLop itself, clone the repository and run it with uv, which handles the virtualenv and dependencies automatically:
git clone https://github.com/SciQLop/SciQLop
cd SciQLop
uv run sciqlop
SciQLop has a public API that allows users to create custom products and plots from the embedded Jupyter console or any connected notebook.
from SciQLop.user_api import TimeRange
from SciQLop.user_api.plot import create_plot_panel
from datetime import datetime
# all plots are stacked
p = create_plot_panel()
p.time_range = TimeRange(datetime(2015, 10, 22, 6, 4, 30), datetime(2015, 10, 22, 6, 6, 0))
p.plot("speasy/cda/MMS/MMS1/FGM/MMS1_FGM_BRST_L2/mms1_fgm_b_gsm_brst_l2")
p.plot("speasy/cda/MMS/MMS1/DIS/MMS1_FPI_BRST_L2_DIS_MOMS/mms1_dis_bulkv_gse_brst")
p.plot("speasy/cda/MMS/MMS1/DIS/MMS1_FPI_BRST_L2_DIS_MOMS/mms1_dis_energyspectr_omni_brst")
# tha_peif_sc_pot and tha_peif_en_eflux will share the same plot
p2 = create_plot_panel()
p2.plot("speasy/cda/THEMIS/THA/L2/THA_L2_ESA/tha_peif_en_eflux")
p2.plots[0].plot("speasy/cda/THEMIS/THA/L2/THA_L2_ESA/tha_peif_sc_pot")
p2.plot("speasy/cda/THEMIS/THA/L2/THA_L2_ESA/tha_peif_velocity_dsl")
NOTE: An easy way to get product paths is to drag a product from the Products Tree to any text zone or even your Python terminal.
# Plot a product by fuzzy name
%plot mms1_fgm_b_gsm_brst
# Define a virtual product from a cell
%%vp --path my_products/b_magnitude
def b_mag(start: float, stop: float) -> "Scalar":
import speasy as spz
import numpy as np
b = spz.get_data("amda/imf", start, stop)
return np.sqrt(b["bx"]**2 + b["by"]**2 + b["bz"]**2)
from datetime import datetime, timezone
from SciQLop.user_api.catalogs import catalogs
# Create a new catalog with events
catalogs.create("My Catalogs//my_events", [
(datetime(2015, 10, 22, 6, 0, tzinfo=timezone.utc),
datetime(2015, 10, 22, 7, 0, tzinfo=timezone.utc),
{"type": "magnetopause_crossing"}),
])
# List all catalogs
for c in catalogs.list():
print(c)
# Get the catalog back
cat = catalogs.get("My Catalogs//my_events")
More examples can be found in the examples folder — they are also available from the welcome screen.
SciQLop is built on top of several libraries developed within the SciQLop GitHub organization:
SciQLop
├── SciQLopPlots — Scientific plotting widgets with Python bindings
│ └── NeoQCP — C++ Qt6 rendering engine (QCustomPlot fork)
├── Speasy — Space physics data access (AMDA, CDAWeb, CSA, SSCWeb)
│ ├── CDFpp — High-performance CDF file reader (C++)
│ ├── SciQLop-cache — High-performance caching backend
│ └── speasy_proxy — Caching proxy server for shared Speasy data access
├── cocat — Collaborative catalogs via CRDT
├── tscat — Time series catalog Python library
└── tscat_gui — Qt GUI components for tscat catalogs
| Repository | Description | Language |
|---|---|---|
| SciQLopPlots | High-level plotting widgets with Shiboken6/PySide6 bindings | C++/Python |
| NeoQCP | Low-level rendering engine, QCustomPlot fork with QRhi GPU backend | C++ |
| Speasy | Unified access to space physics data archives | Python |
| CDFpp | Fast CDF (Common Data Format) reader/writer | C++ |
| SciQLop-cache | High-performance caching layer for data requests | C++/Python |
| speasy_proxy | Caching proxy server for shared Speasy data access | Python |
| cocat | Collaborative catalog editing via CRDT/WebSocket | Python |
| tscat | Time series catalog library (events, catalogs, attributes) | Python |
| tscat_gui | Qt GUI components for browsing and editing tscat catalogs | Python |
If you use SciQLop in your research, please cite it via its Zenodo DOI (10.5281/zenodo.7379012, covering all versions):
@software{sciqlop,
author = {Jeandet, Alexis and Aunai, Nicolas and Renard, Benjamin and Génot, Vincent and André, Nicolas},
title = {SciQLop},
publisher = {Zenodo},
doi = {10.5281/zenodo.7379012},
url = {https://doi.org/10.5281/zenodo.7379012}
}
Citation metadata is also available in CITATION.cff (GitHub's "Cite this repository" button).
Fork the repository, make your changes and submit a pull request. We will be happy to review and merge your changes. Reports of bugs and feature requests are also welcome. Do not forget to star the project if you like it!
SciQLop is free software, released under the GNU General Public License v3.0.
The development of SciQLop is supported by the CDPP. We acknowledge support from the federation Plas@Par
We would like to thank the developers of the following libraries that SciQLop depends on: