Software
Fairspec Cardealer provides SDKs for Python and TypeScript/JavaScript to make it easy to publish and consume datasets.
Python
Section titled “Python”Installation
Section titled “Installation”pip install fairspec fairspec-extensionPublication
Section titled “Publication”from fairspec_extension import Dataset, Dealer, Carfrom fairspec import saveDatasetDescriptor
# Create dealer informationdealer = Dealer( title="Premium Auto Sales", country="United States", region="California", city="Los Angeles", address="1234 Sunset Boulevard", postcode="90028", phone="+1-323-555-0100", email="sales@premiumauto.com", url="https://www.premiumauto.com", lat=34.0983, lon=-118.3267,)
# Create car listingscar = Car( title="2023 Tesla Model 3 Long Range", url="https://www.premiumauto.com/cars/tesla-model-3-2023", price=45990, currency="USD", year=2023, mileage=12000, brand="Tesla", model="Model 3", version="Long Range AWD", fuel="electric", gearbox="auto", category="saloon", color="white", door="fourfive", power=346, seats=5, range=358, battery=75,)
dataset = Dataset( { "$schema": "https://fairspec.github.io/fairspec-cardealer/profiles/0.2.0/dataset.json", "resources": [ { "name": "car", "data": [car], "schema": "https://fairspec.github.io/fairspec-cardealer/schemas/0.2.0/car.json", }, { "name": "dealer", "data": [dealer], "schema": "https://fairspec.github.io/fairspec-cardealer/schemas/0.2.0/dealer.json", }, ], })
saveDatasetDescriptor(dataset, path="dataset.json")Validation
Section titled “Validation”from fairspec import validateDataset
report = validateDataset("dataset.json")print(report)Consumption
Section titled “Consumption”from fairspec import loadDatasetDescriptor
dataset = loadDatasetDescriptor("dataset.json")print(dataset)TypeScript
Section titled “TypeScript”Installation
Section titled “Installation”npm install fairspec fairspec-extensionPublication
Section titled “Publication”import type { Car, Dealer, Package } from "fairspec-cardealer";import { savePackageDescriptor } from "fairspec";
const dealer: Dealer = { title: "Premium Auto Sales", country: "United States", region: "California", city: "Los Angeles", address: "1234 Sunset Boulevard", postcode: "90028", phone: "+1-323-555-0100", email: "sales@premiumauto.com", url: "https://www.premiumauto.com", lat: 34.0983, lon: -118.3267,};
const car: Car = { title: "2023 Tesla Model 3 Long Range", url: "https://www.premiumauto.com/cars/tesla-model-3-2023", price: 45990, currency: "USD", year: 2023, mileage: 12000, brand: "Tesla", model: "Model 3", version: "Long Range AWD", fuel: "electric", gearbox: "auto", category: "saloon", color: "white", door: "fourfive", power: 346, seats: 5, range: 358, battery: 75,};
const dataset: Dataset = { $schema: "https://fairspec.github.io/fairspec-cardealer/profiles/0.2.0/dataset.json", resources: [ { name: "car", data: [car], schema: "https://fairspec.github.io/fairspec-cardealer/schemas/0.2.0/car.json", }, { name: "dealer", data: [dealer], schema: "https://fairspec.github.io/fairspec-cardealer/schemas/0.2.0/dealer.json", }, ],};
await saveDatasetDescriptor(dataset, { path: "dataset.json", overwrite: true,});Validation
Section titled “Validation”import { validateDataset } from "fairspec";
const { valid, errors } = await validateDataset("dataset.json");console.log(valid, errors);Consumption
Section titled “Consumption”import { loadDatasetDescriptor } from "fairspec";
const dataset = await loadDatasetDescriptor("dataset.json");console.log(dataset);