prune-lib


Nameprune-lib JSON
Version 1.22.2 PyPI version JSON
download
home_pageNone
SummaryInternal library for prune.sh
upload_time2025-09-04 09:48:57
maintainerNone
docs_urlNone
authorNone
requires_python<4.0,>=3.12
licenseNone
keywords captcha django code-quality
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # prune_lib

prune_lib est une bibliothèque Python regroupant des fonctions utilitaires réutilisables.  
L’objectif est de faciliter le développement de projets en centralisant des outils communs.

Le projet inclut aussi prune_captcha, un module dédié à l’ajout d’un CAPTCHA personnalisé dans les formulaires de contact.

## Projet UV

### Installation

Lancez la commande suivante dans le terminal :

```bash
uv add prune_lib
```

### Mise à jour de la bilbiothèque

N’hésitez pas à exécuter régulièrement uv sync --upgrade, car la bibliothèque évolue avec le temps et nos pratiques !

## Projet Poetry

### Installation

Lancez la commande suivante :

```bash
poetry add prune_lib
```

### Mise à jour de la bibliothèque

N’hésitez pas à exécuter régulièrement poetry update, car la bibliothèque évolue avec le temps et nos pratiques !

## Objectifs

-   Réutiliser facilement des fonctions communes.
-   Fournir une alternative simple à reCAPTCHA.
-   Ne dépendre d’aucun service externe.

## Intégration du captcha

### Configuration

Dans `settings.py`, définis le chemin des images utilisées pour le puzzle :

```python
PUZZLE_IMAGE_STATIC_PATH = "website/static/website/images/puzzles/"
```

Important : Tu dois importer les fichiers statiques (css, js) présents dans "prune_captcha/static/".

```html
<header>
    <link
        rel="stylesheet"
        href="{% static 'prune_captcha/css/captcha.css' %}"
    />
    <script defer src="{% static 'prune_captcha/js/captcha.js' %}"></script>
</header>
```

### Utilisation

-   Requête GET (affichage du formulaire)

    -   Utilise create_and_get_captcha pour générer les données du captcha :

        ```python
        from prune_captcha.utils import create_and_get_captcha
        ```

        ```python
        puzzle = create_and_get_captcha(request)
        ```

    -   Passe les données dans le contexte sous la variable puzzle :

        ```python
        return render(
            request,
            "website/pages/contact/page.html",
            {"form": form, "puzzle": puzzle},
        )
        ```

    -   Inclus le composant dans ton template :

        ```
        {% include "prune_captcha/captcha.html" %}
        ```

