Metadata-Version: 2.4
Name: balderhub-crud
Version: 0.0.1b9
Summary: balderhub-crud: Balderhub Project for CREATE, RETRIEVE, UPDATE and DELETE data.
Home-page: https://hub.balder.dev/projects/crud
Author: Max Stahlschmidt
License: MIT
Project-URL: Source, https://github.com/balder-dev/balderhub-crud/
Project-URL: Tracker, https://github.com/balder-dev/balderhub-crud/issues
Keywords: test,systemtest,reusable,scenario,junit,balder
Platform: unix
Platform: linux
Platform: osx
Platform: cygwin
Platform: win32
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Testing
Classifier: Topic :: Utilities
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: baldertest
Requires-Dist: balderhub-data==0.0.1b6
Dynamic: license-file

# BalderHub Package ``balderhub-crud``

**Test data management reliably - across any platform.**

This is a BalderHub package for the [Balder](https://docs.balder.dev) test framework. If you are new to Balder check out the
[official documentation](https://docs.balder.dev) first.

``balderhub-crud`` is a BalderHub package that provides 
**ready-to-use, high-quality test scenarios and building blocks** for comprehensively validating 
**Create, Read, Update and Delete (CRUD)** operations on any kind of data.

Whether you are testing a REST API, a database, a mobile app backend, a desktop application, a file-based store, 
or an embedded device - this package lets you write powerful, reusable data-management tests **once** and run them
against completely different systems with minimal extra effort.


## What you will find in this package

- **Ready-to-use Scenarios** - Pre-built Balder scenarios for all essential CRUD operations:

  - Single-item: **Create**, **Read**, **Update** (Delete coming soon)  
  - Multi-item: **Read** operations  
  - Advanced **Triangle scenarios** (modify on one device, verify on another - perfect for client-server or distributed systems)

- **Feature Building Blocks** - Clean base feature classes you only need to implement for your specific System Under Test (SUT):

  - ``SingleCreatorFeature``, ``SingleReaderFeature``, ``SingleUpdaterFeature``  
  - ``MultipleReaderFeature``  
  - Support for both direct devices and separate “Point of Truth” verification devices

- **Strong Data Modeling** (powered by ``balderhub-data``) - Pydantic-style ``DataItem`` models with automatic handling of:

  - Mandatory / optional fields  
  - Default values  
  - Special markers: ``UNSET`` and ``NOT_DEFINABLE``  
  - Smart automatic example generation (valid, invalid, and edge-case data)

- **Validation & Utilities** - Comprehensive helpers for before/after state checks, field-level comparison, diffing,
  success/error handling, and cross-device consistency verification.

## Installation

You can install the latest release with pip:

```
python -m pip install balderhub-crud
```

# Check out the documentation

If you need more information, 
[checkout the ``balderhub-crud`` documentation](https://hub.balder.dev/projects/crud).


# License

This BalderHub package is free and Open-Source

Copyright (c)  2025  balderhub-crud

Distributed under the terms of the MIT license
