trailpack.packing.datapackage_schema
DataPackage metadata schema and interactive builder classes using Pydantic. Provides structured definitions and UI-friendly methods for creating Frictionless Data Package metadata with automatic validation.
Attributes
Classes
Contributor information with validation. |
|
Standard contributor roles. |
|
DataPackage metadata schema definition with UI-friendly methods. |
|
Data field schema definition with validation. |
|
Field validation constraints with validation. |
|
Supported field types in data packages. |
|
License information with automatic validation. |
|
Interactive builder for creating DataPackage metadata. |
|
Data resource (file) definition with validation. |
|
Data source information with validation. |
|
Unit of measurement with QUDT vocabulary support. |
Module Contents
- class trailpack.packing.datapackage_schema.Contributor[source]
Bases:
pydantic.BaseModelContributor information with validation.
- class trailpack.packing.datapackage_schema.ContributorRole[source]
Bases:
enum.EnumStandard contributor roles.
- class trailpack.packing.datapackage_schema.DataPackageSchema[source]
DataPackage metadata schema definition with UI-friendly methods. Provides structure and validation for Frictionless Data Package metadata.
Initialize the schema definition.
- _create_field_definitions() Dict[str, Dict[str, Any]][source]
Create field definitions for UI generation.
- get_field_definition(field_name: str) Dict[str, Any][source]
Get UI field definition for a specific field.
- class trailpack.packing.datapackage_schema.Field[source]
Bases:
pydantic.BaseModelData field schema definition with validation.
- constraints: FieldConstraints | None[source]
- class trailpack.packing.datapackage_schema.FieldConstraints[source]
Bases:
pydantic.BaseModelField validation constraints with validation.
- class trailpack.packing.datapackage_schema.FieldType[source]
Bases:
enum.EnumSupported field types in data packages.
- class trailpack.packing.datapackage_schema.License[source]
Bases:
pydantic.BaseModelLicense information with automatic validation.
- class trailpack.packing.datapackage_schema.MetaDataBuilder[source]
Interactive builder for creating DataPackage metadata. Can be used with UI frameworks to collect user input.
Initialize the builder.
- add_contributor(name: str, role: str = 'author', email: str | None = None, organization: str | None = None) MetaDataBuilder[source]
Add contributor information.
- add_license(name: str | None = None, title: str | None = None, path: str | None = None) MetaDataBuilder[source]
Add license information. Defaults to CC-BY-4.0 if no name provided. License name should be a valid SPDX identifier. path should be a valid URL to SPDX license page. See https://spdx.org/licenses/ for common licenses.
- add_resource(resource: Resource) MetaDataBuilder[source]
Add a data resource.
- add_source(title: str, path: str | None = None, description: str | None = None) MetaDataBuilder[source]
Add data source information.
- set_basic_info(name: str, title: str | None = None, description: str | None = None, version: str | None = None) MetaDataBuilder[source]
Set basic package information.
- set_dates() MetaDataBuilder[source]
Set creation date to current time
- set_keywords(keywords: List[str]) MetaDataBuilder[source]
Set keywords/tags.
- set_links(homepage: str | None = None, repository: str | None = None) MetaDataBuilder[source]
Set homepage and repository URLs.
- set_profile(profile: str) MetaDataBuilder[source]
Set package profile.
- class trailpack.packing.datapackage_schema.Resource[source]
Bases:
pydantic.BaseModelData resource (file) definition with validation.
- class trailpack.packing.datapackage_schema.Source[source]
Bases:
pydantic.BaseModelData source information with validation.