{
  "$schema": "https://datapackage.org/profiles/2.0/datapackage.json",
  "name": "robotparts",
  "title": "robotparts",
  "version": "2026.10.22",
  "description": "An open, versioned library of robot parts: every spec cites its source.",
  "resources": [
    {
      "name": "parts",
      "type": "table",
      "path": "parts.csv",
      "format": "csv",
      "mediatype": "text/csv",
      "encoding": "utf-8",
      "dialect": {
        "lineTerminator": "\n"
      },
      "schema": {
        "fields": [
          {
            "name": "id",
            "type": "string"
          },
          {
            "name": "category",
            "type": "string"
          },
          {
            "name": "brand",
            "type": "string"
          },
          {
            "name": "model",
            "type": "string"
          },
          {
            "name": "title",
            "type": "string"
          },
          {
            "name": "family",
            "type": "string"
          },
          {
            "name": "url",
            "type": "string"
          },
          {
            "name": "datasheet_url",
            "type": "string"
          },
          {
            "name": "image_url",
            "type": "string"
          },
          {
            "name": "offer_count",
            "type": "integer"
          },
          {
            "name": "min_price_usd",
            "type": "number"
          },
          {
            "name": "origin_atlas",
            "type": "string"
          },
          {
            "name": "origin_commit",
            "type": "string"
          }
        ],
        "primaryKey": [
          "id"
        ]
      }
    },
    {
      "name": "specs",
      "type": "table",
      "path": "specs.csv",
      "format": "csv",
      "mediatype": "text/csv",
      "encoding": "utf-8",
      "dialect": {
        "lineTerminator": "\n"
      },
      "schema": {
        "fields": [
          {
            "name": "part_id",
            "type": "string"
          },
          {
            "name": "key",
            "type": "string"
          },
          {
            "name": "value_num",
            "type": "number"
          },
          {
            "name": "value_text",
            "type": "string"
          },
          {
            "name": "value_json",
            "type": "string"
          },
          {
            "name": "unit",
            "type": "string"
          },
          {
            "name": "source_url",
            "type": "string"
          },
          {
            "name": "source_kind",
            "type": "string"
          },
          {
            "name": "note",
            "type": "string"
          },
          {
            "name": "raw",
            "type": "string"
          }
        ],
        "foreignKeys": [
          {
            "fields": [
              "part_id"
            ],
            "reference": {
              "resource": "parts",
              "fields": [
                "id"
              ]
            }
          }
        ]
      }
    },
    {
      "name": "offers",
      "type": "table",
      "path": "offers.csv",
      "format": "csv",
      "mediatype": "text/csv",
      "encoding": "utf-8",
      "dialect": {
        "lineTerminator": "\n"
      },
      "schema": {
        "fields": [
          {
            "name": "part_id",
            "type": "string"
          },
          {
            "name": "seller",
            "type": "string"
          },
          {
            "name": "url",
            "type": "string"
          },
          {
            "name": "accessed",
            "type": "string"
          },
          {
            "name": "price_usd",
            "type": "number"
          },
          {
            "name": "price_original",
            "type": "number"
          },
          {
            "name": "currency_original",
            "type": "string"
          },
          {
            "name": "qty",
            "type": "integer"
          },
          {
            "name": "in_stock",
            "type": "integer"
          },
          {
            "name": "variant",
            "type": "string"
          },
          {
            "name": "note",
            "type": "string"
          }
        ],
        "foreignKeys": [
          {
            "fields": [
              "part_id"
            ],
            "reference": {
              "resource": "parts",
              "fields": [
                "id"
              ]
            }
          }
        ]
      }
    }
  ]
}
