Skip to main content

Meeting-to-Action (Project C)

CI PyPI Python

Meeting-to-Action is a small CLI tool that converts raw meeting notes (.md or .txt) into a clean, actionable checklist containing tasks, optional owners, and optional due dates.

V1 Scope

  • One CLI command: parse
  • Input: one .md/.txt file, or a directory of notes files
  • Extraction of action items from bullets and sentences
  • Optional extraction of owner and due date only when obvious
  • Output: one markdown file with a standardized checklist format
  • Basic terminal summary
  • Unit tests for parser and formatter

Out of Scope (V1)

  • Web UI
  • Database
  • Authentication/authorization
  • Third-party integrations
  • Audio transcription
  • OCR/PDF parsing
  • Multilingual support
  • Advanced NLP confidence scoring
  • Background jobs
  • Cloud deployment

Requirements

  • Python 3.11+

Installation

python -m venv .venv
source .venv/bin/activate
pip install -e .

For the smallest release-validation pass in a fresh environment, install the test extra:

pip install -e ".[test]"

Usage

meet2action parse notes.md --out actions.md

To produce machine-readable JSON instead of markdown:

meet2action parse notes.md --format json --out actions.json

The input file must be a local .md or .txt file.

Expected validation failures return a non-zero exit code and do not write an output file:

meet2action parse /tmp/missing.txt --out actions.md
# Error: input file does not exist: /tmp/missing.txt
meet2action parse notes.csv --out actions.md
# Error: input file must be .md or .txt

Validation

python -m pytest
meet2action parse tests/fixtures/notes_sample.txt --out actions.md
meet2action parse tests/fixtures/notes_sample.txt --format json --out actions.json

Example Input

- Alice to draft kickoff agenda by 2026-03-20.
Please send vendor shortlist by Friday.
Bob will follow up with legal.
General discussion about roadmap.

Example Output

# Action Items

- [ ] Draft kickoff agenda (owner: Alice, due: 2026-03-20)
- [ ] Send vendor shortlist (due: Friday)
- [ ] Follow up with legal (owner: Bob)

With --format json:

{
  "total_lines": 4,
  "candidate_lines": 3,
  "actions": [
    { "task": "Draft kickoff agenda", "owner": "Alice", "due_date": "2026-03-20" },
    { "task": "Send vendor shortlist", "owner": null, "due_date": "Friday" },
    { "task": "Follow up with legal", "owner": "Bob", "due_date": null }
  ]
}

If no actionable lines are found, the CLI still writes a valid checklist file:

# Action Items

_No action items found._

Extraction rules (V1)

The parser uses deterministic, conservative rules:

  • Action candidates are lines with clear action cues (for example: to, will, send, review, prepare, follow up).
  • Owner is extracted only for obvious formats:
    • Alice to ...
    • Alice will ...
    • Alice: ...
    • @Alice ...
  • Due date is extracted only for obvious formats:
    • by YYYY-MM-DD or due YYYY-MM-DD (must be a real calendar date)
    • by Monday or due Friday (weekday names)
  • Discussion/status context lines (for example Discussion: or We will discuss ...) are intentionally ignored to reduce false positives.
  • Generic context labels like Topic:, FYI:, and Background: are ignored unless they clearly match an obvious action-owner pattern.
  • Leading Please is removed from task text when present as politeness.

Project Layout

meet2action/
├── src/meet2action/
│   ├── cli.py
│   ├── formatter.py
│   ├── models.py
│   └── parser.py
└── tests/
    ├── fixtures/notes_sample.txt
    ├── test_cli_helpers.py
    ├── test_e2e_parse.py
    ├── test_formatter.py
    └── test_parser.py

Metadata

Release files for meet2action 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for meet2action 1.0.0
File Size Uploaded
meet2action-1.0.0.tar.gz 16.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for meet2action 1.0.0
File Interpreter ABI Platform
meet2action-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 26.0 kB

Release files / meet2action-1.0.0.tar.gz

Download URL meet2action-1.0.0.tar.gz
Size 16.1 kB
Tags Source
SHA-256 checksum
How to use checksums
2f5c1b80db45b5ce12920e32142803b219f286fd43de432f111f80b176044800
BLAKE2b-256 checksum
How to use checksums
3bff056dd8dc0d09be19be11b23ffe8a4abe68537a26fc90f32685167070065d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 8, 2026.

Transparency log

Release files / meet2action-1.0.0-py3-none-any.whl

Download URL meet2action-1.0.0-py3-none-any.whl
Size 9.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fe1418b6142efbfc55f6e2160cbeb7b83f0fd73f8821f059b8de96a4c8fad554
BLAKE2b-256 checksum
How to use checksums
34f64f945013b3db750e0a9328e73ceff39ee0d28045e36a7989905f31a8f493
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 8, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page