EchoScan package for Python
Project description
echoscan (Python)
中文 | English
中文
可用调用方式
EchoScanLiteClient()EchoScanProClient(api_key=...)
方法:
- Lite:
get_report(imprint) - Pro:
get_report(imprint),get_history(imprint, days=..., from_=..., to=..., recent=...)
History 查询:
仅 Pro 客户端可用(需要 Pro API Key)。
返回值与错误
get_report() 顶层结构:
{
"analysis": {},
"lyingCount": 0,
"projection": {}
}
get_history() 顶层结构:
{
"imprint": "fp_session_...",
"range": {},
"recent": [],
"summary": {},
"timeline": []
}
Geo 字段说明(重要)
- SDK 只透传服务端返回,不在客户端自行做 IP 地理定位。
- 若服务端仅有
GeoLite2-Country.mmdb,通常只能返回国家级 geo;region/city可能为空。 - 若服务端 geo enrichment 不可用,返回会降级(例如仅有
country_hint或无 geo 字段)。 - 若服务端 geo enrichment 可用,主要查看
projection.geo.data.geo_public,字段包括:country_code、country_name、region_code、region_name、city、timezone。 analysis.geo提供主地理结果聚合字段:final_ip、country_code、country_name、region_code、region_name、city。projection.geo.data还会带confidence与geo_low_trust(例如 locale 与 IP 国家冲突)用于前端展示可信度提示。- 在存储/调试字段中:
geo_source_ip是主判定 IP(canonical/best-effort),geo_request_client_ip是请求链路观测 IP(证据);两者可能不同(代理或多跳网络常见)。 confidence与geo_low_trust评价的是主结果(geo_public+geo_source_ip),不是geo_request_client_ip的评分。- 若你的产品对外展示 MaxMind GeoLite 数据,请附署名:
This product includes GeoLite Data created by MaxMind, available from https://www.maxmind.com.
完整字段说明链接:echoscan
示例
import os
from echoscan import EchoScanProClient
pro = EchoScanProClient(api_key=os.environ["ECHOSCAN_PRO_KEY"])
report = pro.get_report("fp_session_123")
history = pro.get_history("fp_session_123", from_="2026-03-01", to="2026-03-18", recent=20)
print(report)
print(history)
English
Usage
EchoScanLiteClient()EchoScanProClient(api_key=...)
Methods:
- Lite:
get_report(imprint) - Pro:
get_report(imprint),get_history(imprint, days=..., from_=..., to=..., recent=...)
History query:
Pro-only (requires a Pro API key).
Response and errors
get_report() top-level shape:
{
"analysis": {},
"lyingCount": 0,
"projection": {}
}
get_history() top-level shape:
{
"imprint": "fp_session_...",
"range": {},
"recent": [],
"summary": {},
"timeline": []
}
Geo fields (important)
- The SDK forwards server responses and does not perform client-side IP geolocation.
- If the backend only has
GeoLite2-Country.mmdb, geo is typically country-level only;region/citymay be empty. - If backend geo enrichment is unavailable, responses degrade (for example
country_hintonly, or no geo fields). - When geo enrichment is available, the primary display payload is
projection.geo.data.geo_publicwith fields:country_code,country_name,region_code,region_name,city,timezone. analysis.geoprovides a flattened primary result:final_ip,country_code,country_name,region_code,region_name,city.projection.geo.dataalso includesconfidenceandgeo_low_trust(for example locale vs IP-country mismatch) for trust-aware UX.- In storage/debug fields,
geo_source_ipis the primary canonical (best-effort) lookup IP, whilegeo_request_client_ipis request-chain observed evidence; they may differ (common with proxies or multi-hop networks). confidenceandgeo_low_trustrate the primary result (geo_publicderived fromgeo_source_ip), notgeo_request_client_ip.- If your product displays MaxMind GeoLite data externally, include attribution:
This product includes GeoLite Data created by MaxMind, available from https://www.maxmind.com.
Full field reference: echoscan
Example
import os
from echoscan import EchoScanProClient
pro = EchoScanProClient(api_key=os.environ["ECHOSCAN_PRO_KEY"])
report = pro.get_report("fp_session_123")
history = pro.get_history("fp_session_123", from_="2026-03-01", to="2026-03-18", recent=20)
print(report)
print(history)
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file echoscan-0.2.0.tar.gz.
File metadata
- Download URL: echoscan-0.2.0.tar.gz
- Upload date:
- Size: 5.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1287cd79d5cd2dfad63707b08421f238472aa1f896b0f879b4dd2f1c04c2e218
|
|
| MD5 |
eab16304d969602a470bc5771a673484
|
|
| BLAKE2b-256 |
adef9070bacef946e3ae79ab30eb708ac7f840beb610238fc970ac4ec70d5583
|
Provenance
The following attestation bundles were made for echoscan-0.2.0.tar.gz:
Publisher:
publish-python.yml on ozzxzzo/fingerprint-system
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
echoscan-0.2.0.tar.gz -
Subject digest:
1287cd79d5cd2dfad63707b08421f238472aa1f896b0f879b4dd2f1c04c2e218 - Sigstore transparency entry: 1284002101
- Sigstore integration time:
-
Permalink:
ozzxzzo/fingerprint-system@5e02ee00fb3daa918eb1ebef04f053b94c23790a -
Branch / Tag:
refs/tags/python-v0.2.0 - Owner: https://github.com/ozzxzzo
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-python.yml@5e02ee00fb3daa918eb1ebef04f053b94c23790a -
Trigger Event:
push
-
Statement type:
File details
Details for the file echoscan-0.2.0-py3-none-any.whl.
File metadata
- Download URL: echoscan-0.2.0-py3-none-any.whl
- Upload date:
- Size: 5.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a56f4d1a4fc222544d06eafe8938b65ce0c6a5af2b236650a14f3fd04e8d76c
|
|
| MD5 |
2904a485fbc45daef876ac0413e9f6e3
|
|
| BLAKE2b-256 |
03bb7fcd935d2cb024c132f6b086a5be2ec9b09e08a59355d14ab6b205e1f07a
|
Provenance
The following attestation bundles were made for echoscan-0.2.0-py3-none-any.whl:
Publisher:
publish-python.yml on ozzxzzo/fingerprint-system
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
echoscan-0.2.0-py3-none-any.whl -
Subject digest:
0a56f4d1a4fc222544d06eafe8938b65ce0c6a5af2b236650a14f3fd04e8d76c - Sigstore transparency entry: 1284002485
- Sigstore integration time:
-
Permalink:
ozzxzzo/fingerprint-system@5e02ee00fb3daa918eb1ebef04f053b94c23790a -
Branch / Tag:
refs/tags/python-v0.2.0 - Owner: https://github.com/ozzxzzo
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-python.yml@5e02ee00fb3daa918eb1ebef04f053b94c23790a -
Trigger Event:
push
-
Statement type: