CLI and SDK tools for interacting with the Shaped API.
Project description
Python SDK
pip install shaped
Rank
import shaped
api_key = 'your_api_key'
client = shaped.Client(api_key=api_key)
api_response = client.rank(
model_name="amazon_beauty_product_recommendations",
user_id="A2FRWMTWYJUK7P",
return_metadata=True,
item_ids=['B01AHSUT8M', 'B00GW7H5EY', 'B01GLA54SA', 'B0016PKWK6', 'B00PJD7KPG', 'B00BCI8OP2', 'B004FK7R02'],
)
print(api_response)
Retrieve
import shaped
api_key = 'your_api_key'
client = shaped.Client(api_key=api_key)
api_response = client.retrieve(
model_name="amazon_beauty_product_recommendations",
)
print(api_response)
Similar Items
import shaped
api_key = 'your_api_key'
client = shaped.Client(api_key=api_key)
api_response = client.similar_items(
model_name="amazon_beauty_product_recommendations",
item_id="B000FOI48G",
)
print(api_response)
Similar Users
import shaped
api_key = 'your_api_key'
client = shaped.Client(api_key=api_key)
api_response = client.similar_users(
model_name="amazon_beauty_product_recommendations",
user_id="A2FRWMTWYJUK7P",
)
print(api_response)
Complement Items
import shaped
api_key = 'your_api_key'
client = shaped.Client(api_key=api_key)
api_response = client.complement_items(
model_name="amazon_beauty_product_recommendations",
item_ids=['B000URXP6E', 'B0012Y0ZG2'],
)
print(api_response)
Maintainer Notes
To recreate the autogenerated code:
brew install openapi-generator
- Copy across
openapi.yaml
from theshaped-docs
repository to/sdk
- Navigate to
/sdk
and run the command:
openapi-generator generate -g python -i openapi.yaml -o python/ -p packageName=shaped.autogen --global-property models,apis,apiDocs=false,modelDocs=false,modelTests=false,apiTests=false,supportingFiles=api_client.py:api_response.py:configuration.py:exceptions.py:rest.py:__init__.py
Testing
pytest sdk/python/tests/test_rank.py --api-key 'api_key'
Shaped CLI
CLI for interactions with the Shaped API.
Installing the Shaped CLI
pip install shaped
Initialize
shaped init --api-key <API_KEY>
Model API
Create Model (File)
shaped create-model --file <PATH_TO_FILE>
Create Model (STDIN)
cat $(PATH_TO_FILE) | shaped create-model
List Models
shaped list-models
View Model
shaped view-model --model-name <MODEL_NAME>
Delete Model
shaped delete-model --model-name <MODEL_NAME>
Dataset API
Create Dataset
shaped create-dataset --file <PATH_TO_FILE>
List Datasets
shaped list-datasets
Dataset Insert
shaped dataset-insert --dataset-name <DATASET_NAME> --file <DATAFRAME_FILE> --type <FILE_TYPE>
Delete dataset
shaped delete-dataset --dataset-name <DATASET_NAME>
Rank API
Rank
shaped rank --model-name <MODEL_NAME> --user-id <USER_ID>
Similar Items
shaped similar --model-name <MODEL_NAME> --item-id <ITEM_ID>
Similar Users
shaped similar --model-name <MODEL_NAME> --user-id <USER_ID>
Development
Installing the Shaped CLI from Test PyPI
Upon all pushes to main branch, a new version of the CLI is published to Test PyPI. To install the latest version of the CLI from Test PyPI, run the following commands:
conda create -n cli-dev python=3.9
conda activate cli-dev
export PACKAGE_VERSION={} # Specify the version you want to install
pip install --extra-index-url https://test.pypi.org/simple/ shaped-cli==$PACKAGE_VERSION
Releasing a new CLI version to PyPI
To release a new version of the CLI to PyPI, open a PR changing the version of the package in setup.py
, following Semantic Versioning principles, e.g. 0.1.1
.
CircleCI will generate an approval prompt when this branch is merged to main, and upon approval will publish to PyPI.
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.