Skip to main content

SSI Empoorio ID - Complete Self-Sovereign Identity SDK for Python

Project description

SSI Empoorio ID Python SDK

Complete Self-Sovereign Identity SDK for Python applications

PyPI version License: MIT Python 3.8+

What is SSI Empoorio ID?

SSI Empoorio ID is a comprehensive Self-Sovereign Identity platform that enables secure, privacy-preserving digital identity management. This Python SDK provides complete access to verifiable credentials, biometric authentication, and decentralized identity operations.

Key Features

  • 🔐 Verifiable Credentials: Issue, verify, and revoke digital credentials
  • 👤 Decentralized Identifiers: Create and manage DIDs (Decentralized Identifiers)
  • 🖐️ Biometric Authentication: WebAuthn/FIDO2 support for secure authentication
  • 🔒 Quantum-Resistant: Post-quantum cryptography integration
  • 🎭 Zero-Knowledge Proofs: Privacy-preserving selective disclosure
  • ⚡ High Performance: Async support and optimized operations
  • 🛠️ CLI Tools: Command-line interface for development and operations
  • 📊 Dashboard: Interactive terminal dashboard for SSI management

Installation

pip install ssi-empoorio-id

Optional Dependencies

# For async operations
pip install ssi-empoorio-id[async]

# For terminal dashboard
pip install ssi-empoorio-id[dashboard]

# For development
pip install ssi-empoorio-id[dev]

# All features
pip install ssi-empoorio-id[all]

Quick Start

Basic Usage

from ssi_empoorio_id import SSIEmporioSDK

# Initialize SDK
ssi = SSIEmporioSDK(
    issuer_url='https://api.empoorio.id',
    verifier_url='https://verify.empoorio.id'
)

# Create a DID
did = ssi.create_test_did('emp')
print(f"Created DID: {did}")

# Issue a verifiable credential
subject = {
    'id': did,
    'name': 'John Doe',
    'email': 'john@example.com',
    'age': 30
}

vc = ssi.issue_credential(
    subject=subject,
    credential_type=['VerifiableCredential', 'IdentityCredential'],
    options={'quantum_resistant': True}
)

print(f"Issued VC: {vc.id}")

# Verify the credential
verification = ssi.verify_credential(vc)
print(f"Verification: {'✅ Valid' if verification.verified else '❌ Invalid'}")

CLI Usage

# Issue verifiable credential
ssi-python vc issue subject.json -t VerifiableCredential,IdentityCredential -q

# Verify credential
ssi-python vc verify credential.json

# Create DID
ssi-python did create -p emp

# Launch interactive dashboard
ssi-python dashboard

Use Cases

Digital Identity Verification

# Bank KYC verification
kyc_vc = ssi.issue_credential(
    subject=user_data,
    credential_type=['VerifiableCredential', 'KYC'],
    options={'selective_disclosure': True}
)

Access Control

# Secure building access
access_vc = ssi.issue_credential(
    subject={'employee_id': '12345', 'clearance_level': 'high'},
    credential_type=['AccessCredential'],
    options={'biometric_required': True}
)

Academic Credentials

# University diploma
diploma_vc = ssi.issue_credential(
    subject=student_data,
    credential_type=['VerifiableCredential', 'UniversityDegree'],
    options={'zkp_enabled': True}
)

API Overview

Core Classes

  • SSIEmporioSDK: Main synchronous SDK client
  • AsyncSSIEmporioSDK: Asynchronous version for high-performance apps
  • VerifiableCredential: VC data structure
  • VerificationResult: Credential verification results

Main Operations

  • Issuer Operations: Issue, revoke, status management
  • Verifier Operations: Verify credentials and presentations
  • DID Operations: Create, validate, resolve DIDs
  • Biometric Operations: WebAuthn integration
  • Status Registry: Credential lifecycle management

Development

Setting up Development Environment

git clone https://github.com/empoorio/ssi-empoorio-id.git
cd ssi-empoorio-id/sdks/python

# Install development dependencies
pip install -e .[dev]

# Run tests
pytest

# Type checking
mypy ssi_empoorio_id/

# Code formatting
black ssi_empoorio_id/
isort ssi_empoorio_id/

Running Tests

# All tests
pytest

# With coverage
pytest --cov=ssi_empoorio_id --cov-report=html

# Specific test file
pytest tests/test_vc.py -v

Documentation

  • 📚 Full Documentation: https://docs.empoorio.id/python-sdk
  • 🔧 API Reference: Complete method documentation
  • 📖 Integration Guides: Framework-specific guides
  • 🎯 Examples: Code samples and tutorials

Security Features

  • Quantum-Resistant Signatures: Dilithium, Falcon algorithms
  • Zero-Knowledge Proofs: Privacy-preserving verification
  • Selective Disclosure: Share only necessary information
  • Biometric Authentication: WebAuthn/FIDO2 support
  • Secure Communication: TLS 1.3, certificate pinning

Supported Platforms

  • Python: 3.8, 3.9, 3.10, 3.11
  • Operating Systems: Linux, macOS, Windows
  • Frameworks: Django, FastAPI, Flask, async apps

Contributing

We welcome contributions! Please see our Contributing Guide for details.

License

Copyright (c) 2024 Empoorio Inc.

Licensed under the MIT License - see LICENSE file for details.

Support


🚀 Built by Empoorio Inc. - Empowering the future of digital identity.

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

ssi_empoorio_id-1.0.2.tar.gz (32.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ssi_empoorio_id-1.0.2-py3-none-any.whl (34.6 kB view details)

Uploaded Python 3

File details

Details for the file ssi_empoorio_id-1.0.2.tar.gz.

File metadata

  • Download URL: ssi_empoorio_id-1.0.2.tar.gz
  • Upload date:
  • Size: 32.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for ssi_empoorio_id-1.0.2.tar.gz
Algorithm Hash digest
SHA256 f7a6c8d17ddfddc5c12ce332af6d476f0b8261c36cecc65487fd37ab48f695f0
MD5 82e8e8fe84f4d59f76659ed56f6a945f
BLAKE2b-256 c508cca82ce354f5ce1627ce20e8f8fa49bca99088397627c7e7af54a6312df7

See more details on using hashes here.

File details

Details for the file ssi_empoorio_id-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for ssi_empoorio_id-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9a9153fb6c5f6ad8649cbf01955616e5250a3e1402cc57378d977537124c3ce5
MD5 5f8d07c5f8382541124e45f60b0a5eff
BLAKE2b-256 cc04becbab3aeaf255a610770e0d6e6d52ce0c85d683fd6449f4b3ac76e8c5ee

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page