pygrammalecte


Namepygrammalecte JSON
Version 1.5.0 PyPI version JSON
download
home_pageNone
SummaryGrammalecte, le correcteur grammatical en Python
upload_time2024-12-13 12:33:46
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseBSD-3-Clause
keywords french grammalecte grammar-checker grammatical linter
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage No coveralls.
            # pygrammalecte

[![PyPI](https://img.shields.io/pypi/v/pygrammalecte.svg)](https://pypi.python.org/pypi/pygrammalecte)
[![PyPI](https://img.shields.io/pypi/l/pygrammalecte.svg)](https://github.com/vpoulailleau/pygrammalecte/blob/master/LICENSE)
[![Code style: Ruff](https://img.shields.io/badge/code%20style-ruff-000000.svg)](https://github.com/astral-sh/ruff)
[![Downloads](https://pepy.tech/badge/pygrammalecte)](https://pepy.tech/project/pygrammalecte)
[![Test Coverage](https://api.codeclimate.com/v1/badges/44347ade656fa1e652ae/test_coverage)](https://codeclimate.com/github/vpoulailleau/pygrammalecte/test_coverage)
[![Maintainability](https://api.codeclimate.com/v1/badges/44347ade656fa1e652ae/maintainability)](https://codeclimate.com/github/vpoulailleau/pygrammalecte/maintainability)

(english version at the bottom of this document)

Grammalecte, le correcteur grammatical en Python.

Pour être précis, ce projet n’est pas Grammalecte, mais un « wrapper » permettant de l’utiliser facilement en Python.

## Installation

Vous devez utiliser un Python en version supérieure ou égale à 3.9.

L’utilisation d’un environnement virtuel est fortement recommandé.

```sh
python3 -m pip install pygrammalecte
```

## Utilisation

### Vérification d’une chaîne de caractères

```python
from pygrammalecte import grammalecte_text

texte_bidon = """\
Coucou, je veut du fromage.
Je sais coder en VHDL.
Le VHDL est est compliquer.
"""

for message in grammalecte_text(texte_bidon):
    print(message)
```

### Vérification d’un fichier

Vous devez fournir le chemin du fichier en `str` ou en `pathlib.Path`. Le fichier doit être un fichier texte brut (pas un fichier Word ou OpenDocument par exemple).

```python
from pathlib import Path

from pygrammalecte import grammalecte_file

filepath = Path("toto.txt")

for message in grammalecte_file(filepath):
    print(message)
```

### Messages générés

Les fonctions `grammalecte_file` et `grammalecte_text` sont des générateurs, vous pouvez donc les utiliser dans une boucle `for`. Elles génèrent des `GrammalecteMessage`.

Deux types de `GrammalecteMessage` existent :

- `GrammalecteSpellingMessage` qui a comme attributs :

  - `line` : numéro de la ligne dans le texte vérifié
  - `start` : numéro du caractère de début de l’erreur dans la ligne
  - `end` : numéro du caractère de fin de l’erreur dans la ligne
  - `word` : le mot non reconnu par `Grammalecte`
  - `message` : message d’erreur

- `GrammalecteGrammarMessage` qui a comme attributs :
  - `line` : numéro de la ligne dans le texte vérifié
  - `start` : numéro du caractère de début de l’erreur dans la ligne
  - `end` : numéro du caractère de fin de l’erreur dans la ligne
  - `url` : l’URL fournie par `Grammalecte`
  - `color` : une couleur fournie par `Grammalecte`, c’est une liste de 3 entiers entre 0 et 255.
  - `suggestions` : propositions de correction
  - `message` : message d’erreur
  - `rule` : identifiant de la règle violée
  - `type` : type de la règle (`"conj"`…)

## Changelog

### Version 1.5.0

- Amélioration du support de Windows

### Version 1.4.0

- Passage à `uv`
- Compatibilité Python 3.9 à 3.13
- Utilisation de Grammalecte v2.1.1

### Version v1.3.0

- Correction due à un fonctionnement étrange de Grammalecte v1.12.0

### Version v1.2.0

- Utilisation de Grammalecte v1.12.0

### Version v1.1.0

- Ajout de l'attribut `message` pour `GrammalecteSpellingMessage`

### Version v1.0.0

- Refactoring
- Ajout de l'intégration continue

### Version v0.1.0

- Première version !
- Utilisation de Grammalecte v1.11.0

## English version

This is a wrapper for the french grammatical checker called Grammalecte.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "pygrammalecte",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "french, grammalecte, grammar-checker, grammatical, linter",
    "author": null,
    "author_email": "Vincent Poulailleau <vpoulailleau@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/31/c8/b9e842180a6549b82b13be3ff4e4878b5cfb772cde1e15762aba7c65b2cc/pygrammalecte-1.5.0.tar.gz",
    "platform": null,
    "description": "# pygrammalecte\n\n[![PyPI](https://img.shields.io/pypi/v/pygrammalecte.svg)](https://pypi.python.org/pypi/pygrammalecte)\n[![PyPI](https://img.shields.io/pypi/l/pygrammalecte.svg)](https://github.com/vpoulailleau/pygrammalecte/blob/master/LICENSE)\n[![Code style: Ruff](https://img.shields.io/badge/code%20style-ruff-000000.svg)](https://github.com/astral-sh/ruff)\n[![Downloads](https://pepy.tech/badge/pygrammalecte)](https://pepy.tech/project/pygrammalecte)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/44347ade656fa1e652ae/test_coverage)](https://codeclimate.com/github/vpoulailleau/pygrammalecte/test_coverage)\n[![Maintainability](https://api.codeclimate.com/v1/badges/44347ade656fa1e652ae/maintainability)](https://codeclimate.com/github/vpoulailleau/pygrammalecte/maintainability)\n\n(english version at the bottom of this document)\n\nGrammalecte, le correcteur grammatical en Python.\n\nPour \u00eatre pr\u00e9cis, ce projet n\u2019est pas Grammalecte, mais un \u00ab\u00a0wrapper\u00a0\u00bb permettant de l\u2019utiliser facilement en Python.\n\n## Installation\n\nVous devez utiliser un Python en version sup\u00e9rieure ou \u00e9gale \u00e0 3.9.\n\nL\u2019utilisation d\u2019un environnement virtuel est fortement recommand\u00e9.\n\n```sh\npython3 -m pip install pygrammalecte\n```\n\n## Utilisation\n\n### V\u00e9rification d\u2019une cha\u00eene de caract\u00e8res\n\n```python\nfrom pygrammalecte import grammalecte_text\n\ntexte_bidon = \"\"\"\\\nCoucou, je veut du fromage.\nJe sais coder en VHDL.\nLe VHDL est est compliquer.\n\"\"\"\n\nfor message in grammalecte_text(texte_bidon):\n    print(message)\n```\n\n### V\u00e9rification d\u2019un fichier\n\nVous devez fournir le chemin du fichier en `str` ou en `pathlib.Path`. Le fichier doit \u00eatre un fichier texte brut (pas un fichier Word ou OpenDocument par exemple).\n\n```python\nfrom pathlib import Path\n\nfrom pygrammalecte import grammalecte_file\n\nfilepath = Path(\"toto.txt\")\n\nfor message in grammalecte_file(filepath):\n    print(message)\n```\n\n### Messages g\u00e9n\u00e9r\u00e9s\n\nLes fonctions `grammalecte_file` et `grammalecte_text` sont des g\u00e9n\u00e9rateurs, vous pouvez donc les utiliser dans une boucle `for`. Elles g\u00e9n\u00e8rent des `GrammalecteMessage`.\n\nDeux types de `GrammalecteMessage` existent\u00a0:\n\n- `GrammalecteSpellingMessage` qui a comme attributs\u00a0:\n\n  - `line`\u00a0: num\u00e9ro de la ligne dans le texte v\u00e9rifi\u00e9\n  - `start`\u00a0: num\u00e9ro du caract\u00e8re de d\u00e9but de l\u2019erreur dans la ligne\n  - `end`\u00a0: num\u00e9ro du caract\u00e8re de fin de l\u2019erreur dans la ligne\n  - `word`\u00a0: le mot non reconnu par `Grammalecte`\n  - `message`\u00a0: message d\u2019erreur\n\n- `GrammalecteGrammarMessage` qui a comme attributs\u00a0:\n  - `line`\u00a0: num\u00e9ro de la ligne dans le texte v\u00e9rifi\u00e9\n  - `start`\u00a0: num\u00e9ro du caract\u00e8re de d\u00e9but de l\u2019erreur dans la ligne\n  - `end`\u00a0: num\u00e9ro du caract\u00e8re de fin de l\u2019erreur dans la ligne\n  - `url`\u00a0: l\u2019URL fournie par `Grammalecte`\n  - `color`\u00a0: une couleur fournie par `Grammalecte`, c\u2019est une liste de 3 entiers entre 0 et 255.\n  - `suggestions`\u00a0: propositions de correction\n  - `message`\u00a0: message d\u2019erreur\n  - `rule`\u00a0: identifiant de la r\u00e8gle viol\u00e9e\n  - `type`\u00a0: type de la r\u00e8gle (`\"conj\"`\u2026)\n\n## Changelog\n\n### Version 1.5.0\n\n- Am\u00e9lioration du support de Windows\n\n### Version 1.4.0\n\n- Passage \u00e0 `uv`\n- Compatibilit\u00e9 Python 3.9 \u00e0 3.13\n- Utilisation de Grammalecte v2.1.1\n\n### Version v1.3.0\n\n- Correction due \u00e0 un fonctionnement \u00e9trange de Grammalecte v1.12.0\n\n### Version v1.2.0\n\n- Utilisation de Grammalecte v1.12.0\n\n### Version v1.1.0\n\n- Ajout de l'attribut `message` pour `GrammalecteSpellingMessage`\n\n### Version v1.0.0\n\n- Refactoring\n- Ajout de l'int\u00e9gration continue\n\n### Version v0.1.0\n\n- Premi\u00e8re version\u00a0!\n- Utilisation de Grammalecte v1.11.0\n\n## English version\n\nThis is a wrapper for the french grammatical checker called Grammalecte.\n",
    "bugtrack_url": null,
    "license": "BSD-3-Clause",
    "summary": "Grammalecte, le correcteur grammatical en Python",
    "version": "1.5.0",
    "project_urls": {
        "Repository": "https://github.com/vpoulailleau/pygrammalecte",
        "Source code": "https://github.com/vpoulailleau/pygrammalecte",
        "documentation": "https://github.com/vpoulailleau/pygrammalecte",
        "homepage": "https://github.com/vpoulailleau/pygrammalecte"
    },
    "split_keywords": [
        "french",
        " grammalecte",
        " grammar-checker",
        " grammatical",
        " linter"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d60a1d9c3f6563ad5a6acb7bf191c7b267ca1677ddad20fd772d7aa46e11821c",
                "md5": "79a429822e04f1053632b48a5d8950c4",
                "sha256": "460c293dc7ca4c7bad720d30a355f5fef59794078b452f81eed52474846b8103"
            },
            "downloads": -1,
            "filename": "pygrammalecte-1.5.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "79a429822e04f1053632b48a5d8950c4",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 6087,
            "upload_time": "2024-12-13T12:33:45",
            "upload_time_iso_8601": "2024-12-13T12:33:45.105675Z",
            "url": "https://files.pythonhosted.org/packages/d6/0a/1d9c3f6563ad5a6acb7bf191c7b267ca1677ddad20fd772d7aa46e11821c/pygrammalecte-1.5.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "31c8b9e842180a6549b82b13be3ff4e4878b5cfb772cde1e15762aba7c65b2cc",
                "md5": "ba58683c064ec196b071178a3769443d",
                "sha256": "48c99525f75f78df536bfca12150d3e0f8ca322235535768fca1e03dca2bbd83"
            },
            "downloads": -1,
            "filename": "pygrammalecte-1.5.0.tar.gz",
            "has_sig": false,
            "md5_digest": "ba58683c064ec196b071178a3769443d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 6494,
            "upload_time": "2024-12-13T12:33:46",
            "upload_time_iso_8601": "2024-12-13T12:33:46.241488Z",
            "url": "https://files.pythonhosted.org/packages/31/c8/b9e842180a6549b82b13be3ff4e4878b5cfb772cde1e15762aba7c65b2cc/pygrammalecte-1.5.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-13 12:33:46",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "vpoulailleau",
    "github_project": "pygrammalecte",
    "travis_ci": true,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pygrammalecte"
}
        
Elapsed time: 0.40862s