Domain models for Floweb Desktop - centralized Python models
Project description
Floweb Domain Models
A professional domain model package for Floweb Desktop, providing centralized type definitions and schemas for both frontend and backend applications.
Overview
This package contains JSON Schema definitions that serve as the single source of truth for all domain objects in the Floweb ecosystem. The schemas are used to generate type-safe interfaces for TypeScript and Pydantic models for Python, ensuring consistency across the entire application stack.
Features
- Single Source of Truth: All domain models defined in JSON Schema
- Type Safety: Auto-generated TypeScript interfaces and Python models
- Cross-Language Consistency: Guaranteed compatibility between frontend and backend
- Version Control: Semantic versioning for model changes
- Documentation: Auto-generated documentation from schemas
Domain Models
Core Models
- Flow: Complete automation flow definitions with actions, edges, and variables
- Performance Test: Load testing configurations and results
- Action Configurations: 40+ action types for automation workflows
- Environment: Environment and global variable management
Key Components
- Actions: Click, Input, Navigate, Wait, API calls, Database operations, etc.
- Variables: Flow parameters, environment variables, global variables
- Results: Execution results, performance metrics, test outcomes
- Configuration: Authentication, thresholds, timing, and other settings
Usage
TypeScript
import { Flow, PerformanceTest, Environment } from '@floweb/domain-models';
// Type-safe usage
const flow: Flow = {
id: 'flow-123',
name: 'My Automation Flow',
actions: [...],
// ... fully typed
};
Python
from floweb_domain_models import Flow, PerformanceTest, Environment
# Pydantic models with validation
flow = Flow(
id="flow-123",
name="My Automation Flow",
actions=[...]
)
Development
Schema Validation
All schemas are validated against JSON Schema Draft 2020-12 specification.
Push the changes and update the npm package version
npm version patch npm publish
Code Generation
- TypeScript: Generated using
json-schema-to-typescript - Python: Generated using
datamodel-code-generator
Testing
Cross-language validation ensures generated models match schema expectations.
Schema Structure
domain-models/
├── schemas/ # JSON Schema definitions
│ ├── flow.json
│ ├── performance-test.json
│ ├── action-configs.json
│ └── environment.json
├── types/ # Generated type definitions
├── examples/ # Sample data
└── docs/ # Generated documentations
Contributing
- Modify schemas in the
schemas/directory - Run code generation scripts
- Update tests and examples
- Ensure cross-language compatibility
License
Copyright 2024 Floweb. All rights reserved.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file floweb_domain_models-1.0.23.tar.gz.
File metadata
- Download URL: floweb_domain_models-1.0.23.tar.gz
- Upload date:
- Size: 20.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
86f5ec71436915e636c6eb3fa7b843acf67530a1489eff48c0b8f2a55aeaa307
|
|
| MD5 |
16280b989d1dde204f22e08d27407213
|
|
| BLAKE2b-256 |
f775812e216e3720e3278342453c63396e9049b15974134d542da243a68e9e51
|
File details
Details for the file floweb_domain_models-1.0.23-py3-none-any.whl.
File metadata
- Download URL: floweb_domain_models-1.0.23-py3-none-any.whl
- Upload date:
- Size: 24.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
030f5921970ec1ecc7682104417d605074f97d3e14b895d009f6b16fdc8f51a0
|
|
| MD5 |
21ebecabf160914406aecb32837ae4bf
|
|
| BLAKE2b-256 |
6efef7a319b6a386330b951f329482488e014d7372804823c078ce898b7ebbdb
|