extract_resource_properties

Warning

🚧 Sprout is still in active development and evolving quickly, so the documentation and functionality may not work as described and could undergo substantial changes 🚧

extract_resource_properties(data: pl.DataFrame)

Extract resource properties from a Polars DataFrame.

Data types are extracted from the DataFrame’s schema and mapped from Polars to Data Package data types. For the best results, ensure that the DataFrame’s schema is correct—this may require some manually fixing. Since there are differences between Polars and Data Package data types, the mapping may not always be perfect, and some data types may be extracted to simpler types. For example, a year column may be extracted as an integer instead of Data Package’s year type. Be sure to review and modify the extracted properties to suit your needs.

Parameters

data : pl.DataFrame

A Polars DataFrame containing the data to extract properties from.

Returns

ResourceProperties

A ResourceProperties object.

Raises

ValueError

If the data is empty

Examples

import seedcase_sprout as sp

sp.extract_resource_properties(
    data=sp.example_data(),
)
ResourceProperties(name=None, path=None, type='table', title=None, description=None, sources=None, licenses=None, format=None, mediatype=None, encoding=None, bytes=None, hash=None, schema=TableSchemaProperties(fields=[FieldProperties(name='id', title=None, type='integer', format=None, description=None, example=None, constraints=None, categories=None, categories_ordered=None), FieldProperties(name='name', title=None, type='string', format=None, description=None, example=None, constraints=None, categories=None, categories_ordered=None), FieldProperties(name='value', title=None, type='number', format=None, description=None, example=None, constraints=None, categories=None, categories_ordered=None)], fields_match=['equal'], primary_key=None, unique_keys=None, foreign_keys=None))