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.2.2.tar.gz
(7.3 kB
view details)
File details
Details for the file swiftkeychain-0.2.2.tar.gz.
File metadata
- Download URL: swiftkeychain-0.2.2.tar.gz
- Upload date:
- Size: 7.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e763a99e619ea29c1dccd989e61c428a81ec26ce128128bfca8e4605b47afb1
|
|
| MD5 |
d6393194e481ff32dbb988862fe08024
|
|
| BLAKE2b-256 |
815150e5e513f1043e89a78941573830c66c695e87f16c87c2170493f3f3795f
|