Skip to content

planetlabs/planet-client-python

Repository files navigation

Planet SDK for Python

Build Status PyPI Downloads

The Planet Software Development Kit (SDK) for Python provides both a Python API and a command-line interface (CLI) to make use of the Planet APIs. Everything you need to get started is found in our online documentation.

Version 2.0 includes support for the core workflows of the following APIs:

  • Data - Search for imagery from Planet's data catalog.
  • Orders - Process and download or deliver imagery.
  • Subscriptions - Set up a search to auto-process and deliver imagery.
  • Features - Upload areas of interest to the Planet platform.

After the initial 2.0 release there will be additional work to support the remaining Planet APIs: basemaps, tasking and analytics.

Versions and Stability

The SDK follows Semantic Versioning and therefore only major releases should break compatibility. Minor versions may include new functionality and patch versions address bugs or trivial changes (like documentation).

Packages will be released to PyPi / Planet with semantic version identifiers that comply with PEP 440.

The Semantic Versioning stability scheme only applies to APIs that are considered part of the public API. This includes library APIs exported from the planet package and documented in our SDK developer documentation, and the planet CLI interface used for scripts. It does not include library interfaces below the top level planet Python package which are considered internal and subject to change without notice.

SDK semantic versioning does not apply to the underlying Planet APIs, which follow their own independent version and release lifecycles.

If depending upon official packages from PyPI, a developer should feel comfortable specifying planet == 2.* unless depending on a specific feature introduced at a minor version, in which case planet == 2.x.* (where x is the minor version of the new feature) should suffice.

Versions and Support Status

Major versions are supported according to their designated support status, as defined below. Planet Labs PBC makes no formal commitment to a specific schedule, but will make every effort to provide reasonable notice of upcoming changes to the support status of major versions.

  • development - Unstable. Under active development. Not recommended for production use. API stability not guaranteed. New features from active versions will be ported forward to the extent allowed by the scope of the new major version under development.
  • active - Actively maintained and supported. New features and bug fixes. Suitable for production use. API stability guaranteed according to semantic versioning, but subject to changes in the underlying Planet APIs.
  • maintenance - Critical bug fixes only.
  • end-of-life - No longer supported. Software packages will remain available.
  • removed - No longer available. Removed from distribution channels.

Python Version Support

Active minor versions will support Python versions that have not reached end-of-life at the time of release.

See https://devguide.python.org/versions/ for current Python versions.

Branches

The default branch is always main, and will correspond to the current stable major release version. This branch should be considered in-development but with tests and other build steps kept in a passing state.

See CONTRIBUTING.md for more information on branches.

Current Mainline Versions and Branches
Version Status Branch Documentation Initial Release End of Active Development End of Maintenance Notes
3.x development main-3.0-dev TBD TBD TBD TBD See RELEASE-PLANNING-X.0.md.
2.x active main Planet Labs Python Client v2 on Readthedocs.io April 2023 TBD TBD
1.x end-of-life v1 Planet Labs Python Client v1 on Github.io April 2017 April 2023 TBD

Installation and Quick Start

The Planet SDK for Python is hosted on PyPI and can simply be installed via:

pip install planet

To install from source, first clone this repository, then navigate to the root directory (where setup.py lives) and run:

pip install .

Note that the above commands will install the Planet SDK into the global system Python unless a virtual environment is enabled. For more information on configuring a virtual environment from system Python, see the official Python venv documentation. For users who are running multiple versions of Python via pyenv, see the pyenv-virtualenv extension documentation.

Detailed installation instructions for the Planet SDK can be found in the Quick Start Guide of the documentation.

Contributing and Development

To contribute or develop with this library, see CONTRIBUTING.md.

Documentation

Documentation is currently hosted online It should be considered 'in progress', with many updates to come. It can also be built and hosted locally (see CONTRIBUTING.md) or can be read from source in the docs directory.

Authentication

Planet's APIs require an account for use. To get started you need to Get a Planet Account.