# odnelazm-cli
Run the `odnelazm` web scraper and parser from the command line.
## Installation
```bash
cargo install odnelazm-cli
```
## Global flags
| `-l, --log-level` | Set log verbosity: `off`, `error`, `warn`, `info`, `debug`, `trace` (default: `info`) |
---
## archive
Archival Hansard data from `info.mzalendo.com`.
### archive list
Browse available sittings with optional filtering and pagination.
| `--start-date YYYY-MM-DD` | Filter sittings from this date onwards |
| `--end-date YYYY-MM-DD` | Filter sittings up to this date |
| `--house senate\|national_assembly\|na` | Filter by house |
| `--limit N` | Maximum number of results to return |
| `--offset N` | Number of results to skip |
| `-o, --output text\|json` | Output format (default: text) |
```bash
odnelazm archive list
odnelazm archive list --house senate --start-date 2020-01-01 --end-date 2020-12-31 --limit 10
### archive sitting
Fetch the full transcript of a sitting including sections, contributions, and procedural notes.
| `--fetch-speakers` | Fetch full profile for each speaker (makes additional requests) |
| `-o, --output text\|json` | Output format (default: text) |
```bash
odnelazm archive sitting https://info.mzalendo.com/hansard/sitting/senate/2020-12-29-14-30-00
odnelazm archive sitting https://info.mzalendo.com/hansard/sitting/senate/2020-12-29-14-30-00 --fetch-speakers -o json
```
---
## current
Up to date Hansard data from `mzalendo.com/democracy-tools`.
### current sittings
List available sittings, paged or all at once.
| `--page N` | Page number to fetch (default: 1) |
| `--all` | Fetch all pages at once (conflicts with --page) |
| `--house senate\|national_assembly\|na` | Filter by house |
| `-o, --output text\|json` | Output format (default: text) |
```bash
odnelazm current sittings
odnelazm current sittings --page 2 --house senate
odnelazm current sittings --all -o json
```
### current sitting
Fetch the full transcript of a sitting.
| `-o, --output text\|json` | Output format (default: text) |
```bash
odnelazm current sitting thursday-12th-february-2026-afternoon-sitting-2438
odnelazm current sitting https://mzalendo.com/democracy-tools/hansard/thursday-12th-february-2026-afternoon-sitting-2438/ -o json
```
### current members
List members of parliament.
| `--page N` | Page number (default: 1) |
| `--all` | Fetch all pages at once (conflicts with --page) |
| `-o, --output text\|json` | Output format (default: text) |
```bash
odnelazm current members na 13th-parliament
odnelazm current members senate 13th-parliament --page 2 -o json
odnelazm current members na 13th-parliament --all -o json
```
### current all-members
List all members from both houses in parallel for a given parliament session.
| `[parliament]` | Parliament session (default: `13th-parliament`) |
| `-o, --output text\|json` | Output format (default: text) |
```bash
odnelazm current all-members
odnelazm current all-members 12th-parliament -o json
```
### current profile
Fetch a member's full profile including speeches, bills, and voting record.
| `--all-activity` | Fetch all pages of parliamentary activity |
| `--all-bills` | Fetch all pages of sponsored bills |
| `-o, --output text\|json` | Output format (default: text) |
```bash
odnelazm current profile https://mzalendo.com/mps-performance/national-assembly/13th-parliament/boss-gladys-jepkosgei/
odnelazm current profile https://mzalendo.com/mps-performance/national-assembly/13th-parliament/boss-gladys-jepkosgei/ --all-activity --all-bills -o json
```