Skip to main content

Secure key and secret management for SyftBox using 1Password integration

Project description

SyftWallet 🔐

Unified secure management for both single secrets (API keys) and credentials (username + password) using 1Password integration

SyftWallet intelligently handles both types of secrets that exist in 1Password:

  • 🔑 Single Values: API keys, tokens, passwords (PASSWORD items)
  • 👤 Credentials: Username + password combinations (LOGIN items)

Features

  • 🔐 Secure 1Password Integration - Primary storage using 1Password CLI
  • 🔄 Multiple Fallbacks - System keyring and environment variables
  • Intelligent Caching - Configurable TTL for performance
  • 🏷️ Tagging System - Organize secrets with tags
  • 🖥️ CLI Interface - Command-line tool for easy management
  • 🔍 Status Monitoring - Check availability of all backends
  • Beautiful Jupyter Display - Rich HTML rendering for notebooks
  • 🎯 Interactive Search Widget - Search, select, and copy keys with one click
  • 🌐 Dynamic Vault Discovery - Automatically finds and searches all vaults
  • 🧠 Smart Type Detection - LOGIN vs PASSWORD items handled intelligently
  • 👤 Credential Management - Full support for username + password combinations

Quick Start

Installation

pip install syft-wallet

Python API

import syft_wallet as wallet

# Store single secrets (API keys, tokens)
wallet.store("api_key", "secret123", tags=["api"])

# Store credentials (username + password)
wallet.store_credentials("github", "username", "password", tags=["git"])

# Smart retrieval (auto-detects type)
api_key = wallet.get("api_key")          # Returns string
github = wallet.get("github")            # Returns {"username": "...", "password": "..."}

# Specific field access
username = wallet.get_username("github")
password = wallet.get_password("github")
both = wallet.get_credentials("github")

# Beautiful Jupyter displays
keys = wallet.list_keys()         # Rich table with type info
status = wallet.status()          # Status dashboard
wallet.search_keys()              # Interactive search widget

# Terminal display
wallet.show_status()

CLI Usage

# Store a single secret
syft-wallet set api_key "secret123" --tags api

# Store credentials (interactive)
syft-wallet set-credentials github --username myuser --password mypass

# Retrieve secrets
syft-wallet get api_key
syft-wallet get-credentials github

# Show status with vault info
syft-wallet status

Integration with SyftBox

Works seamlessly with other SyftBox packages:

import syft_wallet as wallet
import syft_nsai as nsai

# Store your API key securely
wallet.store("tinfoil_api_key", "tk_your_key_here")

# syft-nsai will automatically retrieve it
# No hardcoded keys needed!

License

Apache 2.0 - See LICENSE file for details.

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

syft_wallet-0.1.0.tar.gz (18.0 kB view details)

Uploaded Source

Built Distribution

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

syft_wallet-0.1.0-py3-none-any.whl (19.5 kB view details)

Uploaded Python 3

File details

Details for the file syft_wallet-0.1.0.tar.gz.

File metadata

  • Download URL: syft_wallet-0.1.0.tar.gz
  • Upload date:
  • Size: 18.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.4.20

File hashes

Hashes for syft_wallet-0.1.0.tar.gz
Algorithm Hash digest
SHA256 71a0ed1a340b173ee55c182bdab047113299934ce27f1fa33b66585aa01c56ca
MD5 630d4f8a92659536c4f52a9f77c76115
BLAKE2b-256 8aacfe6a32a1db47037e1346a62706930863620bd945c3f38c23161eefc7b269

See more details on using hashes here.

File details

Details for the file syft_wallet-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for syft_wallet-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cea91686870db01ffb16275a9fc4124a979bc30170d8cbb2854333f720be3e51
MD5 81c20b5be83e8277a60a322af518ba13
BLAKE2b-256 c7daea3f7d8e18d957bcebb5e4bd8350bef23adea9a35efa8d2ad9e0afbe46dc

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