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.2.tar.gz (146.6 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.2-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: woodglue-0.0.2.tar.gz
  • Upload date:
  • Size: 146.6 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.2.tar.gz
Algorithm Hash digest
SHA256 ad7de02584911653ed1124194edbe1c251f22070307be9b03eba8fc70ae1080d
MD5 cb2402042cf6ce0aafc50571ba389844
BLAKE2b-256 1bf962cd424c6cca5fc8603d6e56730b7f8faf2d993cfc9654db6f4e32162f2d

See more details on using hashes here.

Provenance

The following attestation bundles were made for woodglue-0.0.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: woodglue-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 16.7 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c40ed3cbd737964a783c2e637dd9157093fdf87fe0c9584ac08e398038e2485e
MD5 6945e3de5b8909126c8f609a8dfc100f
BLAKE2b-256 ce80e6b39c2fd4714b54aeacde3a3401cdd74805c1e055a367880bb034d23582

See more details on using hashes here.

Provenance

The following attestation bundles were made for woodglue-0.0.2-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