Skip to content

Latest commit

 

History

17 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fp-py

A device fingerprinting module built entirely on the Python standard library — zero runtime dependencies.

The library mirrors the goals of fp-js but is implemented using only Python's standard library—no external dependencies are required. It gathers a selection of system attributes—such as CPU details, locale, network information, and OS-provided machine identifiers—and hashes them into a stable fingerprint.

Usage

import fp

print(fp.fingerprint())
# Inspect the raw components used for the fingerprint
print(fp.get_components())

To run from the command line:

python -m fp            # print the fingerprint
python -m fp --components  # inspect the raw data

Sending fingerprints to a server

The optional fp.client helpers can transmit a fingerprint to an HTTP endpoint using only the standard library:

from fp.client import post_fingerprint

resp = post_fingerprint("https://example.com/api/fp")
print(resp)

You can also retrieve the value directly with fp.client.get_fingerprint() if you prefer to handle network communication yourself.

Installation

pip install fp-py            # from a checkout: pip install .

fp-py has zero runtime dependencies — it imports only the Python standard library. This is declared in pyproject.toml (dependencies = []) and enforced by tools/dep_guard.py (part of the local dev.py check).

Development

Run the full dev loop locally — no external services, no paid tooling:

python -m pip install -e ".[dev]"   # one-time (adds coverage, dev-only)
python dev.py check                 # zero-dependency guard + unittest suite
python dev.py cov                   # tests + coverage report

dev.py is a stdlib-only runner (python dev.py {check,test,cov,guard}); running check before every push is the gate (there is no CI right now — GitHub Actions are off, 2026-08-30). It runs the unittest suite plus the dependency guard.

About

A fast, lightweight browser fingerprinting module that is anti-bloat

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages