Skip to main content

sharepoint-cli

Agent-friendly SharePoint Online CLI with JSON output, structured exit codes, and schema introspection.

Install

From crates.io

cargo install sharepoint-cli

From PyPI

pip install sharepoint-cli-rs
# or
uv tool install sharepoint-cli-rs

From source

git clone https://github.com/rvben/sharepoint-cli
cd sharepoint-cli
cargo install --path .

Quick start

# First-time setup: configures tenant + default site, then signs in
sharepoint init

# Or sign in to an already-configured profile
sharepoint auth login

# List followed sites
sharepoint sites list

# List libraries in a site
sharepoint drives list <site>

# Browse a library
sharepoint files ls <site>:<library>/

# Stat / download / search
sharepoint files stat   <site>:<library>/path/to/file
sharepoint files download <site>:<library>/path/to/file -o ./out.bin
sharepoint files find   <site>:<library>/ --name '*.pdf'
sharepoint doctor

For a headless or staged setup, provide the tenant and public-client application ID explicitly and defer sign-in:

sharepoint init --tenant contoso.onmicrosoft.com \
  --client-id 00000000-0000-0000-0000-000000000000 \
  --default-site Marketing --read-only --no-login
sharepoint auth login

Interactive setup reuses existing profile values as defaults. Non-interactive setup never reads prompts from piped stdin; missing values produce an actionable input error instead.

Output

  • Human output on stdout, status messages on stderr.
  • --json (or non-TTY stdout) emits machine-readable JSON on stdout.
  • --quiet suppresses status messages.
  • --no-color and the standard NO_COLOR environment variable disable ANSI output.

Suite-level discovery is available without guessing: use sharepoint doctor --offline, sharepoint schema --command 'files stat', sharepoint config show, and sharepoint completions <shell>.

Authentication and profile management follow the same suite-wide commands:

sharepoint auth status
sharepoint auth status --offline
sharepoint profile list
sharepoint profile use work
sharepoint profile remove old --yes
sharepoint config path

Configuration

Config lives at $XDG_CONFIG_HOME/sharepoint/config.toml (or ~/.config/sharepoint/config.toml). Run sharepoint config path to print the resolved location.

You must supply two things before signing in:

  • A tenant (your Microsoft 365 domain or tenant GUID).
  • A client_id for an Entra public-client app you've registered. The app needs the device-code flow enabled and delegated Files.Read.All, Sites.Read.All, and offline_access scopes. sharepoint init walks you through saving both into the active profile.

Environment overrides:

  • SHAREPOINT_PROFILE — active profile name
  • SHAREPOINT_TENANT_ID — tenant override
  • SHAREPOINT_CLIENT_ID — Entra application (client) ID — required

License

MIT

Releasing

Vership owns versioning, changelog generation, release commits, and tags. See the release runbook for the verified workflow and recovery policy.

Metadata

Release files for sharepoint-cli-rs 0.0.12

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

Source distribution (sdist)

Source distribution for sharepoint-cli-rs 0.0.12
File Size Uploaded Provenance Actions
sharepoint_cli_rs-0.0.12.tar.gz 102.9 kB Without provenance Details for sharepoint_cli_rs-0.0.12.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for sharepoint-cli-rs 0.0.12
File Actions
sharepoint_cli_rs-0.0.12-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details for sharepoint_cli_rs-0.0.12-py3-none-win_amd64.whl
sharepoint_cli_rs-0.0.12-py3-none-manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.28+ x86-64 Details for sharepoint_cli_rs-0.0.12-py3-none-manylinux_2_28_x86_64.whl
sharepoint_cli_rs-0.0.12-py3-none-manylinux_2_28_aarch64.whl Python 3 none Linux glibc 2.28+ ARM64 Details for sharepoint_cli_rs-0.0.12-py3-none-manylinux_2_28_aarch64.whl
sharepoint_cli_rs-0.0.12-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details for sharepoint_cli_rs-0.0.12-py3-none-macosx_11_0_arm64.whl
sharepoint_cli_rs-0.0.12-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details for sharepoint_cli_rs-0.0.12-py3-none-macosx_10_12_x86_64.whl

Total release size: 13.9 MB

Release files / sharepoint_cli_rs-0.0.12.tar.gz

Download URL sharepoint_cli_rs-0.0.12.tar.gz
Size 102.9 kB
Tags Source
SHA-256 checksum
How to use checksums
9e6ceafa0d91888b50672d6a3a908b71f64a9a5f91436b90d79f57d21e027ccc
BLAKE2b-256 checksum
How to use checksums
077dea34a4507783008a3e6ed43806f673451b4741cffbfd18cce3fe2994a1d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / sharepoint_cli_rs-0.0.12-py3-none-win_amd64.whl

Download URL sharepoint_cli_rs-0.0.12-py3-none-win_amd64.whl
Size 2.8 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
87399d0415290e23c520d370e193c061130ebc7728c883cedaacdf1fb3906ed3
BLAKE2b-256 checksum
How to use checksums
602e70e30f0e89daf0816420d4f5ad863bd3689560a8f5b8ae83edc579a20837
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / sharepoint_cli_rs-0.0.12-py3-none-manylinux_2_28_x86_64.whl

Download URL sharepoint_cli_rs-0.0.12-py3-none-manylinux_2_28_x86_64.whl
Size 2.9 MB
Tags Linux glibc 2.28+ x86-64 Python 3
SHA-256 checksum
How to use checksums
9ec4c6c75f39feaa8fa47d0ec939578049b8b08c2bb0ca82f82cad3a1e3f7946
BLAKE2b-256 checksum
How to use checksums
4c267329bd9b05fac4903f14c4d4580b021ebc3ec241ae2c097b4b3b17c51018
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / sharepoint_cli_rs-0.0.12-py3-none-manylinux_2_28_aarch64.whl

Download URL sharepoint_cli_rs-0.0.12-py3-none-manylinux_2_28_aarch64.whl
Size 2.7 MB
Tags Linux glibc 2.28+ ARM64 Python 3
SHA-256 checksum
How to use checksums
01e92b5cbfd0aeba0c2295f288db93aa3a77c7fd64a9312a2bcc3c279ea74f68
BLAKE2b-256 checksum
How to use checksums
0deafedb36bb24acd4e83c525fe6678bdbf2c82435facf29804fdeb39e7cb6e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / sharepoint_cli_rs-0.0.12-py3-none-macosx_11_0_arm64.whl

Download URL sharepoint_cli_rs-0.0.12-py3-none-macosx_11_0_arm64.whl
Size 2.7 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9a275b73f525d5be73b52ee98302ee48e0b071e87a51ea0791e3c9a4c229bd28
BLAKE2b-256 checksum
How to use checksums
26af776460df1d22eeecf826eaa011b7991b28b56128b380e8ed658a0236facb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / sharepoint_cli_rs-0.0.12-py3-none-macosx_10_12_x86_64.whl

Download URL sharepoint_cli_rs-0.0.12-py3-none-macosx_10_12_x86_64.whl
Size 2.8 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
b472151ef2ad0e3ace60daa8b390c04f91575e2d094c98255c6f438b952f50e6
BLAKE2b-256 checksum
How to use checksums
25cb058fb807a86f410db50ca2b3536554b454a07b85eb9099defba951cc7770
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for sharepoint-cli-rs 0.0.12

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