Skip to main content

solmate-reputation

Portable 5-dimension reputation scoring with time-based decay and Hedera HCS anchoring. Built for Web3 social apps.

PyPI License: MIT

Extracted from Sol Mate Trust API. No ORM or framework dependencies — bring your own storage.

Install

pip install solmate-reputation

Usage

from solmate_reputation import ReputationDimensions, ReputationEngine, EventType, HCSAnchor, apply_decay

# Scoring
engine = ReputationEngine()
score = ReputationDimensions()  # starts at 50/100 per dimension

score = engine.apply_event(score, EventType.MEETUP_COMPLETED)
# reliability +5, meetup_completion +5, response_rate +2

score = engine.apply_event(score, EventType.NO_SHOW)
# reliability -15, meetup_completion -10

print(score.composite)  # 0-100 weighted composite

# Time decay
from datetime import datetime, timedelta
last_active = datetime.utcnow() - timedelta(days=14)
score = apply_decay(score, last_active)
# -2pt on reliability/response_rate/meetup_completion (2 weeks)

# HCS anchoring (optional — no-ops if not configured)
hcs = HCSAnchor(topic_id="0.0.1234567")
hcs.anchor_reputation_event(
    user_id="user-123",
    event_type="meetup_completed",
    dimension_deltas={"reliability": 5, "meetup_completion": 5},
    composite_before=60.0,
    composite_after=63.2,
)

Event Types

Event reliability safety response_rate meetup_completion consent
MEETUP_COMPLETED +5 — +2 +5 —
NO_SHOW -15 — — -10 —
HARASSMENT_REPORT — -20 — — -10
STAKE_SLASHED -20 -10 — — —
STAKE_REFUNDED +3 — — +3 —
CONSENT_CONFIRMED — — — — +5

Composite Score

composite = reliability × 0.30 + safety × 0.30 + response_rate × 0.15
          + meetup_completion × 0.15 + consent × 0.10

Decay

Decay applies -1pt/week to reliability, response_rate, meetup_completion for inactive users. Floor at 10.

from solmate_reputation import bulk_decay

def save_score(user_id, score):
    db.update(user_id, score)

bulk_decay(
    users=[(u.id, u.score, u.last_active) for u in db.query(...)],
    on_update=save_score,
    days_inactive_threshold=7,
)

HCS Anchoring

Set environment variables or pass directly:

HEDERA_ACCOUNT_ID=0.0.9876
HEDERA_PRIVATE_KEY=your-ed25519-hex
HEDERA_TOPIC_ID=0.0.1234567
HEDERA_NETWORK=testnet  # or mainnet

HCSAnchor no-ops gracefully when not configured.

License

MIT — extracted from Sol Mate Trust API. Built for EasyA × Consensus Miami 2026.

Metadata

Release files for solmate-reputation 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for solmate-reputation 0.1.0
File Size Uploaded Provenance
solmate_reputation-0.1.0.tar.gz 7.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for solmate-reputation 0.1.0
File Interpreter ABI Platform
solmate_reputation-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 14.8 kB

Release files / solmate_reputation-0.1.0.tar.gz

Download URL solmate_reputation-0.1.0.tar.gz
Size 7.2 kB
Tags Source
SHA-256 checksum
How to use checksums
fee5f3da629b2c4a6b6e1deb7d83baa476e9e8ddbab8c273f4b566aa39f26cac
BLAKE2b-256 checksum
How to use checksums
2298e6c49c84133270e12ede16d7ce336266a7105f2d3c01f256b4ba83d12be4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release files / solmate_reputation-0.1.0-py3-none-any.whl

Download URL solmate_reputation-0.1.0-py3-none-any.whl
Size 7.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8c5fa6c637ec5e00abfd10fdab2e5653dd4de8177144f488d44345fb75856571
BLAKE2b-256 checksum
How to use checksums
219c5fea29f84d4b12a6c65c32c62b42fdd309a73d16d69db2b9e25a29b87697
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Security for solmate-reputation 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page