Skip to main content

Typed Wrappers over Pandas DataFrames with schema validation

Project description

🐍 typedframe

Typed wrappers over pandas DataFrames with schema validation.

TypedDataFrame is a lightweight wrapper over pandas.DataFrame that provides runtime schema validation and can be used to establish strong data contracts between interfaces in your Python code.

    >>> from typedframe import TypedDataFrame, DATE_TIME_DTYPE
    >>> class MyTable(TypedDataFrame):
    ...    schema = {
    ...        "col1": object, # str
    ...        "col2": np.int32,
    ...        "col3": ('foo', 'bar')
    ...    }
    ...    optional = {
    ...        "col4": bool,
               "col5": DATE_TIME_DTYPE
    ...    }

    >>> df = pd.DataFrame({"col1": ['foo'], "col2": np.array([1], dtype=np.int32), "col3": ['bar']})
    >>> df.col3 = pd.Categorical(df.col3, categories=('foo', 'bar'), ordered=True)
    >>> print(MyTable(df).df)

Supported Data Types

  • Integers: np.int16, np.int32, np.int64, etc.
  • Floats: np.float16, np.float32, np.float64, etc.
  • Boolean: bool
  • String: STRING_DTYPE
  • Python object: object
  • Categorical: category
  • Date, Datetime: DATE_TIME_DTYPE

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

typedframe-0.4.0.tar.gz (4.2 kB view hashes)

Uploaded Source

Built Distribution

typedframe-0.4.0-py3-none-any.whl (4.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page