Welcome to balderhub-data

balderhub-data is the official BalderHub package for structured, reusable test data in the Balder test framework.

It makes data-driven testing clean, type-safe, and maintainable by giving you powerful building blocks to define, load, sync, and query test data - whether you are working with a simulator, staging environment, or real device under test.

What you will find in this package

This documentation is organised around the core pieces you will use every day:

  • Data Models Define your own type-safe data items with balderhub.data.lib.utils.SingleDataItem. Built on Pydantic - supports nested objects, lists, relationships, and unique identifiers.

  • Data Environment Feature Use balderhub.data.lib.feature.DataEnvironmentFeature inside Scenarios to load sample data and automatically keep the device under test in sync.

  • Initial Data Configuration Control exactly what data your test setups can see with balderhub.data.lib.feature.InitialDataConfig and balderhub.data.lib.feature.AccessibleInitialDataConfig (perfect for permission and visibility testing).

  • Powerful Utilities Collections, filters, factories, and query helpers that let you find the exact data you need with clean, readable syntax (e.g. author__last_name="Smith").

  • Ready-to-use Examples Concrete code snippets and full scenarios that you can copy straight into your own tests.

Quick start

python -m pip install balderhub-data

Then head to the Introduction into Data Management to see how everything fits together - or jump straight into the Examples if you prefer to learn by code.

Happy data-driven testing! 🚀

If you have questions or ideas, feel free to open an issue or pull request on the GitHub repository.