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.5.tar.gz (1.3 MB 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.5-py3-none-any.whl (71.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: woodglue-0.0.5.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for woodglue-0.0.5.tar.gz
Algorithm Hash digest
SHA256 42a38f2f8dcf7b6f35a62f5d451449e7d2b52d32dbb15f25f01fef2d28428f28
MD5 d1c27574711b51245b7c79a1b598c067
BLAKE2b-256 a738f49e16127c86c1c57caf28eb07d441b5dc9ba55aa629509e41e065ef70b5

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for woodglue-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 1832b06d098ed8eb99c0c1d1b643497e428884f33612bfa369dd0c1e38451d78
MD5 b0f5042520d775cb4730d9def7a5136f
BLAKE2b-256 0c5100f1f39bbacf6e73620e896b2fc2e3cf5f73a5232dd4a05047052cdd694f

See more details on using hashes here.

Provenance

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