Skip to main content

BTSbot Logo

arXiv arXiv arXiv

BTSbot is a multi-modal deep vision model for automating supernova identification and follow-up in the Zwicky Transient Facility (ZTF) Bright Transient Survey (BTS).

BTSbot contributed to the first supernova to be fully automatically discovered, confirmed, classified, and shared (AstroNote, press release) as well automated space-based supernova follow-up (AstroNote). See this animated walkthrough of the fully-automated BTS workflow.

Presented at the ML for Astrophysics workshop at ICML 2023 (Extended abstract)

The training set for the original production model is available on Zenodo.

Installation

Install with pip:

pip install btsbot

Usage

BTSbot models are now available on the HuggingFace Hub and can be downloaded and loaded into Python automatically. Here's how simple it is to get started:

import btsbot

# This will automatically download the model if not already present locally
model = btsbot.load_HF_model(
    architecture="convnext",  # or "maxvit"
    multi_modal=True,         # Set to False for image-only models
    pretrain="galaxyzoo"      # or "imagenet", "randinit"
)

The model object can then be used for inference. For a complete inference example, see inference_example.py which demonstrates:

  • Loading example data (triplets and metadata)
  • Running inference on batches
  • Processing predictions

Citing BTSbot

If you use or reference BTSbot please cite Rehemtulla et al. 2024 (ADS).

@ARTICLE{Rehemtulla+2024,
       author = {{Rehemtulla}, Nabeel and {Miller}, Adam A. and {Jegou Du Laz}, Theophile and {Coughlin}, Michael W. and {Fremling}, Christoffer and {Perley}, Daniel A. and {Qin}, Yu-Jing and {Sollerman}, Jesper and {Mahabal}, Ashish A. and {Laher}, Russ R. and {Riddle}, Reed and {Rusholme}, Ben and {Kulkarni}, Shrinivas R.},
        title = "{The Zwicky Transient Facility Bright Transient Survey. III. BTSbot: Automated Identification and Follow-up of Bright Transients with Deep Learning}",
      journal = {\apj},
     keywords = {Time domain astronomy, Sky surveys, Supernovae, Convolutional neural networks, 2109, 1464, 1668, 1938, Astrophysics - Instrumentation and Methods for Astrophysics},
         year = 2024,
        month = sep,
       volume = {972},
       number = {1},
          eid = {7},
        pages = {7},
          doi = {10.3847/1538-4357/ad5666},
archivePrefix = {arXiv},
       eprint = {2401.15167},
 primaryClass = {astro-ph.IM},
       adsurl = {https://ui.adsabs.harvard.edu/abs/2024ApJ...972....7R},
      adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}

If you use or reference a pre-trained BTSbot model like the updated ConvNeXt-based BTSbot or any BTSbot output from 2026 or beyond, please also cite our follow-up publication.

@ARTICLE{Rehemtulla+2025,
      title={Pre-training vision models for the classification of alerts from wide-field time-domain surveys}, 
      author={Nabeel Rehemtulla and Adam A. Miller and Mike Walmsley and Ved G. Shah and Theophile Jegou du Laz and Michael W. Coughlin and Argyro Sasli and Joshua Bloom and Christoffer Fremling and Matthew J. Graham and Steven L. Groom and David Hale and Ashish A. Mahabal and Daniel A. Perley and Josiah Purdum and Ben Rusholme and Jesper Sollerman and Mansi M. Kasliwal},
      year={2025},
      eprint={2512.11957},
      archivePrefix={arXiv},
      primaryClass={astro-ph.IM},
      url={https://arxiv.org/abs/2512.11957}, 
}

Metadata

Release files for btsbot 2.0.7

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

Source distribution (sdist)

Source distribution for btsbot 2.0.7
File Size Uploaded
btsbot-2.0.7.tar.gz 32.8 kB Details

Built distribution (wheel)

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

Total release size: 67.4 kB

Release files / btsbot-2.0.7.tar.gz

Download URL btsbot-2.0.7.tar.gz
Size 32.8 kB
Tags Source
SHA-256 checksum
How to use checksums
6e16e132f617f4acac5a89f7051f3e1fd5f8d0be09b1a21e09f86107552e8573
BLAKE2b-256 checksum
How to use checksums
7e1dd65ebdaef1c4abc2728319b802b0c2b22c3ae373bfd5035bb8f2d610a462
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release files / btsbot-2.0.7-py3-none-any.whl

Download URL btsbot-2.0.7-py3-none-any.whl
Size 34.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
de33691e73c42090928f84a56aabb9127c000a6ceb529d2a48b20a38b78b9447
BLAKE2b-256 checksum
How to use checksums
2cd15f3b42811c3bfd7e18508143841dced1e1f022677414f65ce97836a86b5e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release history Release notifications | RSS feed

This release

2.0.7 This release

2 release files

2.0.6

2 release files

2.0.5

2 release files

2.0.3

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