# Getting started If you want to run BatDetect2 on your recordings, start with the command-line route below. You do not need to write Python code for a standard first run. BatDetect2 also has a Python interface, but that is mainly for users writing their own analysis scripts. - Use the command-line route if you want to run an existing model or train your own model by typing commands in a terminal window. - Use the Python route only if you already want to work in scripts or notebooks. ```{note} If you are looking for the previous BatDetect2 workflow based on `batdetect2 detect` or `batdetect2.api`, go to {doc}`legacy/index`. New docs default to the current `predict` CLI and `BatDetect2API` workflow. ``` If you want to try BatDetect2 before installing anything locally: - [Hugging Face demo (UK species)](https://huggingface.co/spaces/macaodha/batdetect2) - [Google Colab notebook](https://colab.research.google.com/github/macaodha/batdetect2/blob/master/batdetect2_notebook.ipynb) ## The simplest route for most users 1. Install BatDetect2. 2. Use a model checkpoint. 3. Run the first tutorial on a folder of recordings. If that is what you want, you can ignore the Python sections for now. ## Install BatDetect2 We recommend `uv` for both workflows. `uv` is a tool that helps install Python software cleanly, without mixing it into the rest of your machine. - Use `uv tool` to install the CLI. - Use `uv add` to add `batdetect2` as a dependency in a Python project. Install `uv` first by following their [installation instructions](https://docs.astral.sh/uv/getting-started/installation/). ## Install the CLI The following installs `batdetect2` in its own small environment and makes the `batdetect2` command available on your machine. ```bash uv tool install batdetect2 ``` If you need to upgrade later: ```bash uv tool upgrade batdetect2 ``` Verify the CLI is available: ```bash batdetect2 --help ``` Run your first workflow: Go to {doc}`tutorials/run-inference-on-folder` for a complete first run. ## Choose a model checkpoint The current command-line and Python workflows expect an explicit checkpoint path. A checkpoint is the saved model file that BatDetect2 will use for prediction. You can use: - a checkpoint you trained yourself, or - a checkpoint distributed with your installation or repository checkout. In this repository checkout, an example pretrained checkpoint is available at: ```text src/batdetect2/models/checkpoints/Net2DFast_UK_same.pth.tar ``` Use that path in the tutorial commands if you want a concrete starting point from this source tree. ## Python route for users writing code If you are using BatDetect2 from Python code, add it to your Python project: ```bash uv add batdetect2 ``` This keeps your project settings and installed packages in sync. ### Alternative with `pip` If you prefer `pip`, create and activate a virtual environment first: ```bash python -m venv .venv source .venv/bin/activate ``` Then install from PyPI: ```bash pip install batdetect2 ``` ## What's next - Run your first workflow on a folder of recordings: {doc}`tutorials/run-inference-on-folder` - If you write code and want the Python route: {doc}`tutorials/integrate-with-a-python-pipeline` - For common practical tasks, go to {doc}`how_to/index` - For detailed command help, go to {doc}`reference/cli/index` - To understand outputs and trade-offs, go to {doc}`explanation/index`