Name | mimeogram JSON |
Version |
1.0
JSON |
| download |
home_page | None |
Summary | Exchange of file collections with LLMs. |
upload_time | 2025-02-22 20:15:22 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.10 |
license | None |
keywords |
ai
cli
documents
interchange
llm
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
.. vim: set fileencoding=utf-8:
.. -*- coding: utf-8 -*-
.. +--------------------------------------------------------------------------+
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| |
+--------------------------------------------------------------------------+
*******************************************************************************
mimeogram
*******************************************************************************
.. image:: https://img.shields.io/pypi/v/mimeogram
:alt: Package Version
:target: https://pypi.org/project/mimeogram/
.. image:: https://img.shields.io/pypi/status/mimeogram
:alt: PyPI - Status
:target: https://pypi.org/project/mimeogram/
.. image:: https://github.com/emcd/python-mimeogram/actions/workflows/tester.yaml/badge.svg?branch=master&event=push
:alt: Tests Status
:target: https://github.com/emcd/python-mimeogram/actions/workflows/tester.yaml
.. image:: https://emcd.github.io/python-mimeogram/coverage.svg
:alt: Code Coverage Percentage
:target: https://github.com/emcd/python-mimeogram/actions/workflows/tester.yaml
.. image:: https://img.shields.io/github/license/emcd/python-mimeogram
:alt: Project License
:target: https://github.com/emcd/python-mimeogram/blob/master/LICENSE.txt
.. image:: https://img.shields.io/pypi/pyversions/mimeogram
:alt: Python Versions
:target: https://pypi.org/project/mimeogram/
.. image:: https://raw.githubusercontent.com/emcd/python-mimeogram/master/data/pictures/logo.svg
:alt: Mimeogram Logo
:width: 800
:align: center
📨 A command-line tool for **exchanging collections of files with Large
Language Models** - bundle multiple files into a single clipboard-ready
document while preserving directory structure and metadata... good for code
reviews, project sharing, and LLM interactions.
Key Features ⭐
===============================================================================
* 📋 **Clipboard Integration**: Seamless copying and pasting by default.
* 🗂️ **Directory Structure**: Preserves hierarchical file organization.
* 🔄 **Interactive Reviews**: Review and apply proposed changes one by one.
* 🤖 **LLM Integration**: Built-in prompts and format instructions.
* 🛡️ **Path Protection**: Safeguards against dangerous modifications.
Installation 📦
===============================================================================
Standalone Executable (Recommended)
-------------------------------------------------------------------------------
Download the latest standalone executable for your platform from `GitHub
Releases <https://github.com/emcd/python-mimeogram/releases>`_. These
executables have no dependencies and work out of the box.
Python Package
-------------------------------------------------------------------------------
Executables Environment Manager
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Install with `pipx <https://pipx.pypa.io/stable/installation/>`_:
::
pipx install mimeogram
(Pipx is preferred because it helps ensure that you have access to the
``mimeogram`` executable througout your system rather than in any specific
virtual environment.)
Package Manager
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Install with `uv <https://github.com/astral-sh/uv/blob/main/README.md>`_:
::
uv pip install mimeogram
Or, install with ``pip``:
::
pip install mimeogram
Examples 💡
===============================================================================
Below are some simple examples. Please see the `examples documentation
<https://github.com/emcd/python-mimeogram/blob/master/documentation/sphinx/examples/cli.rst>`_
for more detailed usage patterns.
Working with Simple LLM Interfaces
-------------------------------------------------------------------------------
Use with API workbenches and with LLM GUIs which do not support persistent
user-customized instructions (e.g., `DeepSeek <https://chat.deepseek.com/>`_
and `Google Gemini <https://gemini.google.com/>`_):
* Bundle files with mimeogram format instructions into clipboard.
.. code-block:: bash
mimeogram create src/*.py tests/*.py --prepend-prompt
* Paste instructions and mimeogram into prompt text area in browser.
* Interact with LLM until you are ready to apply results.
* Request mimeogram from LLM and copy it from browser to clipboard.
* Apply mimeogram parts from clipboard. (On a terminal, this will be
interactive by default.)
.. code-block:: bash
mimeogram apply
Working with LLM Project Interfaces
-------------------------------------------------------------------------------
Some LLM service providers have the concept of projects. These allow you to
organize chats and persist a set of instructions across chats. Projects might
only be available for certain models. Examples of LLM service providers, which
support projects with some of their models, are `Claude <https://claude.ai/>`_
and `ChatGPT <https://chatgpt.com/>`_.
In these cases, you can take advantage of the project instructions so that you
do not need to include mimeogram instructions with each new chat:
* Copy mimeogram format instructions into clipboard.
.. code-block:: bash
mimeogram provide-prompt
* Paste mimeogram prompt into project instructions and save the update. Any new
chats will be able to reuse the project instructions hereafter.
* Simply create mimeograms for new chats without prepending instructions.
.. code-block:: bash
mimeogram create src/*.py tests/*.py
* Same workflow as chats without project support at this point: interact with
LLM, request mimeogram (as necessary), apply mimeogram (as necessary).
Interactive Review
-------------------------------------------------------------------------------
During application of a mimeogram, you will be, by default, presented with the
chance to review each part to apply. For each part, you will see a menu like
this:
.. code-block:: text
src/example.py [2.5K]
Action? (a)pply, (d)iff, (e)dit, (i)gnore, (s)elect hunks, (v)iew >
Choosing ``a`` to select the ``apply`` action will cause the part to be queued
for application once the reivew of all parts is complete. All queued parts are
applied simultaneously to prevent thrash in IDEs and language servers as
interdependent files are reevaluated.
Filesystem Protection
-------------------------------------------------------------------------------
If an LLM proposes the alteration of a sensitive file, such as one which may
contain credentials or affect the operating system, then the program makes an
attempt to flag this:
.. code-block:: text
~/.config/sensitive.conf [1.2K] [PROTECTED]
Action? (d)iff, (i)gnore, (p)ermit changes, (v)iew >
If, upon review of the proposed changes, you believe that they are safe, then
you can choose ``p`` to permit them, followed by ``a`` to apply them.
We take AI safety seriously. Please review all LLM-generated content, whether
it is flagged for a sensitive destination or not.
Configuration 🔧
===============================================================================
Default Location
-------------------------------------------------------------------------------
Mimeogram creates a configuration file on first run. You can find it at:
* Linux: ``~/.config/mimeogram/general.toml``
* macOS: ``~/Library/Application Support/mimeogram/general.toml``
* Windows: ``%LOCALAPPDATA%\\mimeogram\\general.toml``
Default Settings
-------------------------------------------------------------------------------
.. code-block:: toml
[apply]
from-clipboard = true # Read from clipboard by default
[create]
to-clipboard = true # Copy to clipboard by default
[prompt]
to-clipboard = true # Copy prompts to clipboard
[acquire-parts]
fail-on-invalid = false # Skip invalid files
recurse-directories = false
[update-parts]
disable-protections = false
Motivation 🎯
===============================================================================
Cost and Efficiency 💰
-------------------------------------------------------------------------------
* Cost optimization through GUI-based LLM services vs API billing.
* Support for batch operations instead of file-by-file interactions.
Technical Benefits ✅
-------------------------------------------------------------------------------
* Preserves hierarchical directory structure.
* Version control friendly. (I.e., honors Git ignore files.)
* Supports async/batch workflows.
Platform Neutrality ☁️
-------------------------------------------------------------------------------
* IDE and platform agnostic.
* No premium subscriptions required.
* Works with LLM GUIs lacking project functionality.
Limitations and Alternatives 🔀
===============================================================================
* LLMs must be prompted to understand and use mimeograms.
* Manual refresh of files needed (no automatic sync).
* Cannot retract stale content from conversation history in provider GUIs.
* Consider dedicated tools (e.g., Cursor) for tighter collaboration loops.
Comparison ⚖️
-------------------------------------------------------------------------------
+---------------------+------------+------------+-------------+--------------+
| Feature | Mimeograms | Projects | Direct API | Specialized |
| | | (Web) [1]_ | Integration | IDEs [2]_ |
+=====================+============+============+=============+==============+
| Cost Model | Flat rate | Flat rate | Usage-based | Flat rate |
+---------------------+------------+------------+-------------+--------------+
| Directory Structure | Yes | No | Yes [3]_ | Yes |
+---------------------+------------+------------+-------------+--------------+
| IDE Integration | Any | Web only | N/A | One |
+---------------------+------------+------------+-------------+--------------+
| Setup Required | CLI tool | None | SDK/Auth | Full install |
+---------------------+------------+------------+-------------+--------------+
| Version Control | Yes | No | Yes [3]_ | Yes |
+---------------------+------------+------------+-------------+--------------+
| Platform Support | Universal | Web | Universal | Limited |
+---------------------+------------+------------+-------------+--------------+
| Automation Support | Yes | No | Yes | Varies |
+---------------------+------------+------------+-------------+--------------+
.. [1] ChatGPT and Claude.ai subscription feature
.. [2] `Cursor <https://www.cursor.com/>`_, etc...
.. [3] Requires custom implementation
Notes:
- "Direct API Integration" refers to custom applications providing I/O tools
for LLMs to use via APIs, such as the Anthropic or OpenAI API.
- Cost differences can be significant at scale, especially when considering
cache misses against APIs.
Contributing 🤝
===============================================================================
Contributions welcome. Please see the `contribution guide
<https://github.com/emcd/python-mimeogram/tree/master/documentation/sphinx/contribution>`_
for:
* Code of conduct
* Development setup
* Coding guidelines
* Documentation standards
About the Name 📝
===============================================================================
The name "mimeogram" draws from multiple sources:
* 📜 From Ancient Greek roots:
* μῖμος (*mîmos*, "mimic") + -γραμμα (*-gramma*, "written character, that
which is drawn")
* Like *mimeograph* but emphasizing textual rather than pictorial content.
* 📨 From **MIME** (Multipurpose Internet Mail Extensions):
* Follows naming patterns from the Golden Age of Branding: Ford
Cruise-o-matic, Ronco Veg-O-Matic, etc....
* Reflects the MIME-inspired bundle format.
* 📬 Echoes *telegram*:
* Emphasizes message transmission.
* Suggests structured communication.
Note: Despite similar etymology, this project is distinct from the PyPI package
*mimeograph*, which serves different purposes.
Pronunciation? The one similar to *mimeograph* seems to roll off the tongue
more smoothly, though it is one more syllable than "mime-o-gram". Preferred
IPA: /ˈmɪm.i.ˌoʊ.ɡræm/.
`More Flair <https://www.imdb.com/title/tt0151804/characters/nm0431918>`_
===============================================================================
.. image:: https://img.shields.io/github/last-commit/emcd/python-mimeogram
:alt: GitHub last commit
:target: https://github.com/emcd/python-mimeogram
.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-grayscale-inverted-border-orange.json
:alt: Copier
:target: https://github.com/copier-org/copier
.. image:: https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg
:alt: Hatch
:target: https://github.com/pypa/hatch
.. image:: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit
:alt: pre-commit
:target: https://github.com/pre-commit/pre-commit
.. image:: https://img.shields.io/badge/security-bandit-yellow.svg
:alt: Bandit
:target: https://github.com/PyCQA/bandit
.. image:: https://img.shields.io/badge/linting-pylint-yellowgreen
:alt: Pylint
:target: https://github.com/pylint-dev/pylint
.. image:: https://microsoft.github.io/pyright/img/pyright_badge.svg
:alt: Pyright
:target: https://microsoft.github.io/pyright
.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
:alt: Ruff
:target: https://github.com/astral-sh/ruff
.. image:: https://img.shields.io/badge/hypothesis-tested-brightgreen.svg
:alt: Hypothesis
:target: https://hypothesis.readthedocs.io/en/latest/
.. image:: https://img.shields.io/pypi/implementation/mimeogram
:alt: PyPI - Implementation
:target: https://pypi.org/project/mimeogram/
.. image:: https://img.shields.io/pypi/wheel/mimeogram
:alt: PyPI - Wheel
:target: https://pypi.org/project/mimeogram/
Raw data
{
"_id": null,
"home_page": null,
"name": "mimeogram",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "ai, cli, documents, interchange, llm",
"author": null,
"author_email": "Eric McDonald <emcd@users.noreply.github.com>",
"download_url": "https://files.pythonhosted.org/packages/3c/50/6392383b3933375c58af3cdc5ca9448206fe6778c3a2ce61f96ae39afe96/mimeogram-1.0.tar.gz",
"platform": null,
"description": ".. 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&event=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\ud83d\udce8 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 \u2b50\n===============================================================================\n\n* \ud83d\udccb **Clipboard Integration**: Seamless copying and pasting by default.\n* \ud83d\uddc2\ufe0f **Directory Structure**: Preserves hierarchical file organization.\n* \ud83d\udd04 **Interactive Reviews**: Review and apply proposed changes one by one.\n* \ud83e\udd16 **LLM Integration**: Built-in prompts and format instructions.\n* \ud83d\udee1\ufe0f **Path Protection**: Safeguards against dangerous modifications.\n\n\nInstallation \ud83d\udce6\n===============================================================================\n\nStandalone Executable (Recommended)\n-------------------------------------------------------------------------------\n\nDownload the latest standalone executable for your platform from `GitHub\nReleases <https://github.com/emcd/python-mimeogram/releases>`_. These\nexecutables have no dependencies and work out of the box.\n\nPython Package\n-------------------------------------------------------------------------------\n\nExecutables Environment Manager\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nInstall with `pipx <https://pipx.pypa.io/stable/installation/>`_:\n\n::\n\n pipx install mimeogram\n\n(Pipx is preferred because it helps ensure that you have access to the\n``mimeogram`` executable througout your system rather than in any specific\nvirtual environment.)\n\n\nPackage Manager\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nInstall with `uv <https://github.com/astral-sh/uv/blob/main/README.md>`_:\n\n::\n\n uv pip install mimeogram\n\nOr, install with ``pip``:\n\n::\n\n pip install mimeogram\n\n\nExamples \ud83d\udca1\n===============================================================================\n\nBelow are some simple examples. Please see the `examples documentation\n<https://github.com/emcd/python-mimeogram/blob/master/documentation/sphinx/examples/cli.rst>`_\nfor more detailed usage patterns.\n\nWorking with Simple LLM Interfaces\n-------------------------------------------------------------------------------\n\nUse with API workbenches and with LLM GUIs which do not support persistent\nuser-customized instructions (e.g., `DeepSeek <https://chat.deepseek.com/>`_\nand `Google Gemini <https://gemini.google.com/>`_):\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* 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\n\nWorking with LLM Project Interfaces\n-------------------------------------------------------------------------------\n\nSome LLM service providers have the concept of projects. These allow you to\norganize chats and persist a set of instructions across chats. Projects might\nonly be available for certain models. Examples of LLM service providers, which\nsupport projects with some of their models, are `Claude <https://claude.ai/>`_\nand `ChatGPT <https://chatgpt.com/>`_.\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\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 >\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 >\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 \ud83d\udd27\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 \ud83c\udfaf\n===============================================================================\n\nCost and Efficiency \ud83d\udcb0\n-------------------------------------------------------------------------------\n* Cost optimization through GUI-based LLM services vs API billing.\n* Support for batch operations instead of file-by-file interactions.\n\nTechnical Benefits \u2705\n-------------------------------------------------------------------------------\n* Preserves hierarchical directory structure.\n* Version control friendly. (I.e., honors Git ignore files.)\n* Supports async/batch workflows.\n\nPlatform Neutrality \u2601\ufe0f\n-------------------------------------------------------------------------------\n* IDE and platform agnostic.\n* No premium subscriptions required.\n* Works with LLM GUIs lacking project functionality.\n\nLimitations and Alternatives \ud83d\udd00\n===============================================================================\n\n* LLMs must be prompted to understand and use mimeograms.\n* Manual refresh of files needed (no automatic sync).\n* Cannot retract stale content from conversation history in provider GUIs.\n* Consider dedicated tools (e.g., Cursor) for tighter collaboration loops.\n\nComparison \u2696\ufe0f\n-------------------------------------------------------------------------------\n\n+---------------------+------------+------------+-------------+--------------+\n| Feature | Mimeograms | Projects | Direct API | Specialized |\n| | | (Web) [1]_ | Integration | IDEs [2]_ |\n+=====================+============+============+=============+==============+\n| Cost Model | Flat rate | Flat rate | Usage-based | Flat rate |\n+---------------------+------------+------------+-------------+--------------+\n| Directory Structure | Yes | No | Yes [3]_ | Yes |\n+---------------------+------------+------------+-------------+--------------+\n| IDE Integration | Any | Web only | N/A | One |\n+---------------------+------------+------------+-------------+--------------+\n| Setup Required | CLI tool | None | SDK/Auth | Full install |\n+---------------------+------------+------------+-------------+--------------+\n| Version Control | Yes | No | Yes [3]_ | Yes |\n+---------------------+------------+------------+-------------+--------------+\n| Platform Support | Universal | Web | Universal | Limited |\n+---------------------+------------+------------+-------------+--------------+\n| Automation Support | Yes | No | Yes | Varies |\n+---------------------+------------+------------+-------------+--------------+\n\n.. [1] ChatGPT and Claude.ai subscription feature\n.. [2] `Cursor <https://www.cursor.com/>`_, etc...\n.. [3] Requires custom implementation\n\nNotes:\n\n- \"Direct API Integration\" refers to custom applications providing I/O tools\n for LLMs to use via APIs, such as the Anthropic or OpenAI API.\n- Cost differences can be significant at scale, especially when considering\n cache misses against APIs.\n\n\nContributing \ud83e\udd1d\n===============================================================================\n\nContributions welcome. Please see the `contribution guide\n<https://github.com/emcd/python-mimeogram/tree/master/documentation/sphinx/contribution>`_\nfor:\n\n* Code of conduct\n* Development setup\n* Coding guidelines\n* Documentation standards\n\n\nAbout the Name \ud83d\udcdd\n===============================================================================\n\nThe name \"mimeogram\" draws from multiple sources:\n\n* \ud83d\udcdc From Ancient Greek roots:\n * \u03bc\u1fd6\u03bc\u03bf\u03c2 (*m\u00eemos*, \"mimic\") + -\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1 (*-gramma*, \"written character, that\n which is drawn\")\n * Like *mimeograph* but emphasizing textual rather than pictorial content.\n\n* \ud83d\udce8 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* \ud83d\udcec 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: /\u02c8m\u026am.i.\u02cco\u028a.\u0261r\u00e6m/.\n\n\n`More Flair <https://www.imdb.com/title/tt0151804/characters/nm0431918>`_\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://img.shields.io/badge/security-bandit-yellow.svg\n :alt: Bandit\n :target: https://github.com/PyCQA/bandit\n\n.. image:: https://img.shields.io/badge/linting-pylint-yellowgreen\n :alt: Pylint\n :target: https://github.com/pylint-dev/pylint\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",
"bugtrack_url": null,
"license": null,
"summary": "Exchange of file collections with LLMs.",
"version": "1.0",
"project_urls": {
"Documentation": "https://emcd.github.io/python-mimeogram",
"Download": "https://pypi.org/project/mimeogram/#files",
"Homepage": "https://github.com/emcd/python-mimeogram",
"Issue Tracker": "https://github.com/emcd/python-mimeogram/issues",
"Source Code": "https://github.com/emcd/python-mimeogram"
},
"split_keywords": [
"ai",
" cli",
" documents",
" interchange",
" llm"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "4f4c8b228937838fff2719c858509277f921813fef0f00dbeb75037801e8fb95",
"md5": "c7ba8695cabf9dec5c62b42d6fbb5876",
"sha256": "b22e80ceb8d3d4b863f70a41ffe2cefd1dafd2ec448b285157dbf5d30846a536"
},
"downloads": -1,
"filename": "mimeogram-1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c7ba8695cabf9dec5c62b42d6fbb5876",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 77576,
"upload_time": "2025-02-22T20:15:15",
"upload_time_iso_8601": "2025-02-22T20:15:15.834113Z",
"url": "https://files.pythonhosted.org/packages/4f/4c/8b228937838fff2719c858509277f921813fef0f00dbeb75037801e8fb95/mimeogram-1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3c506392383b3933375c58af3cdc5ca9448206fe6778c3a2ce61f96ae39afe96",
"md5": "35a1dddaa05c0c703e3c098680f57020",
"sha256": "e59f4323a42ac7b58b804f0c42080529fbf5033c9a0257f92fc6c64a73618202"
},
"downloads": -1,
"filename": "mimeogram-1.0.tar.gz",
"has_sig": false,
"md5_digest": "35a1dddaa05c0c703e3c098680f57020",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 51939,
"upload_time": "2025-02-22T20:15:22",
"upload_time_iso_8601": "2025-02-22T20:15:22.654463Z",
"url": "https://files.pythonhosted.org/packages/3c/50/6392383b3933375c58af3cdc5ca9448206fe6778c3a2ce61f96ae39afe96/mimeogram-1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-22 20:15:22",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "emcd",
"github_project": "python-mimeogram",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "mimeogram"
}