Giter VIP home page Giter VIP logo

pygrammalecte's Introduction

pygrammalecte

PyPI PyPI Travis Code style: Black Downloads Test Coverage 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.7.

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

python3 -m pip install pygrammalecte

Utilisation

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

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).

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 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.

pygrammalecte's People

Contributors

mothsart avatar vpoulailleau avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

pygrammalecte's Issues

TypeError: list indices must be integers or slices, not str

Hi,

I'm just trying to run the simple example you give :

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)

but get a TypeError :

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-54-f15cb3f61a91> in <module>
      7 """
      8 
----> 9 for message in grammalecte_text(texte_bidon):
     10     print(message)

c:\users\abdel\appdata\local\programs\python\python38\lib\site-packages\pygrammalecte\pygrammalecte.py in grammalecte_text(text)
     95         with open(tmpfile, "w", encoding="utf-8") as f:
     96             f.write(text)
---> 97         yield from grammalecte_file(tmpfile)
     98 
     99 

c:\users\abdel\appdata\local\programs\python\python38\lib\site-packages\pygrammalecte\pygrammalecte.py in grammalecte_file(filename)
    113             result = _run_grammalecte(filename)
    114             stdout = result.stdout
--> 115     yield from _convert_to_messages(stdout)
    116 
    117 

c:\users\abdel\appdata\local\programs\python\python38\lib\site-packages\pygrammalecte\pygrammalecte.py in _convert_to_messages(grammalecte_json)
    124     )
    125     warnings = json.loads(grammalecte_json)
--> 126     for warning in warnings["data"]:
    127         lineno = int(warning["iParagraph"])
    128         messages = []

TypeError: list indices must be integers or slices, not str

pygrammalecte n'est pas compatible avec Google Colab

Impossible d'installer pygrammalect sur un notebook Colab.

J'ai essayé :
!python3 -m pip install pygrammalecte et !pip install pygrammalecte

et j'obtiens le message suivant :
ERROR: Could not find a version that satisfies the requirement pygrammalecte (from versions: none)
ERROR: No matching distribution found for pygrammalecte

Grammalecte-fr not installed on Windows 10

Fatally i get this error :

File "C:\xxx\pygrammalecte\pygrammalecte.py", line 128, in _convert_to_messages
    for warning in warnings["data"]:

TypeError: list indices must be integers or slices, not str

The list "warnings" is empty, so it doesn't found the key "data"
I tried to uninstall pygrammalecte and retry, but i can't see "Grammalecte-fr" anywhere

How can I solve this ?

Changer l'ordre des suggestions

Est-il possible de changer l'ordre des mots dans la suggestion?
Par exemple, ici on a: (Suggestions : compliquées, compliqués, compliqué, compliquée).
1- Selon quoi les suggestions sont-elles organisées?
2- Peut-on changer l'ordre des suggestions? (par exp: on aura: (Suggestions : compliqué, compliquée, compliquées, compliqués) au lieu de (Suggestions : compliquées, compliqués, compliqué, compliquée))
Merci

404 Client Error when installing Grammalect

Bonjour,

J'ai essayé d'utiliser pygrammalecte selon l'exemple fourni dans votre README, à savoir:

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)

Avec cela, j'obtiens comme erreur:

HTTPError: 404 Client Error: Not Found for url: https://grammalecte.net/grammalecte/zip/Grammalecte-fr-v1.12.0.zip

J'ai l'impression que le paquet pip n'est pas à jour avec les dernières modifications du dépôt car je n'ai pas les derniers commits intégrés dans le code que j'obtiens avec pip, par exemple, la version de la mise à jour de la version Grammalecte et la nouvelle URL de téléchargement.

Si besoin, je suis sous Manjaro et utilise la version 3.10.10 de python

Merci!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.