  $\texttt{Eureka!}$ is a data reduction and analysis pipeline for exoplanet
time-series observations, with a particular focus on JWST data. Over the next
1-2 decades, JWST will pursue four main science themes: Early Universe,
Galaxies Over Time, Star Lifecycle, and Other Worlds. Our focus is on providing
the astronomy community with an open source tool for the reduction and analysis
of time-series observations of exoplanets in pursuit of the fourth of these
themes, Other Worlds. The goal of $\texttt{Eureka!}$ is to provide an
end-to-end pipeline that starts with uncalibrated FITS files and ultimately
yields precise exoplanet spectra. The pipeline has a modular structure with six
stages, and each stage uses a "Eureka! Control File" (ECF) to allow for easy
control of the pipeline's behavior. Stage 5 also uses a "Eureka! Parameter
File" (EPF) to control the fitted parameters. We provide template ECFs for the
MIRI, NIRCam, NIRISS, and NIRSpec instruments on JWST and the WFC3 instrument
on the Hubble Space Telescope (HST). These templates give users a good starting
point for their analyses, but $\texttt{Eureka!}$ is not intended to be used as
a black box tool, and users should expect to fine-tune some settings for each
observation in order to achieve optimal results. At each stage, the pipeline
creates intermediate figures and outputs that allow users to compare
$\texttt{Eureka!}$'s performance using different parameter settings or to
compare $\texttt{Eureka!}$ with an independent pipeline. The ECF used to run
each stage is also copied into the output folder from each stage to enhance
reproducibility. Finally, while $\texttt{Eureka!}$ has been optimized for
exoplanet observations (especially the latter stages of the code), much of the
core functionality could also be repurposed for JWST time-series observations
in other research domains thanks to $\texttt{Eureka!}$'s modularity.
