Skip to content

Installation

Requirements

  • Python >= 3.12
  • An Azure AD (Entra ID) app registration with delegated Graph API permissions

From PyPI

Install the base package:

pip install m365-brain

Extras

Extra What it adds When you need it
azure azure-storage-blob Using Azure Blob Storage backend
convert obsidian-import[markitdown,docling] Converting Office documents (DOCX, PPTX, XLSX, PDF) to markdown
web fastapi, uvicorn, apscheduler, cryptography Running as a web service (future)
all All of the above Full installation
# Azure Blob Storage support
pip install "m365-brain[azure]"

# Document conversion
pip install "m365-brain[convert]"

# Everything
pip install "m365-brain[all]"

Development Setup

The project uses pixi for development dependency management.

# Clone the repository
git clone https://github.com/neuralsignal/m365-brain.git
cd m365-brain

# Install all dependencies (including dev tools)
pixi install

# Install pre-commit hooks
pixi run pre-commit-install

# Run tests
pixi run test

# Run linter
pixi run lint

# Format code
pixi run format

Available pixi tasks

Task Command Description
test pixi run test Run unit tests (excludes integration and Azurite tests)
test-cov pixi run test-cov Run tests with coverage report
test-azurite pixi run test-azurite Run Azurite integration tests (requires running Azurite)
lint pixi run lint Run ruff linter
format pixi run format Format code with ruff
format-check pixi run format-check Check formatting without modifying files
docs-build pixi run docs-build Build MkDocs documentation site
docs-serve pixi run docs-serve Serve documentation locally with live reload