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>.

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sharepoint_cli_rs-0.0.10.tar.gz (102.2 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

sharepoint_cli_rs-0.0.10-py3-none-win_amd64.whl (2.8 MB view details)

Uploaded Python 3Windows x86-64

sharepoint_cli_rs-0.0.10-py3-none-manylinux_2_28_x86_64.whl (2.8 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

sharepoint_cli_rs-0.0.10-py3-none-manylinux_2_28_aarch64.whl (2.7 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

sharepoint_cli_rs-0.0.10-py3-none-macosx_11_0_arm64.whl (2.6 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

sharepoint_cli_rs-0.0.10-py3-none-macosx_10_12_x86_64.whl (2.8 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file sharepoint_cli_rs-0.0.10.tar.gz.

File metadata

  • Download URL: sharepoint_cli_rs-0.0.10.tar.gz
  • Upload date:
  • Size: 102.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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}

File hashes

Hashes for sharepoint_cli_rs-0.0.10.tar.gz
Algorithm Hash digest
SHA256 f7014d652e88051734e502880dec447868f55cf73cfb0b5788151df722f8dfac
MD5 9eef572d833c2fd15c5081206c8a6427
BLAKE2b-256 166f665591941683747dd430946ca73693671d5788486ce8d3f8d5c182908cc3

See more details on using hashes here.

File details

Details for the file sharepoint_cli_rs-0.0.10-py3-none-win_amd64.whl.

File metadata

  • Download URL: sharepoint_cli_rs-0.0.10-py3-none-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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}

File hashes

Hashes for sharepoint_cli_rs-0.0.10-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 6748bf6757e29458016e85a0ebe2672731441746cece05c5a22cb5c2cf33140f
MD5 277d26b09a5e89414325f9b031ddc161
BLAKE2b-256 1c2223830ea2c9f485467439d69fcd0c8fb8e1417787559ee93f538ece6726c6

See more details on using hashes here.

File details

Details for the file sharepoint_cli_rs-0.0.10-py3-none-manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: sharepoint_cli_rs-0.0.10-py3-none-manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: Python 3, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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}

File hashes

Hashes for sharepoint_cli_rs-0.0.10-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b87d899c6cff7e84faa019edf36cbfda84329984ffe6ebd8f9e4c5977cc68e93
MD5 c5c706dad63ec20acc2496b05fe3cd27
BLAKE2b-256 ccaf546ef30858fad94bc888a2e5aeb3ade2570a143938911f138fb2c42dff69

See more details on using hashes here.

File details

Details for the file sharepoint_cli_rs-0.0.10-py3-none-manylinux_2_28_aarch64.whl.

File metadata

  • Download URL: sharepoint_cli_rs-0.0.10-py3-none-manylinux_2_28_aarch64.whl
  • Upload date:
  • Size: 2.7 MB
  • Tags: Python 3, manylinux: glibc 2.28+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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}

File hashes

Hashes for sharepoint_cli_rs-0.0.10-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b41e1d1edf30e01c036aa8a905062adf9b237a4b1f34abb7a424fd83a7eafe35
MD5 a87232c0ab47323edb35aaab19a48789
BLAKE2b-256 bf341d5301816180cf31b85a1cbf73bfc652bc6cda55edac4d2dc381d5211e6e

See more details on using hashes here.

File details

Details for the file sharepoint_cli_rs-0.0.10-py3-none-macosx_11_0_arm64.whl.

File metadata

  • Download URL: sharepoint_cli_rs-0.0.10-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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}

File hashes

Hashes for sharepoint_cli_rs-0.0.10-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b94edac49951986977da91e04e3b9753ab0f07997ebf89fc87adf06da49d1451
MD5 7c7d9c2b556a8d72b265cb07f323ef87
BLAKE2b-256 785fc8efd572fcba067f080d4661cc1c4e46750c09c7b20010bc4a629944da0d

See more details on using hashes here.

File details

Details for the file sharepoint_cli_rs-0.0.10-py3-none-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: sharepoint_cli_rs-0.0.10-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: Python 3, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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}

File hashes

Hashes for sharepoint_cli_rs-0.0.10-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 25f6ecab82f057495183a1c9bcd63141107ac057d005db41ba76eebf919f3be8
MD5 c5966218f86caee68932fd6335e6f31f
BLAKE2b-256 6e982e7ba2464a8c3f437963e62bc3a2ec0f4349c740c3f803310778d6ab986a

See more details on using hashes here.

Release history Release notifications | RSS feed

0.0.11

6 files

This release

0.0.10 This release

6 files

0.0.9

6 files

0.0.8

6 files

0.0.7

6 files

0.0.6

6 files

0.0.4

6 files

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