Skip to main content

Schema-driven entity management for AI-native applications

Project description

upjack

Schema-driven entity management for AI-native applications.

Define entities as JSON Schemas + a manifest. The library handles CRUD, validation, ID generation, storage, and search. Add FastMCP to serve it as an MCP server.

Install

pip install upjack          # core library (entity management only)
pip install "upjack[mcp]"   # with MCP server support

Requires Python 3.13+.

Usage: Entity Management

from upjack import UpjackApp

app = UpjackApp.from_manifest("manifest.json")

# Create an entity
contact = app.create_entity("contact", {
    "first_name": "Sarah",
    "last_name": "Chen",
    "email": "sarah@example.com",
})

# List entities
contacts = app.list_entities("contact")

# Update an entity
app.update_entity("contact", contact["id"], {"lead_score": 85})

# Get a single entity
contact = app.get_entity("contact", contact["id"])

# Delete an entity (soft delete by default)
app.delete_entity("contact", contact["id"])

Usage: MCP Server

from upjack.server import create_server

mcp = create_server("manifest.json", root="./workspace")
mcp.run()

This generates CRUD tools for every entity type in the manifest, exposes context and skills as MCP resources, and handles validation automatically. See examples/crm/server.py for a complete example.

Requirements

  • Python >= 3.13
  • FastMCP >= 3.0 (only for upjack[mcp])

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

upjack-0.4.3.tar.gz (117.6 kB view details)

Uploaded Source

Built Distribution

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

upjack-0.4.3-py3-none-any.whl (30.8 kB view details)

Uploaded Python 3

File details

Details for the file upjack-0.4.3.tar.gz.

File metadata

  • Download URL: upjack-0.4.3.tar.gz
  • Upload date:
  • Size: 117.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for upjack-0.4.3.tar.gz
Algorithm Hash digest
SHA256 ef0ea24f67a357192db30a07833d46e241f87b9a89408f17bd575b294db3b420
MD5 a8a49ac04ab4dc3d827c04e5bdb539d7
BLAKE2b-256 68e77a6376a1b7bb53902017e89633dc142aa9c82afedf30b07e15cb0030cbf5

See more details on using hashes here.

File details

Details for the file upjack-0.4.3-py3-none-any.whl.

File metadata

  • Download URL: upjack-0.4.3-py3-none-any.whl
  • Upload date:
  • Size: 30.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for upjack-0.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 11520eb9b1dd80e505f9b3eac62d7760302f22530f26d5d13621a1b29a8f54c6
MD5 d99107e8d299d9f3f766bc0d4a3f33a5
BLAKE2b-256 03a238cdc3833f08388b22aceaec5bdf0c4160376193cf0b2fd107f182e45a3d

See more details on using hashes here.

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