Packages
independently versioned
Published Spork packages, their supported boundaries, and complete public references.
Browse packages
spork-lang
- spork-langThe Spork compiler, source runner, project manager, command system, REPL, and language server.
spork-runtime
- spork-runtimeThe compiler-free Python runtime and standard namespaces used by generated Spork programs.
spork-pds
- spork-pdsFast immutable persistent collections, transient builders, typed vectors, and native free-threading support.
- Practical guideChoose collections, retain versions, batch updates, use buffers, and cross Python boundaries.
- spork-pds APIConstructors, operators, protocols, methods, collection families, and transient lifecycle.
- Design and complexityStructural sharing, trie and tree internals, operation costs, memory, and identity.
- Native free-threadingThe no-GIL sharing contract, synchronization, validation, performance record, and wheel requirements.
- Benchmark methodologyRun and interpret persistent collection and free-threading benchmark suites.
spork-state
- spork-stateThread-safe validated and observable atoms with one Spork implementation and typed Python API.
- Using atomsCreate, update, validate, watch, and subscribe to state from Python and Spork.
- spork-state APIAtom construction, reads, updates, compare-and-set, watches, subscriptions, validators, and exports.
- Atom design and concurrencyCommit linearization, reentrant locking, validation, notification, identity, and free-threaded behavior.
spork-site
- spork-siteStructural markup, CommonMark content, deterministic static publishing, and full-rebuild development serving.
- Getting started with spork-siteConfigure a source factory, synchronize the provider, and understand the publishing model.
- Content and front matterDiscover CommonMark documents with persistent metadata, structural content, and canonical routes.
- Document collectionsFilter, sort, and limit discovered documents with eager ordinary Spork values.
- Routing and layoutsBuild components and layouts as ordinary functions and generate conflict-checked clean routes.
- Builds and commandsConstruct deterministic site plans and use package-owned build, check, routes, serve, clean, and version commands.
- Development serverServe isolated full-build generations, retain successful output after failures, and reload browsers safely.
- Feeds and sitemapsGenerate deterministic XML sitemaps, RSS feeds, and Atom feeds from route-bearing document maps.
- MarkupUse locally scoped $tag forms while components, conditions, data access, and iteration remain ordinary Spork.
- Markdown, highlighting, and transformsConvert CommonMark into shared immutable nodes, apply structural highlighting, and transform trees post-order.
- Node APIConstruct immutable elements, fragments, escaped text, and explicit trusted raw HTML.
Spork is released as a small set of independently versioned packages. Applications use the language toolchain while compiled distributions depend only on the runtime and any libraries they actually import.
Package boundaries#
- spork-lang owns the reader, compiler, project manager, launcher, and language tooling.
- spork-runtime contains the Python runtime expected by compiled Spork code.
- spork-pds provides standalone native persistent collections for Python and Spork.
- spork-state provides a synchronized observable atom API to both languages.
- spork-site provides structural markup, deterministic static publishing, and the top-level
spork sitecommand.
Each package page identifies its documented stable release. Package versions are independent; there is no single documentation version.