Skip to main content

Portable, AI-native data sheets.

Project description

Folio

Portable, AI-native data sheets.

A sheet is a directory of plain files that AI agents read and write as first-class users, that humans review later, and that travel as a tar archive across machines.

my-sheet/
├── contract.yaml         # required — ODCS subset
├── records.jsonl         # required — one JSON object per line
├── derivations/          # optional — derivation files
├── scripts/              # optional — reusable scripts
├── provenance.jsonl      # append-only audit log
└── README.md             # optional, with typed frontmatter

Surfaces

  • folio — Python SDK + CLI (validate, query, list, upsert, delete, materialize, status, provenance, serve, script, export).
  • folio-mcp — FastMCP server exposing the SDK as nine tools (stdio or HTTP transport).
  • folio-viewer — local-only FastAPI + React UI for human review.

Documentation

User-facing documentation lives in apps/docs/ (Astro + Starlight). Run it locally:

cd apps/docs
npm install
npm run dev      # → http://127.0.0.1:4321/

Or read the canonical sources directly:

Quickstart

uv tool install folio-kit          # → installs the `folio` command

folio validate examples/customers
folio materialize examples/customers --actor agent:demo
folio serve examples/customers --port 3000 --actor agent:human
# → http://127.0.0.1:3000/

Install

Releases ship three artifact families. Pick the one that matches how you want to use Folio.

Python (CLI + SDK + MCP server + Viewer backend)

# from PyPI (preferred)
pipx install folio-kit
uv tool install folio-kit

# from a tagged GitHub Release wheel
pipx install https://github.com/nyuta01/folio/releases/download/vX.Y.Z/folio_kit-X.Y.Z-py3-none-any.whl

The PyPI distribution name is folio-kit; the wheel installs three console scripts: folio, folio-mcp, folio-viewer. SHA-256 checksums for every release artifact are attached as SHA256SUMS.txt.

Folio Desktop (Electron wrapper)

Download the installer for your platform from the latest release:

Platform Asset
macOS (Apple Silicon) Folio-X.Y.Z-arm64.dmg
macOS (Intel) Folio-X.Y.Z.dmg
Windows Folio Setup X.Y.Z.exe (or Folio-X.Y.Z-portable.exe)
Linux Folio-X.Y.Z.AppImage (or folio_X.Y.Z_amd64.deb)

The desktop app shells out to the host's folio-viewer Python CLI; if it is missing, the launcher offers an "Open install docs" button. See docs/methodology/desktop-runtime.md for the rationale.

First-launch warning (unsigned builds)

Folio Desktop ships unsigned and un-notarized today. Both macOS Gatekeeper and Windows SmartScreen will warn on first launch. This is expected — the workarounds below are safe; signing and notarization are tracked as a release follow-up.

macOS"Apple は、"Folio" にマルウェアが含まれていないことを検証できませんでした" / "Apple could not verify that "Folio" is free of malware":

# 1. Drag Folio.app into /Applications first.
# 2. Then strip the quarantine attribute Chrome / Safari put there:
xattr -dr com.apple.quarantine /Applications/Folio.app
open /Applications/Folio.app

Or, without Terminal: right-click Folio.app in Finder → Open → confirm in the dialog. After that, normal double-click works.

If macOS shows "Folio was blocked" in System Settings → Privacy & Security, scroll to the bottom and click Open Anyway.

Windows"Microsoft Defender SmartScreen prevented an unrecognized app from starting":

Click More infoRun anyway. Or use the portable Folio.X.Y.Z.exe and approve the unverified-publisher prompt.

Linux.AppImage works without prompts; .deb is unsigned:

chmod +x Folio-X.Y.Z.AppImage
./Folio-X.Y.Z.AppImage

# or for the .deb:
sudo dpkg -i folio-desktop_X.Y.Z_amd64.deb

Verifying the download — every release ships SHA256SUMS-{macos-arm64,linux-x64,windows-x64}.txt. Compare locally:

shasum -a 256 Folio-X.Y.Z-arm64.dmg     # macOS / Linux
certutil -hashfile "Folio Setup X.Y.Z.exe" SHA256   # Windows

Documentation site

Browse the Folio docs or build them locally:

cd apps/docs
npm install
npm run dev      # → http://127.0.0.1:4321/

The site is auto-deployed to GitHub Pages on every push to main that touches apps/docs/.

Releases

A maintainer cuts a release by pushing a tag of the form vX.Y.Z:

make verify             # CI gate locally
git tag v0.2.0
git push origin v0.2.0

Two workflows then fire:

  • release-python.yml builds dist/folio_kit-*.whl + dist/folio_kit-*.tar.gz, smoke-tests the wheel in a clean venv, and attaches both plus a SHA256SUMS.txt to a draft GitHub Release.
  • release-desktop.yml builds viewer/dist/, then runs electron-builder on macOS / Windows / Linux runners, attaching DMG, Setup, AppImage, and zip artifacts to the same draft Release.

The release stays in draft until a human flips it to Published. Full procedure in docs/methodology/release.md.

Repository harness

This repo follows an AI-first operating model: compact router docs, structured task state, and a single deterministic verification gate.

make agent-init   # restart context for the next agent
make verify       # harness-check + drift-check + validate-docs
                  # + pytest + 6 smokes (cli, materialize, scripts,
                  #   mcp, extension-kinds, viewer)

See AGENTS.md and docs/methodology/harness-engineering.md for the full operating model.

Project details


Download files

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

Source Distribution

folio_kit-0.1.4.tar.gz (281.8 kB view details)

Uploaded Source

Built Distribution

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

folio_kit-0.1.4-py3-none-any.whl (58.8 kB view details)

Uploaded Python 3

File details

Details for the file folio_kit-0.1.4.tar.gz.

File metadata

  • Download URL: folio_kit-0.1.4.tar.gz
  • Upload date:
  • Size: 281.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for folio_kit-0.1.4.tar.gz
Algorithm Hash digest
SHA256 3326d93da79932c0d5d411d4958c71bd6a0a3c9baf08630616570e0d14685a76
MD5 12ab62f115c7fc5a82cf40380cd5d319
BLAKE2b-256 fd143a275295abc0c9bfd87fa76ec16345966ae2a56277db5ec248bb391d9626

See more details on using hashes here.

Provenance

The following attestation bundles were made for folio_kit-0.1.4.tar.gz:

Publisher: release-python.yml on nyuta01/folio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file folio_kit-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: folio_kit-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 58.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for folio_kit-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ccec94b03a3c2ceaebeffff9ff1f81a971c97bd1ed2a68e5c6d534e49b20e7d8
MD5 ef7fd702808e6fe1117facd723fad1e9
BLAKE2b-256 3fb961e00ee29d0aed2ffa41fc2ca96666205aa7c9b84bd629daaf8d838ed7d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for folio_kit-0.1.4-py3-none-any.whl:

Publisher: release-python.yml on nyuta01/folio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page