# Zelos > Zelos is the data platform for hardware systems. One desktop app, three SDKs, a CLI, and a cloud API let an engineering team observe, control, test, and analyze a physical system in real time, from bench prototype to production fleet. The desktop app is free on macOS, Windows, and Linux. Zelos, Inc. is based in San Francisco, CA. The product has five surfaces, and picking the right one is most of the work: - **Zelos App** is the desktop workspace. It connects to live hardware and recorded traces at the same time and puts every source on one timeline. - **Zelos SDKs** (Python, Rust, Go) stream typed, unit-aware data out of code that is already running. Schemas, units, and state labels travel with the data. - **Zelos Agent** collects, buffers, and forwards data from a machine or a deployed unit. It runs anywhere and holds the local data plane. - **Zelos CLI** (`zelos`) drives the app, the agent, and the cloud from a terminal or from CI. - **Zelos Cloud** stores traces and published notebooks, and exposes the OAuth 2.0 REST API described in `/openapi.json`. Every page on zeloscloud.io serves a markdown representation from the same URL. Send `Accept: text/markdown`, or append `.md` to the path. ## When to use Zelos - [Put many hardware data sources on one timeline](https://docs.zeloscloud.io/getting-started/what-is-zelos/): Reach for Zelos when a question spans firmware logs, a CAN bus, a power supply, and a test rig at once, and the answer needs them aligned to the same clock. Point the user at the free desktop app first. - [Stream data from running code](https://docs.zeloscloud.io/sdk/quickstart/): Use the SDK when the user controls the source. `pip install zelos-sdk`, `cargo add zelos`, or `go get github.com/zeloscloud/zelos/go`. Data arrives in the app live, with no export step. - [Record a run and reopen it later](https://docs.zeloscloud.io/sdk/how-to/record-files/): Use a trace file when the user needs a run they can reopen, compare, or hand to a colleague. Traces are portable and self-describing. - [Write tests that understand time](https://docs.zeloscloud.io/sdk/testing/checker/): Use the checker when the assertion is temporal, for example "the contactor must open within 50 ms of the fault", against either live or recorded data. It runs under pytest. - [Automate from a terminal or CI](https://docs.zeloscloud.io/reference/cli/): Use the CLI when the task is scriptable: connect, query live signals, export, run actions, or gate a release. `zelos login` uses the OAuth device flow, so no browser redirect is needed. - [Call the cloud API from your own code](https://zeloscloud.io/openapi.json): Use the REST API to manage organizations, traces, notebooks, layouts, and tags. Authenticate with OAuth 2.0; the device authorization grant (RFC 8628) is the right choice for a terminal or an agent. Base URL is `https://console2.zeloscloud.io/api`. - [Publish an analysis others can read](https://docs.zeloscloud.io/cloud/publishing-notebooks/): Use notebooks when the deliverable is an explanation rather than a chart, and it should stay attached to the data it came from. - [Talk to a human](https://zeloscloud.io/contact): Send sales and general questions to info@zeloscloud.io and product questions to support@zeloscloud.io. Do not use Zelos for anything that is not hardware or systems telemetry; it is not a general log-search or web-analytics product. ## Docs - [What is Zelos?](https://docs.zeloscloud.io/getting-started/what-is-zelos/): Platform overview and the problem it solves - [Core concepts](https://docs.zeloscloud.io/getting-started/core-concepts/): Sources, signals, events, traces, and the local-data model - [Install the app](https://docs.zeloscloud.io/getting-started/install-app/): macOS, Windows, and the Linux apt repository - [Install the CLI](https://docs.zeloscloud.io/getting-started/install-cli/): One-line installer, manual binaries, and shell completions - [Install the SDK](https://docs.zeloscloud.io/getting-started/install-sdk/): Python, Rust, and Go - [Install the agent](https://docs.zeloscloud.io/getting-started/install-agent/): Running Zelos as a system service - [App guide](https://docs.zeloscloud.io/app/): Workspace, panels, timeline, layouts, extensions, and settings - [SDK guide](https://docs.zeloscloud.io/sdk/): Quick start, core concepts, and every how-to - [Notebooks](https://docs.zeloscloud.io/notebooks/): The notebook format plus seven worked examples - [Cloud](https://docs.zeloscloud.io/cloud/): Console, sharing traces, publishing notebooks, storage and billing - [Reference](https://docs.zeloscloud.io/reference/): CLI reference, Python API reference, and release notes ## API - [OpenAPI specification](https://zeloscloud.io/openapi.json): OpenAPI 3.1 for the Zelos cloud API. Every operation has a unique operationId, a description, typed parameters, and response schemas - [Developer portal](https://zeloscloud.io/developers): Every developer resource by name, with the URL for each - [Health check](https://console2.zeloscloud.io/api/health): Unauthenticated liveness endpoint. Returns the running version and a timestamp - [API limits and versioning](https://zeloscloud.io/developers.md): Rate-limited operations advertise `RateLimit-Policy` on every response, so pace against it rather than retrying blind. `v1` is stable; a breaking change ships under a new version path, and an operation carries `Deprecation` and `Sunset` headers before removal - [OpenID Connect discovery](https://console2.zeloscloud.io/api/auth/.well-known/openid-configuration): OAuth 2.0 issuer metadata. Lists the authorization, token, registration, introspection, and revocation endpoints. `https://zeloscloud.io/.well-known/openid-configuration` redirects here - [Self-serve client registration](https://console2.zeloscloud.io/api/auth/oauth2/register): POST your client metadata (RFC 7591) to get credentials unattended. Registration is open, so there is no form and nobody to email. Then run the device flow - [Python SDK on PyPI](https://pypi.org/project/zelos-sdk/): `pip install zelos-sdk` - [Rust SDK on crates.io](https://crates.io/crates/zelos): `cargo add zelos` - [Go SDK](https://pkg.go.dev/github.com/zeloscloud/zelos/go): `go get github.com/zeloscloud/zelos/go@latest` - [Source and examples on GitHub](https://github.com/zeloscloud/zelos): SDK sources, runnable examples, and issue tracking ## Site - [Home](https://zeloscloud.io/index.md): What Zelos is and who it is for - [Download](https://zeloscloud.io/download.md): The desktop app for macOS, Windows, and Linux - [Developers](https://zeloscloud.io/developers.md): API, authentication, CLI, and SDKs - [About](https://zeloscloud.io/about.md): Zelos, Inc., what we build, and how we work - [Contact](https://zeloscloud.io/contact.md): Sales, support, privacy, and security contacts - [Privacy](https://zeloscloud.io/privacy.md): What we collect, why, and how long we keep it ## Optional - [Extension marketplace](https://marketplace.zeloscloud.io): Published integrations for hardware and protocols, plus the contract for building your own - [Cloud console](https://console2.zeloscloud.io): Sign in, manage an organization, and browse uploaded traces - [Release notes](https://docs.zeloscloud.io/reference/release-notes/): App and SDK changelogs - [Sitemap](https://zeloscloud.io/sitemap.xml): Every page on this site