Quickstart with Pieces OS Client Python SDK
The Pieces OS Client SDK has a built-in wrapper that simplifies the process of interacting with the Pieces OS server. Here's how you can get started with the wrapper.
Installation
To get started with the Pieces OS Client SDK, follow these steps:
-
Download Pieces OS: Pieces OS serves as the primary backend service, providing essential functionality for the SDK. Download the appropriate version for your operating system:
-
Install the SDK: Use pip to install the Pieces OS Client SDK package:
pip install pieces_os_client
Initialize the Pieces Client
from pieces_os_client.wrapper import PiecesClient
# Initialize the PiecesClient
pieces_client = PiecesClient()
Custom Host URL
When we initialize the Pieces Client, it defaults to http://localhost:1000
for macOS/Windows and http://localhost:5323
for Linux. If you have a remote instance of Pieces OS running, you can specify the host URL when initializing the Pieces Client:
from pieces_os_client.wrapper import PiecesClient
# Specify the host URL
host_url = "http://your-host-url:your-port"
pieces_client = PiecesClient(host=host_url)
Closing the Client
After you have finished using the Pieces Client, you should always close the client to free up resources:
pieces_client.close()
Examples
Here are some examples of how you can use to get familiar with the Pieces OS Client SDK.
Create a New Asset
To create a new asset, you can use the create_asset
method of the Pieces Client. Here's an example of how to create a new asset:
from pieces_os_client.wrapper import PiecesClient
from pieces_os_client import FragmentMetadata, ClassificationSpecificEnum
# Initialize the PiecesClient
pieces_client = PiecesClient()
# Set the content and metadata for the new asset
content = "print('Hello, World!')"
metadata = FragmentMetadata(ext=ClassificationSpecificEnum.PY) # optional metadata
# Create the new asset using the content and metadata
new_asset_id = pieces_client.create_asset(content, metadata)
print(f"Created asset with ID: {new_asset_id}")
# Close the client
pieces_client.close()
Get All Assets
To get all your assets, you can use the assets
method of the Pieces Client. Here's an example of how to get all your assets and print their names:
from pieces_os_client.wrapper import PiecesClientpnp
# Initialize the PiecesClient
pieces_client = PiecesClient()
# Get all assets and print their names
assets = pieces_client.assets()
for asset in assets:
print(f"Asset Name: {asset.name}")
# Close the client
pieces_client.close()
Ask a Question to Pieces Copilot
To ask a question to Pieces Copilot and stream the response, you can use the stream_question
method of the Pieces Client. Here's an example of how to ask a question and stream the response:
from pieces_os_client.wrapper import PiecesClient
# Initialize the PiecesClient
pieces_client = PiecesClient()
# Set the question you want to ask
question = "What is Object-Oriented Programming?"
# Ask the question and stream the response
for response in pieces_client.copilot.stream_question(question):
if response.question:
# Each answer is a chunk of the entire response to the question
answers = response.question.answers.iterable
for answer in answers:
print(answer.text,end="")
# Close the client
pieces_client.close()
Next Steps
You can explore more features and functionalities of the built-in wrapper.