prune-lib


Nameprune-lib JSON
Version 2.1.1 PyPI version JSON
download
home_pageNone
SummaryInternal library for prune.sh
upload_time2025-10-16 09:39:30
maintainerNone
docs_urlNone
authorNone
requires_python>=3.13
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": ">=3.13",
    "maintainer_email": null,
    "keywords": "captcha, django, code-quality",
    "author": null,
    "author_email": "Arnout <bastien@prune.sh>",
    "download_url": "https://files.pythonhosted.org/packages/93/b3/b36dcf41512ba2f56968eb42b4a6b5667b24757d332edfc4a68018d242bb/prune_lib-2.1.1.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": "2.1.1",
    "project_urls": {
        "Made_by": "https://prune.sh/"
    },
    "split_keywords": [
        "captcha",
        " django",
        " code-quality"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "bb1a754b5f6415fa211178aec8b6a5af340a506579c4e5fce052537ae6acdc16",
                "md5": "b38593a8bc11d8ce2352bd87983d4169",
                "sha256": "2bf3bc6ca99352242d057af2b7b160e6317c2ebdb9c2f394dd38c8e7329e0e13"
            },
            "downloads": -1,
            "filename": "prune_lib-2.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b38593a8bc11d8ce2352bd87983d4169",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.13",
            "size": 27873,
            "upload_time": "2025-10-16T09:39:29",
            "upload_time_iso_8601": "2025-10-16T09:39:29.389435Z",
            "url": "https://files.pythonhosted.org/packages/bb/1a/754b5f6415fa211178aec8b6a5af340a506579c4e5fce052537ae6acdc16/prune_lib-2.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "93b3b36dcf41512ba2f56968eb42b4a6b5667b24757d332edfc4a68018d242bb",
                "md5": "e22bd78b43f3395f11d96fa1428ab495",
                "sha256": "1f0c06ec108a3adf69d87b7720063ce55e7aba906f5c510b7d9b648a85d81ecd"
            },
            "downloads": -1,
            "filename": "prune_lib-2.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "e22bd78b43f3395f11d96fa1428ab495",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.13",
            "size": 20392,
            "upload_time": "2025-10-16T09:39:30",
            "upload_time_iso_8601": "2025-10-16T09:39:30.611206Z",
            "url": "https://files.pythonhosted.org/packages/93/b3/b36dcf41512ba2f56968eb42b4a6b5667b24757d332edfc4a68018d242bb/prune_lib-2.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-16 09:39:30",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "prune-lib"
}
        
Elapsed time: 1.66004s