Core Schema

0.0.4 · abandoned · verified Sun Apr 12

coreschema (version 0.0.4) is a Python library for defining and validating data structures, often used in conjunction with Core API. It provides a basic set of schema primitives and a validation mechanism. The library was last released in February 2017 and appears to be in an abandoned or unmaintained state, with its GitHub repository showing no activity for seven years and other projects citing its deprecation.

Warnings

Install

Imports

Quickstart

This quickstart demonstrates defining a simple object schema with required fields and number constraints. The `validate` method is used to check data against the schema, returning a list of `Error` objects for any inconsistencies. An empty list indicates successful validation.

from coreschema import String, Number, Object
from collections import namedtuple

# Coreschema's internal Error structure for demonstration
Error = namedtuple('Error', ['text', 'index'])

# Define a simple schema for a user
user_schema = Object(
    properties={
        'name': String(title='User Name', description='The name of the user.'),
        'age': Number(minimum=0, maximum=150, description='User\'s age, 0-150.'),
        'city': String(default='Unknown', description='City of residence.')
    },
    required=['name', 'age']
)

# Example data
valid_data = {'name': 'Alice', 'age': 30}
valid_data_with_city = {'name': 'Bob', 'age': 45, 'city': 'New York'}
invalid_data_age = {'name': 'Charlie', 'age': 200} # age > 150
invalid_data_missing = {'age': 25, 'city': 'London'} # missing 'name'

print("--- Validating Data ---")

# Validate valid data
errors = user_schema.validate(valid_data)
if not errors:
    print(f"'{valid_data}' is valid.")
else:
    print(f"'{valid_data}' errors: {errors}")

# Validate valid data with optional field
errors = user_schema.validate(valid_data_with_city)
if not errors:
    print(f"'{valid_data_with_city}' is valid.")
else:
    print(f"'{valid_data_with_city}' errors: {errors}")

# Validate invalid age
errors = user_schema.validate(invalid_data_age)
if not errors:
    print(f"'{invalid_data_age}' is valid.")
else:
    print(f"'{invalid_data_age}' errors: {errors}")

# Validate missing required field
errors = user_schema.validate(invalid_data_missing)
if not errors:
    print(f"'{invalid_data_missing}' is valid.")
else:
    print(f"'{invalid_data_missing}' errors: {errors}")

view raw JSON →