Skip to main content

FLITS

Docs PyPI Python Tests Install License: GPLv3

Fast-Look Interactive Transient Suite.

FLITS is browser-based FRB analysis software for interactive burst inspection, masking, measurement, DM optimization, temporal/spectral diagnostics, and export. It reads SIGPROC filterbank (.fil), PSRFITS search/fold data (.fits, .sf), and CHIME/FRB HDF5 (.h5, .hdf5) including public catalog waterfalls and beamformed BBData tiedbeam_power files. The I/O layer is pluggable — third parties can register custom formats via importlib entry points without forking.

Every interactive decision is recorded in a JSON session snapshot, and flits replay re-runs that snapshot headlessly to reproduce the exported measurements without a browser.

Why FLITS exists

Turning a detected burst into a number you can defend takes several steps — tune the DM, mask interference, place the event and off-pulse windows, choose a spectral extent, then measure — and every one of them is a judgement call that moves the answer.

The tools that do these steps well do them separately. Search pipelines stop at detection; format libraries read data without offering a workflow; and the strong single-purpose tools each expect their own input conventions. So a burst campaign accumulates per-instrument glue scripts, and the decisions that produced the numbers survive only in someone's notebook.

That gets harder for repeating sources, where the same population is observed by many telescopes. FLITS was built for a repeater campaign spanning GBT at L and P band, Nançay, Westerbork, Onsala, Stockert and CHIME — three file formats, sampling times differing by more than an order of magnitude, and instruments with different bandwidths, polarization conventions and SEFDs.

FLITS makes the session, rather than the script, the unit of analysis. One interface covers every supported instrument, the reader layer absorbs the format differences, telescope presets carry the instrument-specific calibration, and the snapshot makes the analysis inspectable and replayable afterwards. Measurements state their own uncertainty basis: FLITS separates a formal 1-sigma uncertainty from a statistical-only one, and will not mark a fluence publishable when the SEFD systematic it needs was never supplied.

FLITS is not a search pipeline — it starts from a burst you already have.

Quick Start

Install the published package:

pip install flits
flits --data-dir /path/to/filterbanks --host 127.0.0.1 --port 8123

Then open http://127.0.0.1:8123.

Optional model fitting uses fitburst, which is intentionally left out of the PyPI dependency metadata because package indexes reject direct URL runtime dependencies. To enable model fitting after installing FLITS:

pip install "fitburst @ https://github.com/CHIMEFRB/fitburst/archive/3c76da8f9e3ec7bc21951ce1b4a26a0255096b69.tar.gz"

Highlights

  • Browser-based workflow for burst inspection on SIGPROC, PSRFITS, and CHIME/FRB HDF5 data.
  • CHIME support includes public catalog waterfalls and beamformed BBData power products.
  • Interactive crop, event, off-pulse, spectral-window, and masking controls.
  • Automatic burst localization in time and frequency (matched-filter event window, spectral extent, and off-pulse placement in one click).
  • Calibrated fluence and peak-flux outputs when an SEFD is available.
  • DM optimization using integrated-event S/N and DMphase.
  • Temporal-structure, PSD, ACF, and optional selected-event model fitting.
  • Weighted Q/U RM synthesis with optional RM-CLEAN, significance and quality diagnostics, and JSON/CSV products (operates on an imported, calibrated Q/U spectrum — FLITS readers deliver Stokes I).
  • Export bundles and JSON session snapshots for reproducible analysis.

Documentation

The docs cover Python installs, Docker, Apptainer, remote/HPC use, interactive workflow guidance, measurements, DM optimization, temporal/spectral analysis, exports, and release procedures.

Release Channels

  • PyPI and ghcr.io/dirkkuiper/flits:latest track stable releases.
  • ghcr.io/dirkkuiper/flits:<version> pins an exact release.
  • ghcr.io/dirkkuiper/flits:edge tracks the current main branch for snapshot testing.

Citation

If you use FLITS in research, cite the software and link to the repository:

  • PyPI package: flits
  • Repository: https://github.com/DirkKuiper/flits
  • Citation metadata: CITATION.cff

License

FLITS is released under the GNU GPLv3. See LICENSE.

The interface bundles plotly.js (MIT) so it works without fetching anything from a CDN; its licence travels with the copy in flits/web_static/vendor/.

Metadata

Release files for flits 1.0.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 flits 1.0.1
File Size Uploaded
flits-1.0.1.tar.gz 3.3 MB Details

Built distribution (wheel)

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

Total release size: 4.9 MB

Release files / flits-1.0.1.tar.gz

Download URL flits-1.0.1.tar.gz
Size 3.3 MB
Tags Source
SHA-256 checksum
How to use checksums
4290448bc8950b905d4aac57e82b086b23c8286a2cd18cf8dd4238d96cdfe548
BLAKE2b-256 checksum
How to use checksums
87860cb088b24c610edc68737c661e814d349e0f81dcb06d0cf564069e7ca5a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / flits-1.0.1-py3-none-any.whl

Download URL flits-1.0.1-py3-none-any.whl
Size 1.6 MB
Tags Python 3
SHA-256 checksum
How to use checksums
a1c55b62670bf1bede689e7e65e03c067f89d52a73f0b13ab547947cf436f59e
BLAKE2b-256 checksum
How to use checksums
135be1aedb01c91b3c797ec6b53280526ecbc86ba15287f2453a141b64b184c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release history Release notifications | RSS feed

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

This release

1.0.1 This release

2 release files

1.0.0

2 release files

0.8.0

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

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