Skip to main content

Visualizer of 3d vector field with accent of topological solitons.

Project description

TopoVec

TopoVec is a Python toolkit for constructing, analyzing, and visualizing 3D vector and director fields, with a focus on topological solitons and liquid-crystal workflows.

Quick Start

Install TopoVec into a fresh project environment:

uv init my_topovec_project
cd my_topovec_project
uv add topovec

For all optional backends:

uv add topovec --all-extras

See docs/guides/installation.md for full installation options.

Highlights

  • 3D vector-field and director-field workflows on structured grids.
  • Ansatz, coordinate-system, section, and I/O helpers for field construction.
  • Multiple rendering backends and notebook-oriented exploration workflows.
  • A dockable PySide6 desktop viewer for browsing NPZ/SAD states via topovec view.

Project Layout

  • src/topovec contains the main package, including the core abstractions, ansatz helpers, and optional backend integrations.
  • notebooks contains demo and workflow notebooks.
  • docs contains the Sphinx/MyST documentation sources and API reference.
  • tests contains regression and API-level tests.

Getting Started

Desktop Viewer

topovec view is the native desktop frontend for TopoVec. It opens .npz and .sad state files in a dockable PySide6 window with built-in topovec.mgl scenes, auto-generated property controls, Python reproduction snippets, recent-files history, and high-resolution image and video export.

Install the GUI stack together with the ModernGL backend:

uv tool install 'topovec[view]'

For a one-shot launch without a persistent install, request the same extra explicitly:

uv tool run --from 'topovec[view]' topovec view

Then launch the desktop viewer:

topovec view path/to/state.npz
topovec view path/to/trajectory.sad path/to/other_state.npz

On Linux, topovec view may show OpenGL compositing artifacts under Qt Wayland on some systems. If you see overbright or unstable rendering, prefer the X11 Qt backend:

QT_QPA_PLATFORM=xcb topovec view path/to/state.npz

Current topovec view scope:

  • One active central viewport with dockable source, property, and snippet panels.
  • Read-only browsing of NPZ and SAD states.
  • Built-in topovec.mgl scenes with auto-generated property controls.
  • High-resolution image export from the current render state.
  • Video export from trajectories using the live render session.

Documentation

The documentation sources live in docs/ and the canonical hosted target is Read the Docs.

To build the documentation locally:

uv run --extra docs --extra mgl --extra marimo --extra matplotlib --extra ti --extra sad sphinx-build -b html docs docs/_build/html

Development

Developer-oriented repository notes and common operations are documented in DEVELOPMENT.md.

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

topovec-0.1.13.tar.gz (750.7 kB view details)

Uploaded Source

Built Distribution

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

topovec-0.1.13-py3-none-any.whl (817.9 kB view details)

Uploaded Python 3

File details

Details for the file topovec-0.1.13.tar.gz.

File metadata

  • Download URL: topovec-0.1.13.tar.gz
  • Upload date:
  • Size: 750.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.18

File hashes

Hashes for topovec-0.1.13.tar.gz
Algorithm Hash digest
SHA256 c8c3a54d33e0b2923de63a838e17d1834ac1071efd46cf365da911c29b86999e
MD5 ac07ce5e619f5fa58f21e1b87bd6d97f
BLAKE2b-256 25c70b1e07101c6b4eb55aceaf739b8ce693d5364c917f45c3975320651c1e20

See more details on using hashes here.

File details

Details for the file topovec-0.1.13-py3-none-any.whl.

File metadata

  • Download URL: topovec-0.1.13-py3-none-any.whl
  • Upload date:
  • Size: 817.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.18

File hashes

Hashes for topovec-0.1.13-py3-none-any.whl
Algorithm Hash digest
SHA256 8c8a6d00f7afd97016bd69c962edaa19c71c37b16264b06395cfd8c8292f3393
MD5 3c69cd1f401f1dd24d1cd5476212264f
BLAKE2b-256 1a7ba738e2fbfecb5fe50e56bf2a416cf96708a9d73fbba90578dfcff8328583

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