-   Requête POST (soumission du formulaire)

    -   Utilise verify_captcha pour valider le captcha :

        ```python
        from prune_captcha.utils import verify_captcha
        ```

        ```python
        response = verify_captcha(request)
        ```

    -   True si le captcha est correct, sinon False.

    -   Redirige en cas de captcha incorrect.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "prune-lib",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.12",
    "maintainer_email": null,
    "keywords": "captcha, django, code-quality",
    "author": null,
    "author_email": "Arnout <bastien@prune.sh>",
    "download_url": "https://files.pythonhosted.org/packages/0a/0d/686949b8c9d61e26a178d3aab41ec9e77c88ad7cab2236d3f4e3389d9a84/prune_lib-1.22.2.tar.gz",
    "platform": null,
    "description": "# prune_lib\n\nprune_lib est une biblioth\u00e8que Python regroupant des fonctions utilitaires r\u00e9utilisables.  \nL\u2019objectif est de faciliter le d\u00e9veloppement de projets en centralisant des outils communs.\n\nLe projet inclut aussi prune_captcha, un module d\u00e9di\u00e9 \u00e0 l\u2019ajout d\u2019un CAPTCHA personnalis\u00e9 dans les formulaires de contact.\n\n## Projet UV\n\n### Installation\n\nLancez la commande suivante dans le terminal :\n\n```bash\nuv add prune_lib\n```\n\n### Mise \u00e0 jour de la bilbioth\u00e8que\n\nN\u2019h\u00e9sitez pas \u00e0 ex\u00e9cuter r\u00e9guli\u00e8rement uv sync --upgrade, car la biblioth\u00e8que \u00e9volue avec le temps et nos pratiques !\n\n## Projet Poetry\n\n### Installation\n\nLancez la commande suivante :\n\n```bash\npoetry add prune_lib\n```\n\n### Mise \u00e0 jour de la biblioth\u00e8que\n\nN\u2019h\u00e9sitez pas \u00e0 ex\u00e9cuter r\u00e9guli\u00e8rement poetry update, car la biblioth\u00e8que \u00e9volue avec le temps et nos pratiques !\n\n## Objectifs\n\n-   R\u00e9utiliser facilement des fonctions communes.\n-   Fournir une alternative simple \u00e0 reCAPTCHA.\n-   Ne d\u00e9pendre d\u2019aucun service externe.\n\n## Int\u00e9gration du captcha\n\n### Configuration\n\nDans `settings.py`, d\u00e9finis le chemin des images utilis\u00e9es pour le puzzle :\n\n```python\nPUZZLE_IMAGE_STATIC_PATH = \"website/static/website/images/puzzles/\"\n```\n\nImportant : Tu dois importer les fichiers statiques (css, js) pr\u00e9sents dans \"prune_captcha/static/\".\n\n```html\n<header>\n    <link\n        rel=\"stylesheet\"\n        href=\"{% static 'prune_captcha/css/captcha.css' %}\"\n    />\n    <script defer src=\"{% static 'prune_captcha/js/captcha.js' %}\"></script>\n</header>\n```\n\n### Utilisation\n\n-   Requ\u00eate GET (affichage du formulaire)\n\n    -   Utilise create_and_get_captcha pour g\u00e9n\u00e9rer les donn\u00e9es du captcha :\n\n        ```python\n        from prune_captcha.utils import create_and_get_captcha\n        ```\n\n        ```python\n        puzzle = create_and_get_captcha(request)\n        ```\n\n    -   Passe les donn\u00e9es dans le contexte sous la variable puzzle :\n\n        ```python\n        return render(\n            request,\n            \"website/pages/contact/page.html\",\n            {\"form\": form, \"puzzle\": puzzle},\n        )\n        ```\n\n    -   Inclus le composant dans ton template :\n\n        ```\n        {% include \"prune_captcha/captcha.html\" %}\n        ```\n\n-   Requ\u00eate POST (soumission du formulaire)\n\n    -   Utilise verify_captcha pour valider le captcha :\n\n        ```python\n        from prune_captcha.utils import verify_captcha\n        ```\n\n        ```python\n        response = verify_captcha(request)\n        ```\n\n    -   True si le captcha est correct, sinon False.\n\n    -   Redirige en cas de captcha incorrect.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Internal library for prune.sh",
    "version": "1.22.2",
    "project_urls": {
        "Made_by": "https://prune.sh/"
    },
    "split_keywords": [
        "captcha",
        " django",
        " code-quality"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "357360110c8d75c4d969eb6a317fab50bbabc8bf37fd4236ada6a5c955710c58",
                "md5": "7d37168e1807de93070bb42c3e76ddf0",
                "sha256": "e9164fb7adfb594b0e31502a1dee15bae8aea71c407a7d43923dae2c18c8bf29"
            },
            "downloads": -1,
            "filename": "prune_lib-1.22.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7d37168e1807de93070bb42c3e76ddf0",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.12",
            "size": 16642,
            "upload_time": "2025-09-04T09:48:56",
            "upload_time_iso_8601": "2025-09-04T09:48:56.638733Z",
            "url": "https://files.pythonhosted.org/packages/35/73/60110c8d75c4d969eb6a317fab50bbabc8bf37fd4236ada6a5c955710c58/prune_lib-1.22.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0a0d686949b8c9d61e26a178d3aab41ec9e77c88ad7cab2236d3f4e3389d9a84",
                "md5": "667ef61755b3a0c2dd0d9ef5c6f15945",
                "sha256": "07eb5b4d5d24e4ec6e3dab2ab3e3a6981c48c47b1cdd35ad858b9a1a261e59a3"
            },
            "downloads": -1,
            "filename": "prune_lib-1.22.2.tar.gz",
            "has_sig": false,
            "md5_digest": "667ef61755b3a0c2dd0d9ef5c6f15945",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.12",
            "size": 12211,
            "upload_time": "2025-09-04T09:48:57",
            "upload_time_iso_8601": "2025-09-04T09:48:57.449599Z",
            "url": "https://files.pythonhosted.org/packages/0a/0d/686949b8c9d61e26a178d3aab41ec9e77c88ad7cab2236d3f4e3389d9a84/prune_lib-1.22.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-04 09:48:57",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "prune-lib"
}
        
Elapsed time: 1.02590s