Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Large order support in SDK & CLI

Open
#746 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Stale
Tech stack
python
Domain
api, cli

Research direction

Start by tracing the SDK and CLI order-submission entry points and the orders API limit described here. Resolve the bulk-order behavior for both interfaces, including opt-in handling, 100-item chunking, order naming, and returned order IDs. Done means large requests can be split into usable orders through the SDK and CLI.

Written by the indexing model from the issue text.

Description

CLI/SDK Interface feedback orders api

A couple users have reported one of the more tedious parts of using the SDK and CLI is putting all the requests together when ordering a large number of items.

The orders API allows a maximum of 500 items at once (and works best if it's a 100 or less), but many use cases involving larger AOI's and/or deep time stacks involve more than that. A user has to break it up into a number of different requests and then download all of them.

We could offer the ability to break up an order on behalf of the user. In discussion with @jreiberkyle we decided (if I remember right) that the smoothest path (from a CLI perspective) would be to let a user provide an arbitrary long list of id's, but if it's over the limit then we'd have an interactive prompt informing them that their order is past the limit, and it needs to be broken up into smaller orders, and ask them if they'd like that done automatically. We'd then issue as many orders as needed to fulfill the request, returning a list of order id's. The default would likely be that we just then let the user decide if they want to wait and download each, but we could also explore some sort of new bulk wait and download request.

From the python API perspective we also want to offer some sort of bulk offering, with an 'opt-in' step, but @jreiberkyle was going to think of the best way to do that, perhaps another method that takes a longer list of orders and returns a list of order ids, etc.

In both cases we would have to provide 'names' for each order, but both paths would take an order name as an argument, so we could likely just append the order number.

Talking to the core API team at Planet it sounds like breaking orders up into 100 items or less gets the highest chance of success. Right now I'm thinking we could 'offer' this at any order over 100, but if it's under 500 we'd still let them place the order. But I think either way when we break it up we should do chunks of 100 items, for the highest chance of success.

Dominant language
Python
Stars
299
Forks
100
Avg merge
7d 8h
Merged PRs (30d)
2

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from planetlabs/planet-client-python

All issues in planetlabs/planet-client-python

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.