Skip to main content

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.

The English Mathematical Reference and Visual Atlas defines the quantities, numerical approximations, and display parameters of the built-in scenes. Its LaTeX sources and reproducible illustrations live in tex/visualization/, with tex/visualization_reference.tex as the entry point.

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.

Metadata

Release files for topovec 0.2.1

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

Source distribution (sdist)

Source distribution for topovec 0.2.1
File Size Uploaded
topovec-0.2.1.tar.gz 879.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for topovec 0.2.1
File Interpreter ABI Platform
topovec-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 1.8 MB

Release files / topovec-0.2.1.tar.gz

Download URL topovec-0.2.1.tar.gz
Size 879.3 kB
Tags Source
SHA-256 checksum
How to use checksums
cb88527d137406906cf2a2810470957761e84f5fd8fc4c6b4574a0a0d7247a88
BLAKE2b-256 checksum
How to use checksums
0340d943884da2e52ab9649a2ff1695d5e437394b73390e22744e395e3dfad0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.21

Release files / topovec-0.2.1-py3-none-any.whl

Download URL topovec-0.2.1-py3-none-any.whl
Size 962.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a9700e575cb75718f7ba9b76323f81c69abf068b8e281373fca4e758dc9a698e
BLAKE2b-256 checksum
How to use checksums
8202371d708ff9c68c5d576ba4f92aa3168354002c584f58ef82f85961cb15f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.21

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2.0

2 release files

0.1.20

2 release files

0.1.19

2 release files

0.1.18

2 release files

0.1.17

2 release files

0.1.16

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

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