mohawk
Library for Hawk HTTP authorization
Decision gist · record as of 2026-08-14
Yes, if you are integrating with an existing Hawk-authenticated service or maintaining legacy code. No, if you are starting a new project—the package is dormant (last release 2019), classifiers only declare support through Python 3.7, and no known vulnerabilities exist but upstream support is absent. Use only when Hawk is a hard requirement imposed by your integration target.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low install friction with a single lightweight dependency (six).
- However, the package is dormant—last release was 2019-10-28, over six years ago, though the repository remains active with a recent commit in 2024-08.
License · maintenance · safety
MPL 2.0 (Mozilla Public License) (copyleft) — Licensed under MPL 2.0 (Mozilla Public License), a copyleft license. You may use and modify the code, but derivative works must be distributed under the same license terms.
last release 2019-10-28 (2482 days) · last repo commit 2024-08-02 · 46 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,132,175 downloads/mo, #4,316 on PyPI
Alternatives
Verify before relying
pip install mohawk
from mohawk import Hawk
# Create a Hawk instance for signing HTTP requests
hawk = Hawk(credentials={'id': 'user', 'key': 'secret'})
# Use hawk to sign requests or validate responses- Whether the package works reliably with modern Python versions beyond those listed in classifiers (3.7 is the latest explicitly declared).
- Current compatibility with contemporary HTTP clients and frameworks.
- Whether Hawk specification compliance has diverged from the living spec since the last release.
What it is and what it does
Mohawk is a Python implementation of the Hawk HTTP authorization scheme, which enables two parties to authenticate and sign HTTP messages using a shared secret key. It is based on HTTP MAC access authentication and provides an alternative to OAuth 1.0-style signing. The library is designed to be more intuitive and Pythonic than the Node.js reference implementation, with an API redesigned to reduce security pitfalls.
You would use Mohawk to sign outgoing HTTP requests or validate incoming signed requests in scenarios where you need message-level authentication without relying on TLS alone. It depends only on six for Python 2/3 compatibility, making it lightweight. The package is dormant—no releases since 2019—so it is best suited for maintaining existing integrations rather than starting new projects that require active upstream support.
Use it for
- Sign API requests to services that require Hawk-based authentication (e.g., Mozilla services).
- Validate incoming HTTP requests signed by a Hawk client in your own API.
- Implement message authentication in microservices that share a secret key.
- Migrate or maintain legacy systems using Hawk authorization without switching to newer schemes.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are integrating with an existing Hawk-authenticated service or maintaining legacy code.
No, if you are starting a new project—the package is dormant (last release 2019), classifiers only declare support through Python 3.7, and no known vulnerabilities exist but upstream support is absent. Use only when Hawk is a hard requirement imposed by your integration target.
Install
mohawk on PyPI
Before you install
Low install friction with a single lightweight dependency (six). However, the package is dormant—last release was 2019-10-28, over six years ago, though the repository remains active with a recent commit in 2024-08.
License in practice
Licensed under MPL 2.0 (Mozilla Public License), a copyleft license. You may use and modify the code, but derivative works must be distributed under the same license terms.
Quickstart
pip install mohawk
from mohawk import Hawk
# Create a Hawk instance for signing HTTP requests
hawk = Hawk(credentials={'id': 'user', 'key': 'secret'})
# Use hawk to sign requests or validate responses
Verify before relying
- Whether the package works reliably with modern Python versions beyond those listed in classifiers (3.7 is the latest explicitly declared).
- Current compatibility with contemporary HTTP clients and frameworks.
- Whether Hawk specification compliance has diverged from the living spec since the last release.
Package facts
| License | MPL 2.0 (Mozilla Public License) copyleft |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagesix |
| Maintenance | Dormant 2,482 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,132,175 / month, #4,316 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: DevelopersNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: Python :: 2Programming Language :: Python :: 2.6Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Topic :: Internet :: WWW/HTTP |
Evidence: mohawk-1.1.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “hawk http authorization”
- mohawkMohawk implements the Hawk HTTP authorization scheme, allowing two…
- taskclusterA complete Python client library for Taskcluster that provides both…
- authAn HTTP authorization service that answers whether a user may perform…
Give your agent the search over MCP, or paste the wish link into any chat.
More WWW/HTTP packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
h11 is a pure-Python HTTP/1.1 protocol implementation that handles parsing and serializing HTTP messages without any built-in I/O, letting you integrate it with any network layer you choose.
HTTPX is a fully featured HTTP client library for Python that provides both sync and async APIs, with support for HTTP/1.1 and HTTP/2, plus an integrated command-line client.
Install it if you are building new projects or modernizing existing ones that rely on HTTP.
A minimal low-level HTTP client library that sends HTTP requests with thread-safe and task-safe connection pooling, supporting HTTP/1.1, HTTP/2, proxies, and both sync and async interfaces.
aiohttp is an async HTTP client and server framework built on asyncio, supporting both WebSockets and middleware-based routing for building concurrent web applications.
Install it if you need async HTTP client or server capabilities in asyncio-based applications.
See also mastercard-oauth1-signer · requests-oauth · httpx-auth · aws-request-signer · requests-auth · oauth2 · microsoft-agents-authentication-msal · sanic-jwt · aioauth · jose