Skip to main content

Installation

B.R.I.O.S. can be installed via Homebrew (recommended) or manually from source for development purposes.


The simplest way to install B.R.I.O.S. on macOS:

# Tap the repository
brew tap Piero24/brios https://github.com/Piero24/B.R.I.O.S.

# Install brios
brew install brios

After installation, the brios command is available globally in your terminal.

Python is installed automatically

Homebrew automatically installs Python 3.12 as a dependency — you do not need to install Python separately when using the Homebrew method.


Option 2: Manual Installation (Development)

Use this method if you want to contribute to B.R.I.O.S. or run the latest development version.

note

Manual installation requires Python 3.9+ installed on your system.

1. Clone the Repository

git clone https://github.com/Piero24/B.R.I.O.S..git
cd B.R.I.O.S.

2. Create a Virtual Environment

python3 -m venv env
source env/bin/activate

3. Install in Editable Mode

pip install -e .

This installs B.R.I.O.S. in editable (development) mode, meaning changes to the source code take effect immediately without re-installing.

You can also run B.R.I.O.S. as a Python module:

python -m brios --help

Verifying the Installation

After installing, verify that B.R.I.O.S. is available:

brios --version

You should see output similar to:

🥐 B.R.I.O.S. v1.0.5

Bluetooth Permissions

On macOS, your terminal application needs Bluetooth permissions to scan for devices:

  1. Open System Settings
  2. Navigate to Privacy & SecurityBluetooth
  3. Enable Bluetooth access for your terminal app (Terminal.app, iTerm2, VS Code terminal, etc.)
tip

If you see "Permission Denied" errors when scanning, this is almost always a missing Bluetooth permission for your terminal app.

macOS Bluetooth permission settings


Dependencies

B.R.I.O.S. depends on the following Python packages (installed automatically):

Direct Dependencies

PackageVersionPurpose
Bleak0.21.1Cross-platform BLE communication library
python-dotenv≥1.0.0Environment variable loading from .env files

Transitive Dependencies (macOS)

Bleak requires the following PyObjC packages on macOS for CoreBluetooth access. These are installed automatically as transitive dependencies:

PackagePurpose
pyobjc-coreCore Python ↔ Objective-C bridge
pyobjc-framework-CocoamacOS Cocoa framework bindings
pyobjc-framework-CoreBluetoothCoreBluetooth framework bindings
pyobjc-framework-libdispatchGrand Central Dispatch bindings

Updating B.R.I.O.S.

The easiest way to update B.R.I.O.S. to the latest version:

brios --update

This automatically detects whether you installed via Homebrew or pip and runs the correct upgrade command.

Manual Update

If you prefer to update manually:

# Homebrew
brew update && brew upgrade brios

# pip (from source)
cd B.R.I.O.S.
git pull
pip install -e .
tip

B.R.I.O.S. automatically checks for updates on every launch and displays a yellow warning if a newer version is available. You can always run brios --update to upgrade.


Next Steps

Once installed, proceed to the Quick Start guide to configure and start monitoring your device.