Plato SDK
Usage
Install the plato-sdk library
pip install plato-sdk
Set Plato api key enviornment variable
PLATO_API_KEY=
Create an enviornment and connect to it using the cdp_url
import asyncio
import os
from plato import Plato, PlatoTask
from plato.examples.doordash_tasks import all_tasks as doordash_tasks
base_prompt = """
You are a helpful assistant that can help me buy food from doordash.
start by going to {start_url}. Do not navigate to other websites.
While you can't finish the checkout process becuase you need user permission,
you can add items to cart and see the total price. Do not end the task until you have added the necessary items to cart.
Here is the task:
{prompt}
Make sure to complete the checkout process once you've added the necessary items to cart.
The task is not complete until the order is sent and paid for.
You do not need my permission to and place an order.
"""
async def run_task(client: Plato, task: PlatoTask):
env = await client.make_environment(task.env_id, open_page_on_start=False)
await env.wait_for_ready()
await env.reset(task)
cdp_url = await env.get_cdp_url()
prompt = base_prompt.format(start_url=task.start_url, prompt=task.prompt)
# live view url to watch live
live_view_url = await env.get_live_view_url()
print(f"Live view URL: {live_view_url}")
try:
# connect agent and run
await YourAgent.run(cdp_url, prompt)
result = await env.evaluate()
print(f"Evaluation result: {result}")
except Exception as e:
print(f"Error: {e}")
finally:
await env.close()
async def main():
client = Plato(api_key=os.environ.get("PLATO_API_KEY"))
for task in doordash_tasks:
await run_task(client, task)
if __name__ == "__main__":
asyncio.run(main())
State mutations
State mutations returns the diffs of all modified fields
# add item to cart
...
state_mutations: dict = env.get_state()
This returns a JSON object like this:
{
"success": true,
"state": {
"added": {},
"removed": {},
"modified": {
"detailed_carts": {
"old": [],
"new": [
{
"id": "5b227ce7-d0e9-47af-93c4-d8acfc5134d3",
"hasError": null,
"isConsumerPickup": false,
"isConvenienceCart": false,
"isPrescriptionDelivery": false,
"prescriptionStoreInfo": null,
"isMerchantShipping": false,
"offersDelivery": true,
"offersPickup": true,
"subtotal": 1499,
"urlCode": null,
"groupCart": false,
"groupCartType": null,
"groupCartPollInterval": null,
"isCatering": false,
"isSameStoreCatering": null,
"isBundle": false,
"bundleType": null,
"fulfillmentType": null,
"originalBundleOrderCartId": null,
"cartStatusType": null,
"cateringInfo": null,
"shortenedUrl": null,
"maxIndividualCost": null,
"serviceRateMessage": null,
"isOutsideDeliveryRegion": null,
"currencyCode": null,
"asapMinutesRange": null,
"orderTimeAvailability": null,
"menu": {
"id": "20016546",
"hoursToOrderInAdvance": null,
"name": null,
"minOrderSize": null,
"isCatering": false,
"typename": "Menu"
},
"creator": {
"id": "56349731",
"firstName": "Rob",
"lastName": "Farlow",
"localizedNames": {
"informalName": "Rob",
"formalName": "Rob Farlow",
"formalNameAbbreviated": "Rob F",
"typename": "LocalizedNames"
},
"typename": "OrderCartCreator"
},
"deliveries": null,
"submittedAt": null,
"restaurant": {
"id": "24770143",
"name": "Popstar shawarma",
"maxOrderSize": 0,
"coverImgUrl": "https://img.cdn4dd.com/cdn-cgi/image/fit=contain,width=1200,height=672,format=auto/https://doordash-static.s3.amazonaws.com/media/restaurant/cover/12699cb8-d1bf-469e-8c5b-4da529838942.jpg",
"businessHeaderImgUrl": "https://img.cdn4dd.com/cdn-cgi/image/fit=contain,width=1200,height=672,format=auto/https://doordash-static.s3.amazonaws.com/media/store/header/3eed46fc-3637-47fa-9378-e5848e125798.jpg",
"coverSquareImgUrl": "https://img.cdn4dd.com/cdn-cgi/image/fit=contain,width=1200,height=672,format=auto/https://doordash-static.s3.amazonaws.com/media/restaurant/cover_square/f8e23996-e307-42b7-859e-3e96b954d8a7.PNG",
"squareCoverImgUrl": null,
"slug": null,
"address": {
"printableAddress": null,
"street": "91 6th Street",
"lat": 37.781284,
"lng": -122.40871,
"city": "San Francisco",
"state": "CA",
"postalCode": null,
"country": null,
"displayAddress": "91 6th St, San Francisco, CA 94103, USA",
"typename": "Address"
},
"business": {
"id": "11490330",
"name": "Popstar shawarma",
"typename": "Business"
},
"orderProtocol": null,
"idealGroupSize": null,
"highQualitySubtotalThreshold": null,
"shouldShowStoreLogo": null,
"isConsumerSubscriptionEligible": null,
"bulkSubstitutionPreference": null,
"merchantPromotions": null,
"requiresCheckIn": null,
"offersPackageReturns": false,
"snapMerchantId": null,
"typename": "Restaurant"
},
"storeDisclaimers": [],
"orders": [
{
"id": "62df4926-0c9e-4111-a60e-9cb0ccf8b69f",
"consumer": {
"id": "56349731",
"firstName": "Rob",
"lastName": "Farlow",
"localizedNames": {
"informalName": "Rob",
"formalName": "Rob Farlow",
"formalNameAbbreviated": "Rob F",
"typename": "LocalizedNames"
},
"typename": "OrderConsumer"
},
"isSubCartFinalized": false,
"orderItems": [
{
"id": "395040ed-40fc-47d7-9076-77141afd26a8",
"options": [],
"cartItemStatusType": "CART_ITEM_STATUS_TYPE_UNSPECIFIED",
"nestedOptions": "[]",
"specialInstructions": "",
"substitutionPreference": "substitute",
"quantity": 1,
"singlePrice": null,
"priceOfTotalQuantity": 1499,
"priceDisplayString": "$14.99",
"nonDiscountPriceDisplayString": null,
"continuousQuantity": null,
"unit": "ea",
"purchaseType": "PURCHASE_TYPE_UNIT",
"estimatedPricingDescription": "",
"increment": null,
"discounts": null,
"item": {
"id": "7559717819",
"imageUrl": "https://img.cdn4dd.com/cdn-cgi/image/fit=contain,width=1200,height=672,format=auto/https://doordash-static.s3.amazonaws.com/media/photosV2/895bfa37-0194-46f5-97ad-88edc728e5e8-retina-large.jpg",
"name": "1. Chicken Sarookh Wrap",
"price": 1499,
"minAgeRequirement": 0,
"restrictionInfo": null,
"category": {
"title": "",
"typename": "OrderCartItemCategory"
},
"extras": null,
"itemTagsList": [],
"typename": "OrderCartItem"
},
"bundleStore": null,
"giftInfo": null,
"badges": null,
"nudgeList": null,
"promoNudgeList": null,
"restrictionInfo": null,
"isRoutineReorderEligible": false,
"itemLevelDiscountMonetaryFields": {
"currency": null,
"displayString": null,
"decimalPlaces": null,
"unitAmount": null,
"__typename": "AmountMonetaryFields"
},
"typename": "OrderItem"
}
],
"paymentCard": null,
"paymentLineItems": null,
"isOrderRoutineReorderEligible": false,
"typename": "Order"
}
],
"selectedDeliveryOption": null,
"teamAccount": null,
"total": 1918,
"totalBeforeDiscountsAndCredits": 1499,
"footerDetails": null,
"orderQualityInfo": null,
"discountBannerDetails": [],
"shouldApplyCredits": true,
"invalidItems": null,
"domain": null,
"containsAlcohol": false,
"foodAlcoholConstraintCartLevel": null,
"commissionMessage": null,
"scheduledDeliveryAvailable": false,
"enableNewScheduleAheadUi": false,
"deliveryOptionsUiConfig": null,
"preselectedOptionUpdate": null,
"isDigitalWalletAllowed": false,
"isPreTippable": true,
"hideSalesTax": false,
"paymentProtocol": null,
"merchantShippingDayRangeString": null,
"merchantShippingDetails": null,
"totalCreditsAvailable": null,
"creditsApplicableBeforeTip": false,
"creditsApplicableBeforeTipDetails": null,
"showAccessibilityCompliance": false,
"totalSavings": null,
"taxAmount": null,
"tipAmount": null,
"merchantTipAmount": null,
"tipPercentageArgument": null,
"dasherFee": null,
"overauthTotal": null,
"legislativeFeeDetails": [],
"deliveryFee": null,
"deliveryFeeDetails": null,
"appliedServiceFee": null,
"minOrderFee": null,
"minOrderSubtotal": null,
"adsVertical": null,
"asapTimeRange": null,
"asapPickupTimeRange": null,
"asapNumMinutesUntilClose": null,
"asapPickupNumMinutesUntilClose": null,
"extraSosDeliveryFee": null,
"fulfillsOwnDeliveries": false,
"asapDeliveryOverrideTitle": null,
"asapDeliveryAvailable": true,
"asapPickupAvailable": true,
"scheduledDeliveryOptionQuoteMessage": null,
"bundleDetails": null,
"deliveryOptions": [],
"minAgeRequirement": null,
"selfDeliveryType": null,
"serviceRateDetails": null,
"providesExternalCourierTracking": false,
"routineReorderTimeSlots": [],
"routineReorderWeekIntervals": [],
"supplementalPaymentEligibleAmountsList": [],
"supplementalAuthorizedPaymentDetailsList": [],
"menuOptions": [],
"storeOrderCarts": [],
"consumerPromotion": null,
"allConsumerPromotion": null,
"discountDetails": null,
"expenseOrderOptions": null,
"companyPaymentInfo": null,
"paymentProfileType": null,
"creditsBackDetails": null,
"isDashpassApplied": false,
"pricingQuoteId": null,
"ageRestrictedIdVerificationInfo": null,
"signatureRequired": false,
"messagesAndBanners": null,
"appliedMxLoyaltyRewards": null,
"lineItemTooltipData": [],
"eligibleSubscription": null,
"recurringDeliveryDetails": null,
"loyaltyPointsSummary": null,
"differentialPricingDetails": null,
"applicableMxLoyaltyRewards": null,
"applicableExternalGiftCardDetails": null,
"asapDeliveryOverrideSubtitle": null,
"typename": "OrderCart"
}
]
}
}
}
}
Metadata
Release files for plato-sdk 1.13.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| plato_sdk-1.13.3.tar.gz | 106.3 kB | Without provenance | Details for plato_sdk-1.13.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| plato_sdk-1.13.3-cp312-cp312-manylinux_2_17_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.17+ x86-64 | Details for plato_sdk-1.13.3-cp312-cp312-manylinux_2_17_x86_64.whl |
Total release size: 272.4 kB
Release files / plato_sdk-1.13.3.tar.gz
| Download URL | plato_sdk-1.13.3.tar.gz |
|---|---|
| Size | 106.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a26ccaa19244cbce671b68bed90a1aa7173bc8a1df14276d459425a7b0bd40f7
|
|
BLAKE2b-256 checksum How to use checksums |
672c7a06758770f0a49dfb3f39719b4113dd77f41ff80c954a20e18379859e2b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.4 {"installer":{"name":"uv","version":"0.13.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / plato_sdk-1.13.3-cp312-cp312-manylinux_2_17_x86_64.whl
| Download URL | plato_sdk-1.13.3-cp312-cp312-manylinux_2_17_x86_64.whl |
|---|---|
| Size | 166.2 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
d66317ee44db1b9106f76545fb0ab8e38e454fc42850d206005dc4933f7e2e57
|
|
BLAKE2b-256 checksum How to use checksums |
a3f813704d73a22b8622b0dde0aaf2b761f6770dd42c85efdb125976588a8373
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.4 {"installer":{"name":"uv","version":"0.13.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for plato-sdk 1.13.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.