Skip to main content

Python libraries for Prune.

Project description

prune_libs

prune_libs is a Python library containing reusable utility functions. The goal is to facilitate project development by centralizing common tools.

The project also includes prune_captcha, a module dedicated to adding a custom CAPTCHA to contact forms.

UV project

Installation

Run the following command in the console:

uv add prune_libs

Updating the library

Don't hesitate to regularly run uv sync --upgrade, as the library evolves with time and our practices!

Poetry project

Installation

Run the following command:

poetry add prune_libs

Updating the library

Don't hesitate to regularly run poetry update, as the library evolves with time and our practices!

Objectives

  • Easily reuse common functions.
  • Provide a simple alternative to reCAPTCHA.
  • Do not depend on any external services.

Captcha Integration

Configuration

In settings.py, set the path to the images used for the puzzle:

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

Important: You must import the static files (css, js) present in "prune_captcha/static/".

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

Utilisation

  • GET request (form display)

    • Use create_and_get_captcha to generate the captcha data:

      from prune_captcha.utils import create_and_get_captcha
      
      puzzle = create_and_get_captcha(request)
      
    • Passes the data into the context under the puzzle variable:

      return render(
          request,
          "website/pages/contact/page.html",
          {"form": form, "puzzle": puzzle},
      )
      
    • Include the component in your template:

      {% include "prune_captcha/captcha.html" %}
      
  • POST request (form submission)

    • Use verify_captcha to validate the captcha:

      from prune_captcha.utils import verify_captcha
      
      response = verify_captcha(request)
      
    • True if the captcha is correct, else False.

    • Redirects in case of incorrect captcha.

Available Versions

Version Date Notes
1.21.0 2025-06-05 added tests, libraries, ...
1.20.2 2025-06-03 fix prune_libs directory
1.20.1 2025-06-03 fix prune_libs directory
1.20.0 2025-06-03 added prune's logic
1.19.1 2025-06-02 fix
1.19.0 2025-06-02 from prune-captcha to prune-libs
1.18.7 2025-05-28 PUZZLE_HINT_TEXT fix
1.18.6 2025-05-28 added PUZZLE_HINT_TEXT
1.18.5 2025-05-23 ValueError fixed
1.18.4 2025-05-23 deleted var
1.18.3 2025-05-22 add puzzle info
1.18.2 2025-05-22 fix
1.18.1 2025-05-22 some improvements
1.18.0 2025-05-22 create "addHiddenInputs" func
1.17.0 2025-05-21 fix pos_answer
1.16.1 2025-05-21 fix static
1.16.0 2025-05-21 fix static
1.15.2 2025-05-21 fix manifest
1.15.1 2025-05-21 fix manifest
1.15.0 2025-05-21 fix manifest
1.14.0 2025-05-21 fix static and templates dirs
1.13.0 2025-05-21 use session, add static
1.12.2 2025-05-21 doc fixed
1.12.1 2025-05-21 doc fixed
1.12.0 2025-05-21 removed views, added utils, ...
1.11.0 2025-05-21 removed utils
1.10.0 2025-05-20 fix documentation, removed ...
1.9.0 2025-05-20 puzzle images path fixed
1.8.0 2025-05-20 added migrations
1.7.0 2025-05-20 PUZZLE_IMAGE_STATIC_PATH ...
1.6.0 2025-05-20 added templates
1.5.0 2025-05-20 app config fixed, components ...
1.4.0 2025-05-20 added BaseModel in Captcha, ...
1.3.0 2025-04-30 deleted start_server, deleted ...
1.2.0 2025-04-30 fixed prune_captcha command, ...
1.1.0 2025-04-30 start_server was not a module, ...
1.0.0 2025-04-29 First version of the captcha ...

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

prune_libs-1.21.0.tar.gz (12.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

prune_libs-1.21.0-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

Details for the file prune_libs-1.21.0.tar.gz.

File metadata

  • Download URL: prune_libs-1.21.0.tar.gz
  • Upload date:
  • Size: 12.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.31

File hashes

Hashes for prune_libs-1.21.0.tar.gz
Algorithm Hash digest
SHA256 764fa897422409d495a2bd80d2a503d46fe0a49d9c6a05a53034656c33e467d4
MD5 42f1b140ce4e36baa6cb6a269c7e4e26
BLAKE2b-256 9b99899769869872d0e7c4b66d779e1a88bc9860d00866a752dae4c09be5d887

See more details on using hashes here.

File details

Details for the file prune_libs-1.21.0-py3-none-any.whl.

File metadata

File hashes

Hashes for prune_libs-1.21.0-py3-none-any.whl
Algorithm Hash digest
SHA256 06f86e4e55cb1dcc52bc1960a30dbbc168e52f4804e51b04de9e8c8c1b697f2a
MD5 11cc4f0e72c9b867e491677608b5d195
BLAKE2b-256 b06d3e9165a728751a2ed144a191033b1db79c8f4d055d1b8b64a9ca0be63ed0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page