{"id":25921875,"url":"https://github.com/emcd/python-mimeogram","last_synced_at":"2026-02-24T20:41:09.291Z","repository":{"id":277648726,"uuid":"933041222","full_name":"emcd/python-mimeogram","owner":"emcd","description":"Exchange collections of files with Large Language Models.","archived":false,"fork":false,"pushed_at":"2025-03-02T01:12:07.000Z","size":472,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-02T01:25:56.397Z","etag":null,"topics":["ai","anthropic","chatgpt","claude","code","deepseek","gemini","grok","ingestion","llm","openai"],"latest_commit_sha":null,"homepage":"https://emcd.github.io/python-mimeogram/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/emcd.png","metadata":{"files":{"readme":"README.rst","changelog":"changelog.rst","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-15T02:24:07.000Z","updated_at":"2025-03-02T00:35:55.000Z","dependencies_parsed_at":"2025-02-22T20:24:00.389Z","dependency_job_id":null,"html_url":"https://github.com/emcd/python-mimeogram","commit_stats":null,"previous_names":["emcd/python-mimeogram"],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emcd%2Fpython-mimeogram","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emcd%2Fpython-mimeogram/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emcd%2Fpython-mimeogram/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emcd%2Fpython-mimeogram/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emcd","download_url":"https://codeload.github.com/emcd/python-mimeogram/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241696182,"owners_count":20004748,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","anthropic","chatgpt","claude","code","deepseek","gemini","grok","ingestion","llm","openai"],"created_at":"2025-03-03T16:16:27.154Z","updated_at":"2026-02-24T20:41:09.285Z","avatar_url":"https://github.com/emcd.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":".. vim: set fileencoding=utf-8:\n.. -*- coding: utf-8 -*-\n.. +--------------------------------------------------------------------------+\n   |                                                                          |\n   | Licensed under the Apache License, Version 2.0 (the \"License\");          |\n   | you may not use this file except in compliance with the License.         |\n   | You may obtain a copy of the License at                                  |\n   |                                                                          |\n   |     http://www.apache.org/licenses/LICENSE-2.0                           |\n   |                                                                          |\n   | Unless required by applicable law or agreed to in writing, software      |\n   | distributed under the License is distributed on an \"AS IS\" BASIS,        |\n   | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |\n   | See the License for the specific language governing permissions and      |\n   | limitations under the License.                                           |\n   |                                                                          |\n   +--------------------------------------------------------------------------+\n\n*******************************************************************************\n                                   mimeogram\n*******************************************************************************\n\n.. image:: https://img.shields.io/pypi/v/mimeogram\n   :alt: Package Version\n   :target: https://pypi.org/project/mimeogram/\n\n.. image:: https://img.shields.io/pypi/status/mimeogram\n   :alt: PyPI - Status\n   :target: https://pypi.org/project/mimeogram/\n\n.. image:: https://github.com/emcd/python-mimeogram/actions/workflows/tester.yaml/badge.svg?branch=master\u0026event=push\n   :alt: Tests Status\n   :target: https://github.com/emcd/python-mimeogram/actions/workflows/tester.yaml\n\n.. image:: https://emcd.github.io/python-mimeogram/coverage.svg\n   :alt: Code Coverage Percentage\n   :target: https://github.com/emcd/python-mimeogram/actions/workflows/tester.yaml\n\n.. image:: https://img.shields.io/github/license/emcd/python-mimeogram\n   :alt: Project License\n   :target: https://github.com/emcd/python-mimeogram/blob/master/LICENSE.txt\n\n.. image:: https://img.shields.io/pypi/pyversions/mimeogram\n   :alt: Python Versions\n   :target: https://pypi.org/project/mimeogram/\n\n.. image:: https://raw.githubusercontent.com/emcd/python-mimeogram/master/data/pictures/logo.svg\n   :alt: Mimeogram Logo\n   :width: 800\n   :align: center\n\n\n📨 A command-line tool for **exchanging collections of files with Large\nLanguage Models** - bundle multiple files into a single clipboard-ready\ndocument while preserving directory structure and metadata... good for code\nreviews, project sharing, and LLM interactions.\n\n\nKey Features ⭐\n===============================================================================\n\n* 🔄 **Interactive Reviews**: Review and apply LLM-proposed changes one by one.\n* 📋 **Clipboard Integration**: Seamless copying and pasting by default.\n* 🗂️ **Directory Structure**: Preserves hierarchical file organization.\n* 🛡️ **Path Protection**: Safeguards against dangerous modifications.\n\n\nInstallation 📦\n===============================================================================\n\nMethod: Download Standalone Executable\n-------------------------------------------------------------------------------\n\nDownload the latest standalone executable for your platform from `GitHub\nReleases \u003chttps://github.com/emcd/python-mimeogram/releases\u003e`_. These\nexecutables have no dependencies and work out of the box.\n\nMethod: Install Executable Script\n-------------------------------------------------------------------------------\n\nInstall via the `uv \u003chttps://github.com/astral-sh/uv/blob/main/README.md\u003e`_\n``tool`` command:\n\n::\n\n    uv tool install mimeogram\n\nor, run directly with `uvx\n\u003chttps://github.com/astral-sh/uv/blob/main/README.md\u003e`_:\n\n::\n\n    uvx mimeogram\n\nOr, install via `pipx \u003chttps://pipx.pypa.io/stable/installation/\u003e`_:\n\n::\n\n    pipx install mimeogram\n\nMethod: Install Python Package\n-------------------------------------------------------------------------------\n\nInstall via `uv \u003chttps://github.com/astral-sh/uv/blob/main/README.md\u003e`_ ``pip``\ncommand:\n\n::\n\n    uv pip install mimeogram\n\nOr, install via ``pip``:\n\n::\n\n    pip install mimeogram\n\n\nExamples 💡\n===============================================================================\n\nBelow are some simple examples. Please see the `examples documentation\n\u003chttps://github.com/emcd/python-mimeogram/blob/master/documentation/examples/cli.rst\u003e`_\nfor more detailed usage patterns.\n\n::\n\n    usage: mimeogram [-h] [OPTIONS] {create,apply,provide-prompt,version}\n\n    Mimeogram: hierarchical data exchange between humans and LLMs.\n\n    ╭─ options ────────────────────────────────────────────────────────────────────╮\n    │ -h, --help              show this help message and exit                      │\n    │ --configfile {None}|STR                                                      │\n    │                         (default: None)                                      │\n    ╰──────────────────────────────────────────────────────────────────────────────╯\n    ╭─ subcommands ────────────────────────────────────────────────────────────────╮\n    │ {create,apply,provide-prompt,version}                                        │\n    │     create              Creates mimeogram from filesystem locations or URLs. │\n    │     apply               Applies mimeogram to filesystem locations.           │\n    │     provide-prompt      Provides LLM prompt text for mimeogram format.       │\n    │     version             Prints version information.                          │\n    ╰──────────────────────────────────────────────────────────────────────────────╯\n\nWorking with Simple LLM Interfaces\n-------------------------------------------------------------------------------\n\nUse with browser chat interfaces and API workbenches when you want explicit,\nportable control over exactly which files are shared with a model. This is\nuseful for interfaces with limited repository tooling and for workflows where\nuploaded files may have favorable pricing (for example, some project-oriented\nplans in provider-hosted web interfaces).\n\n* Bundle files with mimeogram format instructions into clipboard.\n\n  .. code-block:: bash\n\n      mimeogram create src/*.py tests/*.py --prepend-prompt\n\n* Paste instructions and mimeogram into prompt text area in browser.\n\n* Interact with LLM until you are ready to apply results.\n\n* Request mimeogram from LLM and copy it from browser to clipboard.\n\n  * `Example: Claude Artifact \u003chttps://claude.site/artifacts/5ca7851f-6b63-4d1d-87ff-cd418f3cab0f\u003e`_\n\n* Apply mimeogram parts from clipboard. (On a terminal, this will be\n  interactive by default.)\n\n  .. code-block:: bash\n\n      mimeogram apply\n\nNote that, if you do not want the LLM to return mimeograms to you, most of the\ncurrent generation of LLMs are smart enough to understand the format without\ninstructions. Thus, you can save tokens by not explicitly providing mimeogram\ninstructions.\n\n\nWorking with LLM Project Interfaces\n-------------------------------------------------------------------------------\n\nMany LLM service providers now offer project-style workspaces that persist\ninstructions and uploaded context across chats. When available, this pairs well\nwith mimeogram by reducing prompt overhead while preserving structured file\nexchange.\n\nIn these cases, you can take advantage of the project instructions so that you\ndo not need to include mimeogram instructions with each new chat:\n\n* Copy mimeogram format instructions into clipboard.\n\n  .. code-block:: bash\n\n      mimeogram provide-prompt\n\n* Paste mimeogram prompt into project instructions and save the update. Any new\n  chats will be able to reuse the project instructions hereafter.\n\n* Simply create mimeograms for new chats without prepending instructions.\n\n  .. code-block:: bash\n\n      mimeogram create src/*.py tests/*.py\n\n* Same workflow as chats without project support at this point: interact with\n  LLM, request mimeogram (as necessary), apply mimeogram (as necessary).\n\n\nRemote URLs\n-------------------------------------------------------------------------------\n\nYou can also create mimeograms from remote URLs:\n\n.. code-block:: bash\n\n     mimeogram create https://raw.githubusercontent.com/BurntSushi/aho-corasick/refs/heads/master/src/dfa.rs\n\nBoth local and remote files may be bundled together in the same mimeogram.\n\nHowever, there is no ability to apply a mimeogram to remote URLs.\n\n\nInteractive Review\n-------------------------------------------------------------------------------\n\nDuring application of a mimeogram, you will be, by default, presented with the\nchance to review each part to apply. For each part, you will see a menu like\nthis:\n\n.. code-block:: text\n\n    src/example.py [2.5K]\n    Action? (a)pply, (d)iff, (e)dit, (i)gnore, (s)elect hunks, (v)iew \u003e\n\nChoosing ``a`` to select the ``apply`` action will cause the part to be queued\nfor application once the reivew of all parts is complete. All queued parts are\napplied simultaneously to prevent thrash in IDEs and language servers as\ninterdependent files are reevaluated.\n\n\nFilesystem Protection\n-------------------------------------------------------------------------------\n\nIf an LLM proposes the alteration of a sensitive file, such as one which may\ncontain credentials or affect the operating system, then the program makes an\nattempt to flag this:\n\n.. code-block:: text\n\n    ~/.config/sensitive.conf [1.2K] [PROTECTED]\n    Action? (d)iff, (i)gnore, (p)ermit changes, (v)iew \u003e\n\nIf, upon review of the proposed changes, you believe that they are safe, then\nyou can choose ``p`` to permit them, followed by ``a`` to apply them.\n\nWe take AI safety seriously. Please review all LLM-generated content, whether\nit is flagged for a sensitive destination or not.\n\n\nConfiguration 🔧\n===============================================================================\n\nDefault Location\n-------------------------------------------------------------------------------\n\nMimeogram creates a configuration file on first run. You can find it at:\n\n* Linux: ``~/.config/mimeogram/general.toml``\n* macOS: ``~/Library/Application Support/mimeogram/general.toml``\n* Windows: ``%LOCALAPPDATA%\\\\mimeogram\\\\general.toml``\n\nDefault Settings\n-------------------------------------------------------------------------------\n\n.. code-block:: toml\n\n    [apply]\n    from-clipboard = true    # Read from clipboard by default\n\n    [create]\n    to-clipboard = true      # Copy to clipboard by default\n\n    [prompt]\n    to-clipboard = true      # Copy prompts to clipboard\n\n    [acquire-parts]\n    fail-on-invalid = false  # Skip invalid files\n    recurse-directories = false\n\n    [update-parts]\n    disable-protections = false\n\n\nMotivation 🎯\n===============================================================================\n\nWhy Mimeogram in an Agentic World 💡\n-------------------------------------------------------------------------------\n* Portable, provider-agnostic format for sharing and applying multi-file\n  changes.\n* Works in web interfaces and chat surfaces that do not expose local\n  filesystem tools.\n* Useful when you want explicit, auditable context selection instead of\n  full-repository agent access.\n* Supports batch exchange workflows, including scenarios where uploaded files\n  can be cheaper than repeated API context transmission.\n\nTechnical Benefits ✅\n-------------------------------------------------------------------------------\n* Preserves hierarchical directory structure.\n* Version control friendly. (I.e., honors Git ignore files.)\n* Supports async/batch workflows.\n\nPlatform Neutrality ☁️\n-------------------------------------------------------------------------------\n* IDE and platform agnostic.\n* Works with and without provider-specific agent tooling.\n* Useful with both project-enabled and non-project chat interfaces.\n\nLimitations and Alternatives 🔀\n===============================================================================\n\n* Manual refresh of files needed (no automatic sync).\n* Cannot retract stale content from conversation history in provider GUIs.\n* For tight edit/test loops inside a local repository, agentic tools and\n  coding IDEs may be faster.\n\nComparison of General Approaches ⚖️\n-------------------------------------------------------------------------------\n\n+-------------------------+------------+------------+-------------+--------------+\n| Feature                 | Mimeograms | Projects   | Agentic     | Specialized  |\n|                         |            | (Web) [1]_ | CLIs [2]_   | IDEs [3]_    |\n+=========================+============+============+=============+==============+\n| Primary Interaction     | Bundle/    | Chat +     | Local tools | IDE-native   |\n| Model                   | apply      | uploads    | + chat      | assistant    |\n+-------------------------+------------+------------+-------------+--------------+\n| Directory Structure     | Yes        | No         | Yes         | Yes          |\n+-------------------------+------------+------------+-------------+--------------+\n| Version Control         | Yes        | No [4]_    | Yes         | Yes          |\n+-------------------------+------------+------------+-------------+--------------+\n| Platform Support        | Cross-     | Web        | Varies      | Varies       |\n|                         | platform   |            |             |              |\n+-------------------------+------------+------------+-------------+--------------+\n| Local Repo Live Sync    | Manual     | No         | Yes         | Yes          |\n+-------------------------+------------+------------+-------------+--------------+\n| Provider Portability    | High       | Low        | Medium      | Low/Medium   |\n+-------------------------+------------+------------+-------------+--------------+\n| Setup Required          | Low        | None       | Medium      | Medium       |\n+-------------------------+------------+------------+-------------+--------------+\n| Cost Model              | Varies     | Usually    | Varies      | Usually      |\n|                         |            | subscr.    |             | subscr.      |\n+-------------------------+------------+------------+-------------+--------------+\n\n.. [1] Provider-hosted project workspaces in web interfaces.\n.. [2] `Aider \u003chttps://aider.chat/\u003e`_, `Claude Code\n   \u003chttps://docs.anthropic.com/en/docs/agents-and-tools/claude-code/overview\u003e`_,\n   `Codex CLI \u003chttps://developers.openai.com/codex/cli/\u003e`_, etc...\n.. [3] `Cursor \u003chttps://cursor.com/en-US\u003e`_, `Windsurf\n   \u003chttps://windsurf.com/editor\u003e`_, etc...\n.. [4] Some hosted interfaces provide versioned artifacts or revision history\n   (for example, Claude artifacts), but these are not integrated with\n   traditional VCS workflows such as Git.\n\nNotes:\n\n- No single column is universally best.\n- Mimeogram is designed to complement agentic tools, especially when you need\n  explicit scope control or provider portability.\n\n\nComparison with Similar Tools ⚖️\n-------------------------------------------------------------------------------\n\n- `ai-digest \u003chttps://github.com/khromov/ai-digest\u003e`_\n- `dump_dir \u003chttps://github.com/fargusplumdoodle/dump_dir/\u003e`_\n- `Gitingest \u003chttps://github.com/coderamp-labs/gitingest\u003e`_\n- `Repomix \u003chttps://github.com/yamadashy/repomix\u003e`_\n\nMimeogram is unique among file collection tools for LLMs in offering round-trip\nsupport - the ability to not just collect files but also apply changes proposed\nby LLMs.\n\n`Full Comparison of Tools\n\u003chttps://github.com/emcd/python-mimeogram/blob/master/documentation/comparisons.rst\u003e`_\n\nFeatures Matrix\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n+--------------------+-----------+-----------+------------+-----------+\n| Feature            | Mimeogram | Gitingest | Repomix    | dump_dir  |\n+====================+===========+===========+============+===========+\n| Round Trips        | ✓         |           |            |           |\n+--------------------+-----------+-----------+------------+-----------+\n| Clipboard Support  | ✓         |           | ✓          | ✓         |\n+--------------------+-----------+-----------+------------+-----------+\n| Remote URL Support | ✓         | ✓         | ✓          |           |\n+--------------------+-----------+-----------+------------+-----------+\n| Security Checks    | ✓         |           | ✓          |           |\n+--------------------+-----------+-----------+------------+-----------+\n\nContent Selection Approaches\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nTools in this space generally follow one of two approaches: filesystem-oriented\nor repository-oriented.\n\nTools, like ``mimeogram``, ``dump_dir``, and ``ai-digest``, are oriented around\nfiles and directories. You start with nothing and select what is needed. This\napproach offers more precise control over context window usage and is better\nsuited for targeted analysis or specific features.\n\nTools, like ``gitingest`` and ``repomix``, are oriented around code\nrepositories. You start with an entire repository and then filter out unneeded\nfiles and directories. This approach is better for full project comprehension\nbut requires careful configuration to avoid exceeding LLM context window\nlimits.\n\n\nContribution 🤝\n===============================================================================\n\nContribution to this project is welcome! However, it must follow the `code of\nconduct\n\u003chttps://emcd.github.io/python-project-common/stable/sphinx-html/common/conduct.html\u003e`_\nfor the project.\n\nPlease file bug reports and feature requests in the `issue tracker\n\u003chttps://github.com/emcd/python-mimeogram/issues\u003e`_ or submit `pull\nrequests \u003chttps://github.com/emcd/python-mimeogram/pulls\u003e`_ to\nimprove the source code or documentation.\n\nFor development guidance and standards, please see the `development guide\n\u003chttps://emcd.github.io/python-mimeogram/stable/sphinx-html/contribution.html#development\u003e`_.\n\n\nAbout the Name 📝\n===============================================================================\n\nThe name \"mimeogram\" draws from multiple sources:\n\n* 📜 From Ancient Greek roots:\n    * μῖμος (*mîmos*, \"mimic\") + -γραμμα (*-gramma*, \"written character, that\n      which is drawn\")\n    * Like *mimeograph* but emphasizing textual rather than pictorial content.\n\n* 📨 From **MIME** (Multipurpose Internet Mail Extensions):\n    * Follows naming patterns from the Golden Age of Branding: Ford\n      Cruise-o-matic, Ronco Veg-O-Matic, etc....\n    * Reflects the MIME-inspired bundle format.\n\n* 📬 Echoes *telegram*:\n    * Emphasizes message transmission.\n    * Suggests structured communication.\n\nNote: Despite similar etymology, this project is distinct from the PyPI package\n*mimeograph*, which serves different purposes.\n\nPronunciation? The one similar to *mimeograph* seems to roll off the tongue\nmore smoothly, though it is one more syllable than \"mime-o-gram\". Preferred\nIPA: /ˈmɪm.i.ˌoʊ.ɡræm/.\n\n\nAdditional Indicia\n===============================================================================\n\n.. image:: https://img.shields.io/github/last-commit/emcd/python-mimeogram\n   :alt: GitHub last commit\n   :target: https://github.com/emcd/python-mimeogram\n\n.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-grayscale-inverted-border-orange.json\n   :alt: Copier\n   :target: https://github.com/copier-org/copier\n\n.. image:: https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg\n   :alt: Hatch\n   :target: https://github.com/pypa/hatch\n\n.. image:: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\n   :alt: pre-commit\n   :target: https://github.com/pre-commit/pre-commit\n\n.. image:: https://microsoft.github.io/pyright/img/pyright_badge.svg\n   :alt: Pyright\n   :target: https://microsoft.github.io/pyright\n\n.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json\n   :alt: Ruff\n   :target: https://github.com/astral-sh/ruff\n\n.. image:: https://img.shields.io/badge/hypothesis-tested-brightgreen.svg\n   :alt: Hypothesis\n   :target: https://hypothesis.readthedocs.io/en/latest/\n\n.. image:: https://img.shields.io/pypi/implementation/mimeogram\n   :alt: PyPI - Implementation\n   :target: https://pypi.org/project/mimeogram/\n\n.. image:: https://img.shields.io/pypi/wheel/mimeogram\n   :alt: PyPI - Wheel\n   :target: https://pypi.org/project/mimeogram/\n\n\nOther Projects by This Author 🌟\n===============================================================================\n\n\n* `python-absence \u003chttps://github.com/emcd/python-absence\u003e`_ (`absence \u003chttps://pypi.org/project/absence/\u003e`_ on PyPI)\n\n  🕳️ A Python library package which provides a **sentinel for absent values** - a falsey, immutable singleton that represents the absence of a value in contexts where ``None`` or ``False`` may be valid values.\n* `python-accretive \u003chttps://github.com/emcd/python-accretive\u003e`_ (`accretive \u003chttps://pypi.org/project/accretive/\u003e`_ on PyPI)\n\n  🌌 A Python library package which provides **accretive data structures** - collections which can grow but never shrink.\n* `python-classcore \u003chttps://github.com/emcd/python-classcore\u003e`_ (`classcore \u003chttps://pypi.org/project/classcore/\u003e`_ on PyPI)\n\n  🏭 A Python library package which provides **foundational class factories and decorators** for providing classes with attributes immutability and concealment and other custom behaviors.\n* `python-detextive \u003chttps://github.com/emcd/python-detextive\u003e`_ (`detextive \u003chttps://pypi.org/project/detextive/\u003e`_ on PyPI)\n\n  🕵️ A Python library which provides consolidated text detection capabilities for reliable content analysis. Offers MIME type detection, character set detection, and line separator processing.\n* `python-dynadoc \u003chttps://github.com/emcd/python-dynadoc\u003e`_ (`dynadoc \u003chttps://pypi.org/project/dynadoc/\u003e`_ on PyPI)\n\n  📝 A Python library package which bridges the gap between **rich annotations** and **automatic documentation generation** with configurable renderers and support for reusable fragments.\n* `python-falsifier \u003chttps://github.com/emcd/python-falsifier\u003e`_ (`falsifier \u003chttps://pypi.org/project/falsifier/\u003e`_ on PyPI)\n\n  🎭 A very simple Python library package which provides a **base class for falsey objects** - objects that evaluate to ``False`` in boolean contexts.\n* `python-frigid \u003chttps://github.com/emcd/python-frigid\u003e`_ (`frigid \u003chttps://pypi.org/project/frigid/\u003e`_ on PyPI)\n\n  🔒 A Python library package which provides **immutable data structures** - collections which cannot be modified after creation.\n* `python-icecream-truck \u003chttps://github.com/emcd/python-icecream-truck\u003e`_ (`icecream-truck \u003chttps://pypi.org/project/icecream-truck/\u003e`_ on PyPI)\n\n  🍦 **Flavorful Debugging** - A Python library which enhances the powerful and well-known ``icecream`` package with flavored traces, configuration hierarchies, customized outputs, ready-made recipes, and more.\n* `python-librovore \u003chttps://github.com/emcd/python-librovore\u003e`_ (`librovore \u003chttps://pypi.org/project/librovore/\u003e`_ on PyPI) \n\n  🐲 **Documentation Search Engine** - An intelligent documentation search and extraction tool that provides both a command-line interface for humans and an MCP (Model Context Protocol) server for AI agents. Search across Sphinx and MkDocs sites with fuzzy matching, extract clean markdown content, and integrate seamlessly with AI development workflows.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femcd%2Fpython-mimeogram","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femcd%2Fpython-mimeogram","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femcd%2Fpython-mimeogram/lists"}