  We introduce the public version of the BAyesian STellar Algorithm (BASTA), an
open-source code written in {\tt Python} to determine stellar properties based
on a set of astrophysical observables. BASTA has been specifically designed to
robustly combine large datasets that include asteroseismology, spectroscopy,
photometry, and astrometry. We describe the large number of asteroseismic
observations that can be fit by the code and how these can be combined with
atmospheric properties (as well as parallaxes and apparent magnitudes), making
it the most complete analysis pipeline available for oscillating main-sequence,
subgiant, and red giant stars. BASTA relies on a set of pre-built stellar
isochrones or a custom-designed library of stellar tracks which can be further
refined using our interpolation method (both along and across stellar
tracks/isochrones). We perform recovery tests with simulated data that reveal
levels of accuracy at the few percent level for radii, masses, and ages when
individual oscillation frequencies are considered, and show that asteroseismic
ages with statistical uncertainties below 10% are within reach if our stellar
models are reliable representations of stars. BASTA is extensively documented
and includes a suite of examples to support easy adoption and further
development by new users.
