1Password/connect-sdk-python

Python SDK for 1Password Connect

234

stars

249

commits

Python

primary language

Sep 8, 2026

updated

www.1password.dev/connect/
1password
1password-connect
connect-sdk
python
secrets-management

README

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 hosted in your infrastructure. The library is intended to be used by Python applications to simplify accessing items in 1Password vaults.

This project is licensed under MIT. Use of the 1Password APIs and services accessed through these tools is governed by the 1Password API Terms of Service.

πŸͺ„ See it in action

Check the Python Connect SDK Example 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:

    pip install onepasswordconnectsdk
    
  2. Export the OP_CONNECT_HOST and OP_CONNECT_TOKEN environment variables:

    export OP_CONNECT_HOST=<your-connect-host> && \
    export OP_CONNECT_TOKEN=<your-connect-token>
    

    2.1 If you need a higher timeout on the client requests you can export OP_CONNECT_CLIENT_REQ_TIMEOUT environment variable:

    # set the timeout to 90 seconds
    export OP_CONNECT_CLIENT_REQ_TIMEOUT=90
    
  3. Use the SDK:

    • Read a secret:

      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:

      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.

πŸ’™ Community & Support

πŸ” Security

1Password requests you practice responsible disclosure if you discover a vulnerability.

Please file requests by sending an email to bugbounty@agilebits.com.

Contributors

volodymyrZotov

69 commits

edif2008

37 commits

jpcoenen

25 commits

hculea

17 commits

1Password/connect-sdk-python

Python SDK for 1Password Connect

234

stars

249

commits

Python

primary language

Sep 8, 2026

updated

www.1password.dev/connect/
1password
1password-connect
connect-sdk
python
secrets-management

README

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 hosted in your infrastructure. The library is intended to be used by Python applications to simplify accessing items in 1Password vaults.

This project is licensed under MIT. Use of the 1Password APIs and services accessed through these tools is governed by the 1Password API Terms of Service.

πŸͺ„ See it in action

Check the Python Connect SDK Example 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:

    pip install onepasswordconnectsdk
    
  2. Export the OP_CONNECT_HOST and OP_CONNECT_TOKEN environment variables:

    export OP_CONNECT_HOST=<your-connect-host> && \
    export OP_CONNECT_TOKEN=<your-connect-token>
    

    2.1 If you need a higher timeout on the client requests you can export OP_CONNECT_CLIENT_REQ_TIMEOUT environment variable:

    # set the timeout to 90 seconds
    export OP_CONNECT_CLIENT_REQ_TIMEOUT=90
    
  3. Use the SDK:

    • Read a secret:

      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:

      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.

πŸ’™ Community & Support

πŸ” Security

1Password requests you practice responsible disclosure if you discover a vulnerability.

Please file requests by sending an email to bugbounty@agilebits.com.

Contributors

volodymyrZotov

69 commits

edif2008

37 commits

jpcoenen

25 commits

hculea

17 commits

Languages

Python

97.0%

Shell

1.7%

Makefile

1.1%