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.0

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.0
File Size Uploaded
flits-1.0.0.tar.gz 3.3 MB Details

Built distribution (wheel)

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

Total release size: 4.9 MB

Release files / flits-1.0.0.tar.gz

Download URL flits-1.0.0.tar.gz
Size 3.3 MB
Tags Source
SHA-256 checksum
How to use checksums
95d0dd29b9b717d07c1cb4bc4517ab89eda6e3e5ff7e176a46d525cd7488038b
BLAKE2b-256 checksum
How to use checksums
f6bba9a3acd7d7fb6fcd452e830f422f7c67eda636514497a9173142bc599f42
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.0-py3-none-any.whl

Download URL flits-1.0.0-py3-none-any.whl
Size 1.6 MB
Tags Python 3
SHA-256 checksum
How to use checksums
610daed81c5cb1a718175a5ea38708b9880d6cc1eb9872364499b42d61b3246f
BLAKE2b-256 checksum
How to use checksums
340fa5bbad69bbb2d12bb56678e9a6a7cb9e76ecebdf97c8d3d039bbfe61a1b5
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

1.0.1

2 release files

This release

1.0.0 This release

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