Metadata-Version: 2.4
Name: ms-todo
Version: 0.1.0
Summary: Simple CLI tool to integrate with Microsoft To Do, allowing users to manage their tasks from the command line.
Author-email: Tim Santor <tsantor@xstudios.com>
License-File: AUTHORS.md
License-File: LICENSE
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.11
Requires-Dist: click>=8.3.1
Requires-Dist: msal>=1.35.1
Requires-Dist: pydantic>=2.11.7
Requires-Dist: requests>=2.32.5
Requires-Dist: rich>=14.2.0
Description-Content-Type: text/markdown

# ms-todo

![Coverage](https://img.shields.io/badge/coverage-57.45%25-orange)

CLI and importable Python package for Microsoft To Do via Microsoft Graph.

## Install (in your virtualenv)

```bash
pip install -e .
```

## Quick Start

After install:

```bash
ms-todo --help
ms-todo whoami
```

If your virtualenv is not activated, use `.venv/bin/ms-todo ...`.

## Usage Docs

For full examples (CLI and package import), see:

- CLI commands: `docs/docs/usage/cli.md`
- Package usage: `docs/docs/usage/package.md`
- Azure app setup/config: `docs/docs/index.md`

You can also run docs locally:

```bash
just mkdocs-serve
```

## Config File (`~/.ms-todo/.env`)

By default, config is loaded from `~/.ms-todo/.env`.
You can override the config directory with `MS_TODO_CONFIG_DIR`.

```env
CLIENT_ID=YOUR_CLIENT_ID
TENANT_ID=consumers
TASK_LIST_ID=YOUR_TASK_LIST_ID
```

Optional:

```env
CLIENT_SECRET=YOUR_CLIENT_SECRET
```

`CLIENT_SECRET` is not used by the device-code CLI flow, but can remain for other scripts.
