Welcome to Polytope’s documentation!

Polytope is an open-source web service designed to provide efficient access to hypercubes of data in scientific analysis workflows, and is able to federate access between hypercubes in distributed computing resources. It is designed to couple data-centric workflows operating across multiple platforms (HPC, cloud) and across multiple distributed sites.

Users can access the Polytope service via the REST API exposed by Polytope, or via the polytope-client Python package. The client includes a Python API and a command line tool (CLI) for accessing Polytope services.

Features

  • Efficient web-based access to a variety of datacube datasources under a common API

  • Robust role-based and attribute-based access control, including quality-of-service limits

  • Micro-service design, able to be deployed and scaled on Kubernetes and Docker Swarm

  • Compatible and extendable to a variety of authentication providers (e.g. Keycloak, LDAP, SSO)

  • Federation of multiple Polytope instances, connecting distributed storage infrastructure

  • [WIP] Server-side polytope-based subsetting and feature extraction

Packages

License

Polytope is available under the open source Apache License. In applying this licence, ECMWF does not waive the privileges and immunities granted to it by virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.


Polytope has been developed at ECMWF as part of the EU projects LEXIS and HiDALGO. The LEXIS and HiDALGO projects have received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreements No. 825532 and No. 824115.