Skip to main content

Self documenting opinionated async server that host logic and data

Project description

🪵 WoodGlue

example workflow

Stronger than wood when used right

WoodGlue is a self-documenting, opinionated async server framework that hosts both logic and data. Like the finest wood glue that creates bonds stronger than the wood itself, WoodGlue creates connections more robust than traditional server architectures.

Why WoodGlue?

In woodworking, the right glue applied correctly creates joints that are stronger than the surrounding wood. WoodGlue follows the same principle - when properly configured, it creates server architectures that are more resilient, performant, and maintainable than traditional approaches.

Key Features

  • Self-documenting: Your server documents itself
  • Opinionated: Built with best practices baked in
  • Async-first: Modern Python async/await patterns
  • Data + Logic: Host both your business logic and data together
  • Type-safe: Built on Pydantic for robust data validation
  • Fast: Powered by Polars for high-performance data operations

Quick Start

# Install WoodGlue
pip install woodglue

# Start the server with auto-discovered methods from your module
wgl server start --module_path=mypackage.api

# JSON-RPC call
curl -X POST http://localhost:8888/rpc \
  -d '{"jsonrpc":"2.0","method":"mypackage.api:my_function","params":{"name":"world"},"id":1}'

# OpenAPI spec
curl http://localhost:8888/docs

# Human-readable API docs
open http://localhost:8888/docs/ui

Let's Build Something Together

WoodGlue is more than just a framework - it's a foundation for building robust, scalable applications. Whether you're crafting a simple API or architecting a complex distributed system, WoodGlue provides the adhesive that holds everything together.

Ready to start building? Check out our examples, contribute to the project, or join our community of builders who believe in creating connections that last.


"The strength of the team is each individual member. The strength of each member is the team." - Phil Jackson

Just like the finest wood glue, WoodGlue works best when we work together. Let's build something amazing.

Key Blocks

Action

Method that take one BaseModel argument, and return one. Action may be invoked remotely via JSON-RPC within cluster by default, or can be exposed to as external API. Actions are building block of dataflow.

ActiveData action

Decorated action with persistence logic. It could be for temporary caching or long time storage.

Workflow

DAG of tasks. Task is any method Tasks has to take care of data storage.

Kits

Kit is combination of tightly related actions, workflows, public API, and UI.

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

woodglue-0.0.3.tar.gz (180.7 kB view details)

Uploaded Source

Built Distribution

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

woodglue-0.0.3-py3-none-any.whl (42.3 kB view details)

Uploaded Python 3

File details

Details for the file woodglue-0.0.3.tar.gz.

File metadata

  • Download URL: woodglue-0.0.3.tar.gz
  • Upload date:
  • Size: 180.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for woodglue-0.0.3.tar.gz
Algorithm Hash digest
SHA256 dcd635263342a50b872cfc79d32ec299d4609f710a2a59ab10aa8e23643be3de
MD5 4eecbb4dd63c27b7596097a01e5ec570
BLAKE2b-256 ac1293f6819c63eee74a0832f4c5dca3b541500ad28258cad07969fbbb5a339d

See more details on using hashes here.

Provenance

The following attestation bundles were made for woodglue-0.0.3.tar.gz:

Publisher: publish.yml on walnutgeek/woodglue

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

File details

Details for the file woodglue-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: woodglue-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 42.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for woodglue-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8074cc56d70d9ba9836857ff23f3821e33b6338e201b32f726fba52c8c47ef43
MD5 46a5e66374de9c2ecd95704d8dffa0f4
BLAKE2b-256 3dd92cf808976d70ea92ed70d268633ea104fd326ccaec2e6d0a1e8a1531c0dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for woodglue-0.0.3-py3-none-any.whl:

Publisher: publish.yml on walnutgeek/woodglue

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