Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/1password/connect-sdk-python
Python SDK for 1Password Connect
https://github.com/1password/connect-sdk-python
1password 1password-connect connect-sdk python secrets-management
Last synced: 7 days ago
JSON representation
Python SDK for 1Password Connect
- Host: GitHub
- URL: https://github.com/1password/connect-sdk-python
- Owner: 1Password
- License: mit
- Created: 2020-11-30T20:18:30.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-05-28T17:32:44.000Z (6 months ago)
- Last Synced: 2024-08-04T01:27:05.998Z (3 months ago)
- Topics: 1password, 1password-connect, connect-sdk, python, secrets-management
- Language: Python
- Homepage: https://developer.1password.com/docs/connect
- Size: 268 KB
- Stars: 199
- Watchers: 17
- Forks: 30
- Open Issues: 23
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
1Password Connect SDK for Python
Access your 1Password items in your Python applications through your self-hosted 1Password Connect server.
---
The 1Password Connect SDK provides access to 1Password via [1Password Connect](https://developer.1password.com/docs/connect) hosted in your infrastructure. The library is intended to be used by Python applications to simplify accessing items in 1Password vaults.
## 🪄 See it in action
Check the [Python Connect SDK Example](example/README.md) to see an example of item manipulation using the SDK that you can execute on your machine.
## ✨ Get started
1. Install the 1Password Connect Python SDK:
```sh
pip install onepasswordconnectsdk
```2. Export the `OP_CONNECT_HOST` and `OP_CONNECT_TOKEN` environment variables:
```sh
export OP_CONNECT_HOST= && \
export OP_CONNECT_TOKEN=
```
2.1 If you need a higher timeout on the client requests you can export `OP_CONNECT_CLIENT_REQ_TIMEOUT` environment variable:
```sh
# set the timeout to 90 seconds
export OP_CONNECT_CLIENT_REQ_TIMEOUT=90
```3. Use the SDK:
- Read a secret:
```python
from onepasswordconnectsdk.client import (
Client,
new_client_from_environment,
)connect_client: Client = new_client_from_environment()
client.get_item("{item_id}", "{vault_id}")
```- Write a secret:
```python
from onepasswordconnectsdk.client import (
Client,
new_client_from_environment,
}from onepasswordconnectsdk.models import (
Item,
ItemVault,
Field
)connect_client: Client = new_client_from_environment()
# Example item creation. Create an item with your desired arguments.
item = Item(
vault=ItemVault(id=op_vault),
id="custom_id",
title="newtitle",
category="LOGIN",
tags=["1password-connect"],
fields=[Field(value="new_user", purpose="USERNAME")],
)new_item = connect_client.create_item(op_vault, item)
```For more examples of how to use the SDK, check out [USAGE.md](USAGE.md).
## 💙 Community & Support
- File an [issue](https://github.com/1Password/connect-sdk-python/issues) for bugs and feature requests.
- Join the [Developer Slack workspace](https://join.slack.com/t/1password-devs/shared_invite/zt-1halo11ps-6o9pEv96xZ3LtX_VE0fJQA).
- Subscribe to the [Developer Newsletter](https://1password.com/dev-subscribe/).## 🔐 Security
1Password requests you practice responsible disclosure if you discover a vulnerability.
Please file requests via [**BugCrowd**](https://bugcrowd.com/agilebits).
For information about security practices, please visit the [1Password Bug Bounty Program](https://bugcrowd.com/agilebits).