CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-mdutils

A comprehensive Python library for programmatically creating and manipulating Markdown files with support for headers, tables, lists, images, links, and text formatting.

80

1.90x
Overview
Eval results
Files

task.mdevals/scenario-2/

Meeting Minutes Generator

Build a Python utility that generates formatted meeting minutes from structured data. The utility should create a well-formatted markdown document with properly styled text content.

Requirements

You need to implement a function generate_meeting_minutes(meeting_data, output_file) that:

  1. Creates a markdown file with the meeting title as a header
  2. Adds the date as a single line of text
  3. Adds the time as a single line of text
  4. Adds attendees as a paragraph with each name formatted in bold
  5. Adds each agenda item as a separate paragraph
  6. For action items, write each on a single line with the assignee name in italics
  7. Adds the notes as a paragraph with text wrapped at 80 characters per line
  8. Saves the generated markdown to the specified output file

Input Format

The meeting_data parameter is a dictionary with the following structure:

{
    "title": "Weekly Team Sync",
    "date": "2025-01-15",
    "time": "10:00 AM",
    "attendees": ["Alice", "Bob", "Charlie"],
    "agenda": [
        "Review last week's progress",
        "Discuss upcoming deadlines"
    ],
    "action_items": [
        {"assignee": "Alice", "task": "Update documentation"},
        {"assignee": "Bob", "task": "Fix bug in login flow"}
    ],
    "notes": "This is a very long note that should be wrapped to fit within 80 characters per line. It contains important information about the meeting discussions and decisions made."
}

Expected Output Format

The generated markdown should have:

  • A header with the meeting title
  • Date and time each on their own lines
  • An attendees paragraph with each name in bold (e.g., "Alice, Bob, Charlie")
  • Each agenda item as its own paragraph
  • Each action item on a single line with italic assignee name (e.g., "Alice: Update documentation")
  • A notes paragraph with text wrapped at 80 characters per line

Test Cases

  • Given the sample input above, generates a valid markdown file with proper formatting @test
  • Given meeting data with a single attendee, formats the attendee name in bold @test
  • Given long notes text, wraps content at 80 characters per line @test

@generates

API

def generate_meeting_minutes(meeting_data: dict, output_file: str) -> None:
    """
    Generates a formatted markdown meeting minutes document.

    Args:
        meeting_data: Dictionary containing meeting information (title, date, time,
                     attendees, agenda, action_items, notes)
        output_file: Path where the markdown file should be created (without .md extension)

    Returns:
        None - Creates a markdown file at the specified path
    """
    pass

Dependencies { .dependencies }

mdutils { .dependency }

Provides markdown file generation and text formatting capabilities.

@satisfied-by

Install with Tessl CLI

npx tessl i tessl/pypi-mdutils

tile.json