Directory client SDK
Project description
directory API python SDK
Overview
The directory API python SDK provides a simple and efficient way to interact with the directory API. It allows developers to integrate directory functionality into their Python applications with ease.
Features
- Store API: The SDK includes a store API that allows developers to push the record data model to the store and retrieve it from the store.
- Routing API: The SDK provides a routing API that allows developers to publish and retrieve record to and from the network.
Installation
Install the SDK using uv
init the project:
uv init
add the SDK to your project:
uv add agntcy-dir-sdk --index https://buf.build/gen/Python
Usage
Starting the Directory Server
To start the Directory server, you can deploy your instance or use Taskfile as below.
task server:start
Initializing the Client
# Initialize the client
client = Client(Config())
Creating and Pushing an Agent Object
# Create a record object
example_record = record_pb2.Record(
name="example-record",
version="v3",
skills=[
skill_pb2.Skill(
name="Natural Language Processing",
id=1,
),
],
extensions=[
extension_pb2.Extension(
name="schema.oasf.agntcy.org/domains/domain-1",
version="v1",
)
],
signature=signature_pb2.Signature(),
)
r = core_record_pb2.Record(v3=example_record)
# Push the object to the store
record_reference = client.push(record=r)
Pulling the Object
# Pull the object from the store
record = client.pull(record_reference)
Looking Up the Object
# Lookup the object
metadata = client.lookup(record_reference)
Publishing the Object
# Publish the object
client.publish(record_reference)
Listing Objects in the Store
# List objects in the store
query = record_query_type.RecordQuery(
type=record_query_type.RECORD_QUERY_TYPE_SKILL,
value="/skills/Natural Language Processing/Text Completion",
)
list_request = routingv1.ListRequest(queries=[query])
objects = list(client.list(list_request))
Unpublishing the Object
# Unpublish the object
client.unpublish(record_reference)
Deleting the Object
# Delete the object
client.delete(record_reference)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agntcy_dir_sdk-0.1.6.tar.gz.
File metadata
- Download URL: agntcy_dir_sdk-0.1.6.tar.gz
- Upload date:
- Size: 4.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
afe30791677fee54ea404ac62f7c92bcdda4759ee6e0f2c2c7cccd68b8ee0159
|
|
| MD5 |
f944397a6552920257f34f2353b179c2
|
|
| BLAKE2b-256 |
e3bfc4d5db71337780fcd91df894094b06b6d0c2a29a9e7da7ec92180d1a6bb9
|
File details
Details for the file agntcy_dir_sdk-0.1.6-py3-none-any.whl.
File metadata
- Download URL: agntcy_dir_sdk-0.1.6-py3-none-any.whl
- Upload date:
- Size: 6.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c2617f7305b90ba1483718eaa0d9b18b3325f2e29783ea6a598c1f862a38885
|
|
| MD5 |
248668b3e3aff5b83435f8d3a1c006a6
|
|
| BLAKE2b-256 |
afb19c142ed29edb9bdc08dfbe947114608fb1b7abac7bd9ce2ef75041df8922
|