Skip to main content

A PyQt5-based GUI client for Tiled

Project description

Tiled Qt

A modern desktop GUI client for the Tiled scientific data service, built with PyQt5 and Matplotlib.

Features

  • Connect to any Tiled server (public demo, local, or institutional).
  • Browse the data tree with lazy-loading and efficient pagination.
  • Metadata Viewer: Inspect nested metadata in a hierarchical tree view.
  • Array Visualization: Plot 1D arrays, 2D images, and 3D slices with Matplotlib.
  • Table Viewer: Browse DataFrames with a scrollable grid view, optimized for large datasets.
  • Advanced Search: Query metadata using Key-Value pairs, Full Text, and Regex.
  • Export: Save data and containers to HDF5, CSV, Excel, Parquet, PNG, TIFF, NumPy, and more.
  • Dynamic Format Discovery: Export options are automatically filtered based on what the Tiled server supports for each specific item.
  • On-Demand Loading: Fetch data only when needed, with support for remote slicing.
  • Navigation: Full history support (Back/Forward) and breadcrumb navigation.
  • Security: Safe slice parsing (no eval) and non-interactive authentication.

Installation

Using Pixi (Recommended)

If you have Pixi installed, you can run the application directly:

pixi run tiled-qt

To run in debug mode:

pixi run tiled-qt debug

Using Pip

You can install the package in editable mode from the source:

pip install -e .

This will provide the tiled-qt command in your environment.

Using Rattler (Conda/Conda-forge)

The project includes a recipe.yaml for building a conda package using rattler-build:

rattler-build build --recipe recipe.yaml --target-platform linux-64

Usage

After installation, simply run:

tiled-qt

Quick Start

  1. Connect: Click ⚡ Connect or press Ctrl+K.
  2. Select Server: Use the NSLS-II Demo preset or enter your server URL.
  3. Browse: Navigate the tree on the left. Containers load children lazily.
  4. Inspect: Click an item to view its metadata and basic information.
  5. Visualize: Click Load Data or Load Table to fetch and display the data.
  6. Slicing: For large arrays, enter a slice (e.g., 0, :, :) before loading.
  7. Export: Right-click on a tree node or use the Export button in viewers. The available formats (HDF5, CSV, PNG, etc.) are dynamically discovered from the server.
  8. Search: Use the Search tab to find specific data by metadata.

Development

The project is structured as a modular Python package:

  • src/tiled_qt/app.py: Main application window and logic.
  • src/tiled_qt/widgets/: Specialized UI components (Viewers, Search, etc.).
  • src/tiled_qt/styles.py: UI styling and themes.
  • src/tiled_qt/utils.py: Logging and helper functions.

Running with a package manager

# Using Pixi
pixi run tiled-qt

# Using standard Python
python3 -m tiled_qt

Demo Server

You can test the application using the NSLS-II public demo server: https://tiled-demo.nsls2.bnl.gov (No login required).

License

This project is licensed under the BSD 3-Clause License.

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

tiled_qt-0.2.1.tar.gz (28.1 kB view details)

Uploaded Source

Built Distribution

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

tiled_qt-0.2.1-py3-none-any.whl (30.4 kB view details)

Uploaded Python 3

File details

Details for the file tiled_qt-0.2.1.tar.gz.

File metadata

  • Download URL: tiled_qt-0.2.1.tar.gz
  • Upload date:
  • Size: 28.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for tiled_qt-0.2.1.tar.gz
Algorithm Hash digest
SHA256 4fd898e18a190d77daa6e80a4e00d1f783616cad561be22ca62dceadb2d42247
MD5 d89abb7a83f208ddc0902ebbf8e3b556
BLAKE2b-256 dea9fb191fa64a8e704906484d0a2039dd8c1504db98ba64ee04a2b8311dfb7d

See more details on using hashes here.

File details

Details for the file tiled_qt-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: tiled_qt-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 30.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for tiled_qt-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 630b2a4d542cb2fbae6fdfcebd3f9ec12bef285b10ecc58dfceffd66c2d4d5f1
MD5 3213ab3cbc20ababcdd8d49f47aa9349
BLAKE2b-256 1cb66eb469e2d1c45edc9b49f94d480a105962bf1fbb289107b78f451dba6f8d

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