Skip to main content

SweatStack CLI

Command-line interface for SweatStack — the sports data platform for developers.

Installation

Requires Python 3.11+. We recommend uv for installation.

# Run directly without installing
uvx sweatstack-cli

# Or install as a tool
uv tool install sweatstack-cli

# Or with pip
pip install sweatstack-cli

To upgrade:

uv tool upgrade sweatstack-cli

To reinstall (e.g. after a broken install or Python version change):

uvx --reinstall sweatstack-cli
# or if installed as a tool
uv tool install --reinstall sweatstack-cli

Quick Start

# Authenticate with SweatStack
sweatstack login

# Create an app with a page, and scaffold public/index.html
sweatstack page init "My App"

# Preview locally, then publish to https://my-app.pages.sweatstack.dev
sweatstack page serve
sweatstack page deploy

Commands

Authentication

Command Description
sweatstack login Authenticate via browser (OAuth2 PKCE)
sweatstack login --force Force re-authentication
sweatstack logout Remove stored credentials
sweatstack status Show auth status, user info, and version
sweatstack --version Show version and check for updates

Application Management

Command Description
sweatstack app create [NAME] Create a new private OAuth2 application
sweatstack app link Link current directory to an existing application

app create options

Option Description
--description, -d TEXT Application description (max 500 chars)
--page, -p SLUG Associate with a SweatStack Page
--secret, -s Generate a client secret
--env Write credentials to .env
--env-file PATH Write credentials to a specific file
--json Output as JSON
Option Description
--force, -f Overwrite existing sweatstack.toml

Project Configuration

app create, app link and page init generate a sweatstack.toml in the current directory. Other commands read defaults from this file.

[app]
name = "My App"
client_id = "abc123"

[page]
slug = "my-page"
directory = "dist"

Pages

Static sites hosted at https://<slug>.pages.sweatstack.dev. Each application has at most one page.

Command Description
sweatstack page init [NAME] Create an app and its page, and scaffold public/index.html
sweatstack page serve Preview the site locally
sweatstack page deploy [SLUG] Publish the site, creating the page if needed

page init

Creates a private application and its page, records both in sweatstack.toml, and writes a starter app to public/index.html that signs in with SweatStack and plots your latest activity. The slug is derived from the name. With an app already linked in sweatstack.toml, it reuses that app instead of creating one.

Option Description
--slug TEXT Page slug (default: derived from the name)
--dir PATH Directory to scaffold (default: public)
--title TEXT Title shown on the page (default: the name)
--client-id TEXT Reuse an existing application
--force, -f Overwrite an existing index.html

page serve

Serves the [page] directory from sweatstack.toml on the first free port from 8000. Extra arguments are passed to python -m http.server. Apps created by the CLI accept sign-in redirects to localhost on any port.

page deploy

# Deploy using sweatstack.toml defaults (recommended)
sweatstack page deploy

# Or specify slug and directory explicitly
sweatstack page deploy my-page --dir ./dist

Every deploy replaces all files on the page. If the page doesn't exist yet, deploy creates it. With an app linked in sweatstack.toml, it creates that app's page. Without one, it asks to create a new app with the page, and fails instead when not run interactively (e.g. in CI).

New apps are private: only you can sign in. After deploying, deploy prints a link to make the app public.

Limits: 10 MB per file; 100 MB and about 1,000 files per deploy.

License

MIT

Metadata

Release files for sweatstack-cli 0.13.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sweatstack-cli 0.13.0
File Size Uploaded Provenance
sweatstack_cli-0.13.0.tar.gz 110.4 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for sweatstack-cli 0.13.0
File Interpreter ABI Platform
sweatstack_cli-0.13.0-py3-none-any.whl Python 3 none any Details

Total release size: 151.1 kB

Release files / sweatstack_cli-0.13.0.tar.gz

Download URL sweatstack_cli-0.13.0.tar.gz
Size 110.4 kB
Tags Source
SHA-256 checksum
How to use checksums
27b66247364ee1f9ced5ffeb24e13be3bfe6ae7274a2d498bcc71cfead3a3860
BLAKE2b-256 checksum
How to use checksums
a907ada19ba41921f430cdfaa916355b6c553779e2505253513f69a1cbe7320b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / sweatstack_cli-0.13.0-py3-none-any.whl

Download URL sweatstack_cli-0.13.0-py3-none-any.whl
Size 40.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
93478b3d2da816ba66974aeb4da71f06b39eb94d7cad424ece9ff5975214ffed
BLAKE2b-256 checksum
How to use checksums
e0054523c6035d92a082aa3170f01705fc1c216cf469de9eeb6f60d31b995506
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for sweatstack-cli 0.13.0

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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page