WTForms hCaptcha
Custom WTForms field that handles hCaptcha display and validation.
hCaptcha is a CAPTCHA service that 'protects user privacy, rewards websites, and helps companies get their data labelled'. This helps to prevent spam on websites by adding a challenge to forms that are hard for computers to solve, but easy for humans to solve.
I wanted to use hCaptcha in one of my projects and although there are already Python libraries for working with hCaptcha, I had already used the WTForms ecosystem in that project so I wanted a drop in solution and as there were none at the time, I decided to create my own.
This is a modified version of wtforms-recaptcha by Artem Gluvchynsky to work with hCaptcha.
Installation
Use pip to install on all systems:
pip install wtforms-hcaptcha
Usage Example
This example creates an empty form with just a CAPTCHA field.
from wtforms.form import Form
from wtforms_hcaptcha import HcaptchaField
class MyForm(Form):
captcha = HcaptchaField(site_key="YOUR_SITE_KEY_HERE", secret_key="YOUR_SECRET_KEY_HERE")
form = MyForm(request.form, captcha={
# note this needs to be edited to get the correct IP address when using a reverse proxy
"ip_address": request.remote_addr
})
if form.validate():
print("You are not a robot!")
else:
print(form.errors["captcha"])
Development Setup
This project uses Poetry to manage dependencies and packaging. Here are the installation instructions for Poetry.
Contributing
- Fork it (https://github.com/jake-walker/wtforms-hcaptcha/fork)
- Create your feature branch (
git checkout -b feature/foobar) - Commit your changes (
git commit -am "Add some foobar") - Push to the branch (
git push origin feature/foobar) - Create a new pull request
Metadata
Release files for wtforms-hcaptcha 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| wtforms-hcaptcha-0.1.3.tar.gz | 16.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wtforms_hcaptcha-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 33.9 kB
Release files / wtforms-hcaptcha-0.1.3.tar.gz
| Download URL | wtforms-hcaptcha-0.1.3.tar.gz |
|---|---|
| Size | 16.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4e84e531e84ba4e90be757d473374775cb448eac47d39de043907240e220fa44
|
|
BLAKE2b-256 checksum How to use checksums |
2b6f0be60031eb3ab2363211003be6c98795a9b43e702041041b76a05c4cdea9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.0.10 CPython/3.8.12 Linux/5.8.0-1042-azure
|
Release files / wtforms_hcaptcha-0.1.3-py3-none-any.whl
| Download URL | wtforms_hcaptcha-0.1.3-py3-none-any.whl |
|---|---|
| Size | 17.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cae73cc6eec660c287b7226234709bb6a39fae49b26336d5be243e56b48b747e
|
|
BLAKE2b-256 checksum How to use checksums |
9d2254bb03df361f7fb933cd0d199d500df722608cfaf86cfbaf98ccd21b6fcb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.0.10 CPython/3.8.12 Linux/5.8.0-1042-azure
|