llmail


Namellmail JSON
Version 0.3.0 PyPI version JSON
download
home_pagehttps://github.com/slashtechno/llmail
SummaryInteract with LLMs via email
upload_time2024-06-03 18:25:40
maintainerNone
docs_urlNone
authorslashtechno
requires_python<4.0.0,>=3.10.0
licenseGNU Affero General Public License v3
keywords llm email ai openai
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # LLMail  
Interact with Large Language Models (LLMs) via email.
[![Watch the video](https://img.youtube.com/vi/0YHQaxvxGoI/maxresdefault.jpg)](https://youtu.be/0YHQaxvxGoI)


### Features  
- Utilize any OpenAI-compatible API with any available model
    - At the time of writing, [OpenRouter](https://openrouter.ai/docs#models) offers free access to specific models with an OpenAI-compatible API
    - [Ollama](https://github.com/ollama/ollama) has an OpenAI-compatible API and allows for easy local deployment of LLMs  
- Customize the behavior of the LLM with a system prompt
- Easily run in a Docker container
    - The default `docker-compose.yml` file uses `restart: unless-stopped` to ensure the container restarts after a reboot or if it crashes  
- Check every _n_ seconds 
- No need for a local database - uses IMAP
- Use [phidata](https://github.com/phidatahq/phidata) for real-time information retrieval
    <!-- - Websites to scrape can be configured with `--scrapable-url` (flag can be repeated to add multiple sites) or `SCRAPABLE_URL` in the `.env` file (multiple sites can be separated by commas)   -->
    - Use [Exa](https://exa.ai/) or DuckDuckGo for searching the internet  
    - Get information from a URL when requested and understand it when requested  

## Prerequisites  
### General
- Access to an OpenAI-compatible API (including locally hosted LLMs)  
- An email account that supports IMAP and SMTP  
### Python  
- Python ^3.11  
- Poetry (optional)  
### Docker
- Docker  

## Usage  
### Installing from PyPi with `pip` (recommended)  
This assumes you have the correct version of Python installed
1. `pip install llmail`  
    a. You may need to use `pip3` instead of `pip`  
2. `llmail`  

### Installation from source or with Docker
Cloning the repository is not required when installing from PyPi but is required when installing from source  
1. Clone this repo with `git clone https://github.com/slashtechno/llmail`  
2. `cd` into the cloned repository  
3. Install and run with one of the following methods:



#### Poetry
1. `poetry install`  
2. `poetry run -- llmail`  

#### Docker
1. Configure a `.env` file (see Configuration below)  
    a. You can also edit the `docker-compose.yml` file directly but by default it loads the `.env` file
2. `docker compose up -d`

### Configuration  
To configure the program, either use CLI flags (`--help` for more information) or environment variables (view `.env.example` for more information).
It is recommended to just copy `.env.example` to `.env` and fill in the necessary information.
### Interacting with the LLM  
Once the program is running, you can send an email to the address you configured with whatever the subject is set to. The body of the email will be sent to the LLM, and the response will be sent back to you.  
For example, if in `.env` you set `SUBJECT_KEY=llmail`, you would send an email with the subject `llmail` to the configured email address.  
### How to uninstall  
- If you used `pip`, run `pip uninstall llmail`
- If you used Poetry, just delete the virtual environment and then the cloned repository  
- If you used Docker, run `docker compose down` in the cloned repository and then delete the cloned repository  
            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/slashtechno/llmail",
    "name": "llmail",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0.0,>=3.10.0",
    "maintainer_email": null,
    "keywords": "llm, email, ai, openai",
    "author": "slashtechno",
    "author_email": "77907286+slashtechno@users.noreply.github.com",
    "download_url": "https://files.pythonhosted.org/packages/6b/85/8b7ee596cd42acf45e298b1e53d0d322aee363e064a326568bf06953d9ef/llmail-0.3.0.tar.gz",
    "platform": null,
    "description": "# LLMail  \nInteract with Large Language Models (LLMs) via email.\n[![Watch the video](https://img.youtube.com/vi/0YHQaxvxGoI/maxresdefault.jpg)](https://youtu.be/0YHQaxvxGoI)\n\n\n### Features  \n- Utilize any OpenAI-compatible API with any available model\n    - At the time of writing, [OpenRouter](https://openrouter.ai/docs#models) offers free access to specific models with an OpenAI-compatible API\n    - [Ollama](https://github.com/ollama/ollama) has an OpenAI-compatible API and allows for easy local deployment of LLMs  \n- Customize the behavior of the LLM with a system prompt\n- Easily run in a Docker container\n    - The default `docker-compose.yml` file uses `restart: unless-stopped` to ensure the container restarts after a reboot or if it crashes  \n- Check every _n_ seconds \n- No need for a local database - uses IMAP\n- Use [phidata](https://github.com/phidatahq/phidata) for real-time information retrieval\n    <!-- - Websites to scrape can be configured with `--scrapable-url` (flag can be repeated to add multiple sites) or `SCRAPABLE_URL` in the `.env` file (multiple sites can be separated by commas)   -->\n    - Use [Exa](https://exa.ai/) or DuckDuckGo for searching the internet  \n    - Get information from a URL when requested and understand it when requested  \n\n## Prerequisites  \n### General\n- Access to an OpenAI-compatible API (including locally hosted LLMs)  \n- An email account that supports IMAP and SMTP  \n### Python  \n- Python ^3.11  \n- Poetry (optional)  \n### Docker\n- Docker  \n\n## Usage  \n### Installing from PyPi with `pip` (recommended)  \nThis assumes you have the correct version of Python installed\n1. `pip install llmail`  \n    a. You may need to use `pip3` instead of `pip`  \n2. `llmail`  \n\n### Installation from source or with Docker\nCloning the repository is not required when installing from PyPi but is required when installing from source  \n1. Clone this repo with `git clone https://github.com/slashtechno/llmail`  \n2. `cd` into the cloned repository  \n3. Install and run with one of the following methods:\n\n\n\n#### Poetry\n1. `poetry install`  \n2. `poetry run -- llmail`  \n\n#### Docker\n1. Configure a `.env` file (see Configuration below)  \n    a. You can also edit the `docker-compose.yml` file directly but by default it loads the `.env` file\n2. `docker compose up -d`\n\n### Configuration  \nTo configure the program, either use CLI flags (`--help` for more information) or environment variables (view `.env.example` for more information).\nIt is recommended to just copy `.env.example` to `.env` and fill in the necessary information.\n### Interacting with the LLM  \nOnce the program is running, you can send an email to the address you configured with whatever the subject is set to. The body of the email will be sent to the LLM, and the response will be sent back to you.  \nFor example, if in `.env` you set `SUBJECT_KEY=llmail`, you would send an email with the subject `llmail` to the configured email address.  \n### How to uninstall  \n- If you used `pip`, run `pip uninstall llmail`\n- If you used Poetry, just delete the virtual environment and then the cloned repository  \n- If you used Docker, run `docker compose down` in the cloned repository and then delete the cloned repository  ",
    "bugtrack_url": null,
    "license": "GNU Affero General Public License v3",
    "summary": "Interact with LLMs via email",
    "version": "0.3.0",
    "project_urls": {
        "Homepage": "https://github.com/slashtechno/llmail",
        "Repository": "https://github.com/slashtechno/llmail"
    },
    "split_keywords": [
        "llm",
        " email",
        " ai",
        " openai"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f11305af282924815890787e83cb084c22e28b950f6eb0e0e7c4010a09737db7",
                "md5": "64383414d1b82a5ad64ed3764918905a",
                "sha256": "919b1f4b6fc721559edd4820a52b8ad7dc153c98e6274e89d2c9bc54263540b8"
            },
            "downloads": -1,
            "filename": "llmail-0.3.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "64383414d1b82a5ad64ed3764918905a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0.0,>=3.10.0",
            "size": 27004,
            "upload_time": "2024-06-03T18:25:38",
            "upload_time_iso_8601": "2024-06-03T18:25:38.803749Z",
            "url": "https://files.pythonhosted.org/packages/f1/13/05af282924815890787e83cb084c22e28b950f6eb0e0e7c4010a09737db7/llmail-0.3.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6b858b7ee596cd42acf45e298b1e53d0d322aee363e064a326568bf06953d9ef",
                "md5": "b8ce01f9236264cff686b5edc78b4c92",
                "sha256": "a4b43c3c71231cd53227d08f659caffc86e0d909f282e844d3f497e3b2b54acd"
            },
            "downloads": -1,
            "filename": "llmail-0.3.0.tar.gz",
            "has_sig": false,
            "md5_digest": "b8ce01f9236264cff686b5edc78b4c92",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0.0,>=3.10.0",
            "size": 24419,
            "upload_time": "2024-06-03T18:25:40",
            "upload_time_iso_8601": "2024-06-03T18:25:40.132156Z",
            "url": "https://files.pythonhosted.org/packages/6b/85/8b7ee596cd42acf45e298b1e53d0d322aee363e064a326568bf06953d9ef/llmail-0.3.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-03 18:25:40",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "slashtechno",
    "github_project": "llmail",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "llmail"
}
        
Elapsed time: 0.25253s