Framework for Python
Getting Started
Installation
Installing framework-py, its optional extras, and the tools it works with
Setup
Global settings, configure_global(), config_sync(), and personal templates
Conventions
Project folders, dot-notation names, and the naming rules Framework follows
settings.yml
The project settings file, split settings files, environments, and expressions
Making a New Project
Creating a project with fw.new() or the command line, and preparing a cloned project with bootstrap()
Features
scaffold()
Preparing a Python session for work in a project
framework.db
The project database that records data hashes, cached values, and saved outputs
Packages
Managing a project's Python packages with pyproject.toml and uv
Data Management
Reading and saving data through the data catalog, with integrity hashes and locked files
Notebooks and Scripts
Creating notebooks, scripts, and presentations from stubs and templates
Quarto
How Framework configures Quarto for notebooks, documents, and presentations
Saving Work
Saving tables, figures, models, and reports to the output folders, with public and private outputs
Caching
Caching the results of expensive computations between sessions
Database Connections
Defining database connections in the settings and querying them with db_query(), db_execute(), and db_transaction()
Publishing
Publishing notebooks, data, and files to S3-compatible storage or Framework Cloud
Framework Cloud
Logging in, consent, token storage, settings sync, the integrity ledger, and what the cloud receives
Git
The .gitignore templates, the shared pre-commit hook, git_hooks_*(), and git_security_audit()
AI Assistants
AGENTS.md, assistant stubs, Framework skills, and the guards for privacy-sensitive projects
Environment
The .env file, keeping secrets out of settings, Framework's environment variables, and scratch helpers
Project Types
Project Types
Standard, privacy-sensitive, course, and presentation projects, with their folders, .gitignore rules, and uses
Reference
Workflow
Setting up and managing the working environment
Data
Reading, writing, and managing data files
Packages
Package management with uv
Saving Work
Saving figures, tables, reports, and models
Notebooks & Scripts
Creating notebooks, scripts, and presentations
Project Management
Creating and managing projects
Publishing
Publishing outputs and reports
Cloud
Framework Cloud login, settings sync, and the integrity ledger
Git
Git hooks and the security audit
Caching
Caching computed values for performance
Database
Database connections and queries
AI
AI assistant integration
Errors and Types
Exceptions, warnings, and the result types functions return
All 114 entries
R
Python
CLI
Search
⌘K
R
Python
CLI
Getting Started
Installation
Setup
Conventions
settings.yml
Making a New Project
Features
scaffold()
framework.db
Packages
Data Management
Notebooks and Scripts
Quarto
Saving Work
Caching
Database Connections
Publishing
Framework Cloud
Git
AI Assistants
Environment
Project Types
Project Types
Reference
Workflow
Data
Packages
Saving Work
Notebooks & Scripts
Project Management
Publishing
Cloud
Git
Caching
Database
AI
Errors and Types
AuditResult
BootstrapResult
CacheWarning
CapturedOutput
CloudError
Connection
DataChangedWarning
DataInfo
DataNotFoundError
FrameworkError
FrameworkWarning
IntegrityError
PackagesStatus
ProjectNotFoundError
ResolvedSpec
SettingsError
SpecError
UnsupportedFormatError
Errors and Types
SpecError
A layer or spec is malformed.
↑↓
esc
Type to search guides, headings, and the reference.