Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

VUEDA Server

VUEDA: Vue.js User Experience for Django Administration

PyPI

vueda.dev · Documentation · Start building · Server changelog

VUEDA Server provides the Django REST framework backend for VUEDA, a framework for building business applications with Django and Vue. It extends your models, serializers, and viewsets with permissions, audit history, and metadata that VUEDA Client uses to build forms, lists, detail screens, and routes. Metadata describes the models' fields, actions, and permissions.

The Python package is vueda on PyPI.

What it provides

  • Django and REST framework base classes: models, serializers, viewsets, filters, and routers with shared conventions for application APIs.
  • Model metadata: field definitions, actions, filtering, ordering, and permissions for the Vue client.
  • Server authorization: model and object permissions, including row-level filtering for lists.
  • Audit history: track model changes and inspect the user actions behind them.
  • Authentication and account support: Django authentication integration, account management, and multi-factor authentication.
  • Optional workflows: states, transitions, and permissions for business processes, plus queued email and SMS delivery through the dispatch app.

Your application extends VUEDA's base classes to implement its business rules. The server enforces authorization independently of what the client displays.

Get started

VUEDA requires PostgreSQL. This version supports Python 3.11 to 3.14 and Django 5.2 to 6.1, subject to the dependency constraints in the package metadata.

For a new application, follow Start Building. The starter templates configure the Django and Vue projects, and the tutorial adds an inventory model from end to end.

To add the server to an existing project, install from public PyPI with uv:

uv add --prerelease allow vueda

The v3 series is currently a prerelease. Use the documentation for the major version installed in your application.

Installation is followed by Django settings, user-model, URL, and client setup. Use the architecture overview to understand the required apps and conventions, and the tutorial for a complete starting configuration.

Define a model and its API

In an application already configured for VUEDA, the model, serializer, and viewset follow familiar Django and REST framework patterns.

# models.py
from django.db import models
from vueda.core.models import BaseModelMeta, VuedaModel


class Product(VuedaModel):
    name = models.CharField(max_length=255)
    sku = models.CharField(max_length=64, unique=True)
    description = models.TextField(blank=True)

    class Meta(BaseModelMeta):
        ordering = ["name", "id"]
# serializers.py
from vueda.core.serializers import VuedaSerializer
from .models import Product


class ProductSerializer(VuedaSerializer):
    class Meta(VuedaSerializer.Meta):
        model = Product
        fields = [*VuedaSerializer.Meta.fields, "id", "name", "sku", "description"]
# viewsets.py
from vueda.core.viewsets import VuedaViewSet
from .models import Product
from .serializers import ProductSerializer


class ProductViewSet(VuedaViewSet):
    queryset = Product.objects.all()
    serializer_class = ProductSerializer

To make this API discoverable by the client, register the serializer and viewset in your app's AppConfig.ready() and expose the viewset through a VuedaRouter. Apply migrations and assign permissions before accessing the model. The model API guide covers registration, URL wiring, filtering, and verification.

Configure application behavior

Optional email and SMS dispatch

The VUEDA Dispatch Queue (vueda.vdq) tracks outbound messages through workflow states. It requires vueda.workflow, a Celery worker, and a message broker configured through CELERY_BROKER_URL. Set VDQ_URL for attachment links.

With your project's Django settings selected, start the worker and periodic scheduler with:

celery -A vueda.vdq.celery:app worker -l info -B

See the dispatch model, email guide, and SMS guide for provider setup, delivery tracking, and retries.

Contributing

Development setup, PostgreSQL test configuration, and test commands live in the monorepo README. Read the contribution guide or report an issue.

Built by Arrai Innovations, under the BSD 3-Clause license.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

vueda-3.0.0a1.post1-py3-none-any.whl (356.4 kB view details)

Uploaded Python 3

File details

Details for the file vueda-3.0.0a1.post1-py3-none-any.whl.

File metadata

  • Download URL: vueda-3.0.0a1.post1-py3-none-any.whl
  • Upload date:
  • Size: 356.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.10.21

File hashes

Hashes for vueda-3.0.0a1.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 ea206ce0e44a52559e6d6a1813f6b70f008e2231f966fb9311ffe972eff99d85
MD5 915c4d6bf21a93fc87134c3083c7e6c1
BLAKE2b-256 3b55e2cbe9e132a408cb68271f1b462fde3162db961790cba1f9fa43f9b5892e

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

3.0.0a1.post1 This release

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page