binaryc-python: A Python-based stellar population synthesis tool and interface to binaryc

Abstract

We present the software package binaryc-python which provides a convenient and easy-to-use interface to the binaryc framework, allowing the user to rapidly evolve individual systems and populations of stars. binaryc-python is available on Pip and on GitLab. binaryc-python contains many useful features to control and process the output of binaryc, like by providing binaryc-python with logging statements that are dynamically compiled and loaded into binaryc. Moreover, we have recently added standardised output of events like Roche-lobe overflow or double compact-object formation to binaryc, and automatic parsing and managing of that output in binaryc-python. binaryc-python uses multiprocessing to utilise all the cores on a particular machine, and can run populations with HPC cluster workload managers like HTCondor and Slurm, allowing the user to run simulations on large computing clusters. We provide documentation that is automatically generated based on docstrings and a suite of Jupyter notebooks. These notebooks consist of technical tutorials on how to use binaryc-python and use-case scenarios aimed at doing science. Much of binaryc-python is covered by unit tests to ensure reliability and correctness, and the test coverage is continually increased as the package is improved.

0

Turn this paper into a lesson

ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.

Discussion (0)

Sign in to join the discussion.

Loading comments…