macOS Keychain access from Python — powered by Swift & ApplePy
Project description
SwiftKeychain
macOS Keychain access from Python — powered by Swift & ApplePy.
macOS only — requires Swift 6.0+ toolchain
Install
pip install -e .
This compiles the embedded Swift code and installs the Python package.
Usage
import swiftkeychain as kc
# Store & retrieve passwords
kc.set_password("myapp", "user@email.com", "s3cret")
pw = kc.get_password("myapp", "user@email.com")
# List all accounts for a service
accounts = kc.find_passwords("myapp")
# Internet passwords
kc.set_internet_password("api.example.com", "bot", "token", "https", "/v1")
pw = kc.get_internet_password("api.example.com", "bot")
# Delete
kc.delete_password("myapp", "user@email.com")
API
| Function | Returns | Description |
|---|---|---|
set_password(service, account, password) |
None |
Store a generic password |
get_password(service, account) |
str | None |
Retrieve a password |
delete_password(service, account) |
bool |
Delete a password |
find_passwords(service) |
list[str] |
List accounts for a service |
set_internet_password(server, account, password, protocol, path) |
None |
Store an internet password |
get_internet_password(server, account) |
str | None |
Retrieve an internet password |
Examples
See swiftkeychain/examples/demo.py for a full demo.
License
BSD-3-Clause © Jagtesh Chadha — see LICENSE.
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
swiftkeychain-0.3.0.tar.gz
(8.8 kB
view details)
File details
Details for the file swiftkeychain-0.3.0.tar.gz.
File metadata
- Download URL: swiftkeychain-0.3.0.tar.gz
- Upload date:
- Size: 8.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
501426ecba3fd4eedd117c0a4da1a3133d5353e1bc667ce0cd11829b0eb18256
|
|
| MD5 |
6efda92171806594a3aea34147d6489b
|
|
| BLAKE2b-256 |
e9835994d0d90bb51e79c34b20a16b32f121da6da83e7fe85117ef837b0abc1c
|