Project description
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'
Output
Human output on stdout, status messages on stderr.
--json (or non-TTY stdout) emits machine-readable JSON on stdout.
--quiet suppresses status messages.
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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages .
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names .
The dropdown lists show the available interpreters, ABIs, and platforms.
Enable javascript to be able to filter the list of wheel files.
Copy a direct link to the current filters
Copy
File name
Interpreter
Interpreter
py3
ABI
ABI
none
Platform
Platform
macosx_10_12_x86_64
macosx_11_0_arm64
manylinux_2_28_aarch64
manylinux_2_28_x86_64
win_amd64
File details
Details for the file sharepoint_cli_rs-0.0.6.tar.gz.
File metadata
Download URL: sharepoint_cli_rs-0.0.6.tar.gz
Upload date:
May 6, 2026
Size: 74.1 kB
Tags: Source
Uploaded using Trusted Publishing? No
Uploaded via: uv/0.11.10 {"installer":{"name":"uv","version":"0.11.10","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.6.tar.gz
Algorithm
Hash digest
SHA256
4ccbfeebeb7734c466467db0e134f81a7a76ecf61dde9297b40650fb75b5d32a
Copy
MD5
08186dad30898c3fbde1a7506c78bf85
Copy
BLAKE2b-256
dd6609187ad8a08c4115b3292470ace1bc186a78c54aedbcc0db126428289336
Copy
See more details on using hashes here.
File details
Details for the file sharepoint_cli_rs-0.0.6-py3-none-win_amd64.whl.
File metadata
Download URL: sharepoint_cli_rs-0.0.6-py3-none-win_amd64.whl
Upload date:
May 6, 2026
Size: 2.5 MB
Tags: Python 3, Windows x86-64
Uploaded using Trusted Publishing? No
Uploaded via: uv/0.11.10 {"installer":{"name":"uv","version":"0.11.10","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.6-py3-none-win_amd64.whl
Algorithm
Hash digest
SHA256
8bd575329eaa36e404a8c3beaf34eec7369389a28749828cb448fa47c3cda13b
Copy
MD5
1d2801d092dea872fa858f82f4a356dd
Copy
BLAKE2b-256
ebc52bc68abe3f33a76f3dd8fb64db20ab05698444e08014d5d8e5025d44df4f
Copy
See more details on using hashes here.
File details
Details for the file sharepoint_cli_rs-0.0.6-py3-none-manylinux_2_28_x86_64.whl.
File metadata
Download URL: sharepoint_cli_rs-0.0.6-py3-none-manylinux_2_28_x86_64.whl
Upload date:
May 6, 2026
Size: 2.6 MB
Tags: Python 3, manylinux: glibc 2.28+ x86-64
Uploaded using Trusted Publishing? No
Uploaded via: uv/0.11.10 {"installer":{"name":"uv","version":"0.11.10","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.6-py3-none-manylinux_2_28_x86_64.whl
Algorithm
Hash digest
SHA256
a66081cbf52ccc1a8c91b6f2e66bc7ee579a08f5db0f19aa2d010b933d90e57a
Copy
MD5
edb46af04e637a12529054167190d8f8
Copy
BLAKE2b-256
d31870a931992378bc67a18e8446db517644d4862e95c8fd7b706a27cf0a57cd
Copy
See more details on using hashes here.
File details
Details for the file sharepoint_cli_rs-0.0.6-py3-none-manylinux_2_28_aarch64.whl.
File metadata
Download URL: sharepoint_cli_rs-0.0.6-py3-none-manylinux_2_28_aarch64.whl
Upload date:
May 6, 2026
Size: 2.5 MB
Tags: Python 3, manylinux: glibc 2.28+ ARM64
Uploaded using Trusted Publishing? No
Uploaded via: uv/0.11.10 {"installer":{"name":"uv","version":"0.11.10","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.6-py3-none-manylinux_2_28_aarch64.whl
Algorithm
Hash digest
SHA256
5f29ab3419db1f1ae3902f7f31d5b1528de35af6c54fc17379df1975e9873de8
Copy
MD5
b4bdc67233a9234acfeb4c72b9d4d197
Copy
BLAKE2b-256
c672dc09779b563303f532352e9b960abdd9ca8b94462f9b298a37474b2df9f2
Copy
See more details on using hashes here.
File details
Details for the file sharepoint_cli_rs-0.0.6-py3-none-macosx_11_0_arm64.whl.
File metadata
Download URL: sharepoint_cli_rs-0.0.6-py3-none-macosx_11_0_arm64.whl
Upload date:
May 6, 2026
Size: 2.4 MB
Tags: Python 3, macOS 11.0+ ARM64
Uploaded using Trusted Publishing? No
Uploaded via: uv/0.11.10 {"installer":{"name":"uv","version":"0.11.10","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.6-py3-none-macosx_11_0_arm64.whl
Algorithm
Hash digest
SHA256
0970896c8e4d57b77337036a803285b99d1e4eb85d1920c20a328e495ff996cd
Copy
MD5
78a40f75df3b006a3f41b1430961a383
Copy
BLAKE2b-256
9968873ef8f459f1801eb43a3e0c785bd9d4dc1f66971116db218e4b2e53cb55
Copy
See more details on using hashes here.
File details
Details for the file sharepoint_cli_rs-0.0.6-py3-none-macosx_10_12_x86_64.whl.
File metadata
Download URL: sharepoint_cli_rs-0.0.6-py3-none-macosx_10_12_x86_64.whl
Upload date:
May 6, 2026
Size: 2.6 MB
Tags: Python 3, macOS 10.12+ x86-64
Uploaded using Trusted Publishing? No
Uploaded via: uv/0.11.10 {"installer":{"name":"uv","version":"0.11.10","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.6-py3-none-macosx_10_12_x86_64.whl
Algorithm
Hash digest
SHA256
8ea7c9c57fcfffc282571f4af9da0703659ade1462788b66498b38b4a501d217
Copy
MD5
e746192b33f96c5272eb277236c12130
Copy
BLAKE2b-256
d356f83ef916f8e3a143c2c923e983a70b648335c7c6a940c885743a6f181a90
Copy
See more details on using hashes here.