warrant
Python class to integrate Boto3's Cognito client so it is easy to login users. With SRP support.
What it is and what it does
Warrant is a Python wrapper around AWS Cognito user management, designed to simplify common authentication and user administration tasks. It provides a Cognito class that encapsulates operations like user registration, login (with SRP support), password reset, profile updates, and token handling, alongside an AWSSRP utility for Secure Remote Password authentication.
The package has no runtime dependencies and installs cleanly, but it is no longer maintained. Its last release was in December 2017 and the repository shows no commits since November 2022. It explicitly targets Python 2.7 and 3.6, both of which reached end-of-life years ago. While the code may still run on newer Python versions, there is no active support or testing to confirm compatibility, and any breaking changes in boto3 or AWS Cognito's API would not be addressed.
Use it for:
- Build a Python web application that needs to authenticate users against an AWS Cognito user pool without writing raw boto3 calls.
- Implement user self-service operations like password reset, profile updates, and email verification in a legacy Python 2.7 or 3.6 codebase.
- Perform admin operations on Cognito user pools, such as listing users or groups, from a Python backend.
- Integrate Cognito SRP authentication into a client application to avoid sending passwords in plain text.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Warrant wraps AWS Cognito user management operations into a Python class, handling user registration, authentication, password reset, profile updates, and token management.
No. While the package has no known vulnerabilities and installs without friction, it is abandoned and targets obsolete Python versions (2.7, 3.6). Modern AWS Cognito development should use boto3 directly or a maintained wrapper. Only consider it if you are maintaining legacy code already locked to Python 2.7 or 3.6 and cannot migrate.
Install
warrant on PyPI
pip
pip install warrantuv
uv add warrantpoetry
poetry add warrantInstalling warrant
Before you install
Installation is frictionless with no runtime dependencies. However, the package is abandoned—last commit was 2022-11-07 and latest release 2017-12-11. It targets Python 2.7 and 3.6, both long out of support, so compatibility with modern Python versions is uncertain.
License in practice
Licensed under Apache License 2.0 (permissive), which allows commercial and private use with minimal restrictions, though you must include a copy of the license and state significant changes.
Quickstart
pip install warrant
from warrant import Cognito
u = Cognito('your-user-pool-id', 'your-client-id', username='bob')
u.authenticate(password='bobs-password')
Requires AWS Cognito user pool and client credentials; package targets Python 2.7 and 3.6, which are no longer supported.
Verify before relying
- Whether the package works reliably with Python versions newer than 3.6
- Current compatibility with modern versions of boto3 or AWS SDK dependencies
- Whether SRP authentication still functions with current AWS Cognito API
Package facts
| License | Apache License 2.0 (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | abandoned — 3,168 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 96,697/month — #13,200 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: warrant-0.6.1-py2.py3-none-any.whl
Keywords: aws
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
pycognitoSimplifies AWS Cognito user authentication and…
permissive · top 5,000 on PyPI
aws-cdk.aws-cognitoProvides AWS CDK constructs for defining Amazon…
permissive · top 15,000 on PyPI
Flask-AWSCognitoIntegrates AWS Cognito user authentication into…
permissive · top 15,000 on PyPI
Flask-CognitoFlask-Cognito integrates AWS Cognito JWT…
permissive · top 15,000 on PyPI
cognitojwtDecodes and verifies Amazon Cognito JWT tokens…
permissive · top 15,000 on PyPI
fastapi-cognitoDecodes, validates, and parses AWS Cognito JWT…
permissive · top 15,000 on PyPI
fastapi-cloudauthIntegrates FastAPI applications with cloud…
permissive · top 15,000 on PyPI
Flask-LoginFlask-Login handles user session management for…
permissive · top 1,000 on PyPI
django-allauthProvides integrated local and social…
permissive · top 5,000 on PyPI
aws-assume-role-libSimplifies AWS role assumption in boto3 by…
permissive · top 15,000 on PyPI