Metadata-Version: 2.3 Name: onepasswordconnectsdk Version: 2.0.0 Summary: Python SDK for 1Password Connect License: MIT Author: 1Password Requires-Python: >=3.10,<4.0 Classifier: License :: OSI Approved :: MIT License Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Programming Language :: Python :: 3.12 Classifier: Programming Language :: Python :: 3.13 Requires-Dist: httpx (>=0.28.1,<0.29.0) Requires-Dist: python-dateutil (>=2.8.1,<3.0.0) Project-URL: Bug Tracker, https://github.com/1Password/connect-sdk-python/issues Project-URL: Repository, https://github.com/1Password/connect-sdk-python Project-URL: Report Security Issue, https://bugcrowd.com/agilebits Description-Content-Type: text/markdown

1Password Connect SDK for Python

Access your 1Password items in your Python applications through your self-hosted 1Password Connect server.

Get started
--- 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 by sending an email to bugbounty@agilebits.com.