A SharePoint adapter for plugfs
  • Python 98.3%
  • Shell 1%
  • Dockerfile 0.7%
Find a file
dependabot[bot] 3a9b8c8872
chore(deps): bump multidict from 6.8.0 to 6.9.1 (#9)
Bumps [multidict](https://github.com/aio-libs/multidict) from 6.8.0 to 6.9.1.
- [Release notes](https://github.com/aio-libs/multidict/releases)
- [Changelog](https://github.com/aio-libs/multidict/blob/master/CHANGES.rst)
- [Commits](https://github.com/aio-libs/multidict/compare/v6.8.0...v6.9.1)

---
updated-dependencies:
- dependency-name: multidict
  dependency-version: 6.9.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-19 13:04:50 +02:00
.github Test with Python 3.15 (#8) 2026-10-19 09:32:14 +02:00
src/plugfs_sharepoint Pass along the response iterator directly instead of wrapping it 2026-09-18 08:57:03 +02:00
tests feat: added sharepoint metadata 2026-09-17 13:27:28 +02:00
.gitignore feat: bootstrap plugfs-sharepoint package 2026-09-17 12:56:04 +02:00
.pre-commit-config.yaml feat: bootstrap plugfs-sharepoint package 2026-09-17 12:56:04 +02:00
compose.yaml Add container setup 2026-09-18 09:03:32 +02:00
Containerfile Add container setup 2026-09-18 09:03:32 +02:00
LICENSE feat: bootstrap plugfs-sharepoint package 2026-09-17 12:56:04 +02:00
linting.sh feat: bootstrap plugfs-sharepoint package 2026-09-17 12:56:04 +02:00
linting_fix.sh feat: bootstrap plugfs-sharepoint package 2026-09-17 12:56:04 +02:00
pyproject.toml chore(deps-dev): update uv-build requirement (#7) 2026-10-15 14:29:29 +02:00
README.md feat: bootstrap plugfs-sharepoint package 2026-09-17 12:56:04 +02:00
uv.lock chore(deps): bump multidict from 6.8.0 to 6.9.1 (#9) 2026-10-19 13:04:50 +02:00

plugfs-sharepoint

SharePoint adapter for plugfs.

Install

uv add plugfs-sharepoint

or:

pip install plugfs-sharepoint

What it does

This package provides a SharePoint adapter for plugfs using Microsoft Graph.

Current status

The filesystem is currently read-only.

Support for write, write_iterator, makedirs, and delete is not implemented yet and will be added when needed.

Usage

from plugfs.filesystem import Filesystem
from plugfs_sharepoint import SharepointAdapter


class TokenFactory:
    async def __call__(self) -> str:
        return "access-token"


async def build_filesystem() -> Filesystem:
    adapter = await SharepointAdapter.create(
        TokenFactory(),
        "example.sharepoint.com",
        "/sites/MySite",
    )
    return Filesystem(adapter)

Quick smoke test:

async def smoke_test(filesystem: Filesystem) -> None:
    items = await filesystem.list("/")
    for item in items:
        print(item.path)

Contract

  • site_host must be host only, for example example.sharepoint.com
  • site_path must be site path only, for example /sites/MySite
  • token acquisition stays with caller
  • filesystem is currently read-only
  • write, write_iterator, makedirs, and delete are not implemented yet

Notes

The adapter uses Microsoft Graph to resolve the site and default document library drive.