proofer


Nameproofer JSON
Version 0.1.1 PyPI version JSON
download
home_pagehttps://github.com/joypauls/proofer
SummaryA CLI-based agent for proofreading and editing short-form writing
upload_time2025-07-18 04:02:56
maintainerNone
docs_urlNone
authorjoypauls
requires_python<4.0,>=3.13
licenseMIT
keywords cli spellcheck editor agent openai proofreading langgraph
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![python](https://img.shields.io/badge/python-3.13-blue)](https://www.python.org)
[![PyPI version](https://badge.fury.io/py/proofer.svg)](https://badge.fury.io/py/proofer)

# proofer

A minimal, CLI-based agent built with LangGraph for proofreading and editing short-form writing like blog posts. Displays a helpful git-like diff with suggestions and the option to automatically apply changes with backups.

![Usage Screenshot](./docs/images/screenshot.png)

## User Guide

### OpenAI API Key

For most tasks this library uses OpenAI API's so you'll need to set the `OPENAI_API_KEY` environment variable. An easy way to do this is to put this line:

```
export OPENAI_API_KEY=<your key>
```

in your `.zshrc` file or whichever configuration file your setup uses.

### Install

Available on PyPI (i.e. `pip install proofer`)

### Usage

Either pass in the path to a file (works best with markdown or plain text documents)

```
proofer file.md
```

or some text directly

```
proofer -t "Some text with spelking errors"
```

_Note: The intent of this project is to support short-form writing (<1500 words or so). It will struggle with longer documents, which might be addressed in a future release._

#### Auto-Apply Changes

If you want to live dangerously, you can auto-apply changes identified like so:

```
proofer file.md --yes
```

## Development

This project currently requires Python 3.13 ([pyenv](https://realpython.com/intro-to-pyenv/) is recommended) and uses Poetry as the dependency manager and packaging tool.

For now, checkout the `Makefile` as a guide.

| Command      | Description              |
| ------------ | ------------------------ |
| make install | Install all dependencies |
| make test    | Run unit tests           |

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/joypauls/proofer",
    "name": "proofer",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.13",
    "maintainer_email": null,
    "keywords": "cli, spellcheck, editor, agent, openai, proofreading, langgraph",
    "author": "joypauls",
    "author_email": "joypaulsen3@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/19/b1/80cee114016f5abda9692851dfd4b22061d4ce1a9efd2ab0d2376189ccf9/proofer-0.1.1.tar.gz",
    "platform": null,
    "description": "[![python](https://img.shields.io/badge/python-3.13-blue)](https://www.python.org)\n[![PyPI version](https://badge.fury.io/py/proofer.svg)](https://badge.fury.io/py/proofer)\n\n# proofer\n\nA minimal, CLI-based agent built with LangGraph for proofreading and editing short-form writing like blog posts. Displays a helpful git-like diff with suggestions and the option to automatically apply changes with backups.\n\n![Usage Screenshot](./docs/images/screenshot.png)\n\n## User Guide\n\n### OpenAI API Key\n\nFor most tasks this library uses OpenAI API's so you'll need to set the `OPENAI_API_KEY` environment variable. An easy way to do this is to put this line:\n\n```\nexport OPENAI_API_KEY=<your key>\n```\n\nin your `.zshrc` file or whichever configuration file your setup uses.\n\n### Install\n\nAvailable on PyPI (i.e. `pip install proofer`)\n\n### Usage\n\nEither pass in the path to a file (works best with markdown or plain text documents)\n\n```\nproofer file.md\n```\n\nor some text directly\n\n```\nproofer -t \"Some text with spelking errors\"\n```\n\n_Note: The intent of this project is to support short-form writing (<1500 words or so). It will struggle with longer documents, which might be addressed in a future release._\n\n#### Auto-Apply Changes\n\nIf you want to live dangerously, you can auto-apply changes identified like so:\n\n```\nproofer file.md --yes\n```\n\n## Development\n\nThis project currently requires Python 3.13 ([pyenv](https://realpython.com/intro-to-pyenv/) is recommended) and uses Poetry as the dependency manager and packaging tool.\n\nFor now, checkout the `Makefile` as a guide.\n\n| Command      | Description              |\n| ------------ | ------------------------ |\n| make install | Install all dependencies |\n| make test    | Run unit tests           |\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A CLI-based agent for proofreading and editing short-form writing",
    "version": "0.1.1",
    "project_urls": {
        "Homepage": "https://github.com/joypauls/proofer",
        "Repository": "https://github.com/joypauls/proofer"
    },
    "split_keywords": [
        "cli",
        " spellcheck",
        " editor",
        " agent",
        " openai",
        " proofreading",
        " langgraph"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "41071c97a879e8cd5f2c05076d9395100290b21338645b1a8af0aad82d51f984",
                "md5": "374acbed7baeab46c89c87ff7a5fba28",
                "sha256": "4e3226505ec77bb09001bf2b8de098eb6941af7f983ba61b3b66fcc71db6e4a3"
            },
            "downloads": -1,
            "filename": "proofer-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "374acbed7baeab46c89c87ff7a5fba28",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.13",
            "size": 7856,
            "upload_time": "2025-07-18T04:02:55",
            "upload_time_iso_8601": "2025-07-18T04:02:55.859481Z",
            "url": "https://files.pythonhosted.org/packages/41/07/1c97a879e8cd5f2c05076d9395100290b21338645b1a8af0aad82d51f984/proofer-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "19b180cee114016f5abda9692851dfd4b22061d4ce1a9efd2ab0d2376189ccf9",
                "md5": "739cd08d7c0c2518306b147fce51a3af",
                "sha256": "4a1dc9fdd5500fb4a6bd0e0b4a0d6840e308082bd89bcf21909274dcd6742735"
            },
            "downloads": -1,
            "filename": "proofer-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "739cd08d7c0c2518306b147fce51a3af",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.13",
            "size": 6144,
            "upload_time": "2025-07-18T04:02:56",
            "upload_time_iso_8601": "2025-07-18T04:02:56.872516Z",
            "url": "https://files.pythonhosted.org/packages/19/b1/80cee114016f5abda9692851dfd4b22061d4ce1a9efd2ab0d2376189ccf9/proofer-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-18 04:02:56",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "joypauls",
    "github_project": "proofer",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "proofer"
}
        
Elapsed time: 1.76210s