crates.io · JSON Structure

Crates Io Crate Structure

Logical structure of the core crates.io resources and their relationships. Companion to crates-io-crate-schema.json (validation) and crates-io-context.jsonld (semantics).

Type: Properties: 0
RustPackage RegistryCratesCargoOpen SourceDeveloper ToolsRust Foundation

Crates Io Crate Structure is a JSON Structure definition published by crates.io. It conforms to the https://json-structure.org/schema meta-schema.

Meta-schema: https://json-structure.org/schema

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/schema",
  "$id": "https://api-evangelist.com/structures/crates-io/crates-io-crate-structure.json",
  "title": "crates.io Crate Structure",
  "description": "Logical structure of the core crates.io resources and their relationships. Companion to crates-io-crate-schema.json (validation) and crates-io-context.jsonld (semantics).",
  "entities": {
    "Crate": {
      "identifiers": ["name"],
      "fields": [
        "name", "description", "max_version", "max_stable_version", "newest_version",
        "downloads", "recent_downloads", "repository", "documentation", "homepage",
        "created_at", "updated_at"
      ],
      "relations": {
        "has_versions": { "target": "Version", "cardinality": "1..*" },
        "owned_by": { "target": "Owner", "cardinality": "1..*" },
        "tagged_with": { "target": "Keyword", "cardinality": "0..*" },
        "categorized_as": { "target": "Category", "cardinality": "0..*" }
      }
    },
    "Version": {
      "identifiers": ["crate", "num"],
      "fields": [
        "num", "downloads", "features", "yanked", "license", "rust_version",
        "crate_size", "checksum", "created_at", "updated_at", "dl_path"
      ],
      "relations": {
        "belongs_to": { "target": "Crate", "cardinality": "1" },
        "depends_on": { "target": "Dependency", "cardinality": "0..*" }
      }
    },
    "Dependency": {
      "identifiers": ["name", "req"],
      "fields": ["name", "req", "features", "optional", "default_features", "target", "kind", "registry", "package"]
    },
    "Owner": {
      "identifiers": ["login"],
      "fields": ["id", "login", "name", "kind", "avatar", "url"]
    },
    "Keyword": {
      "identifiers": ["keyword"],
      "fields": ["keyword", "crates_cnt", "created_at"]
    },
    "Category": {
      "identifiers": ["slug"],
      "fields": ["category", "slug", "description", "crates_cnt", "created_at"]
    },
    "RegistryConfig": {
      "identifiers": ["api"],
      "fields": ["dl", "api", "auth-required"]
    }
  }
}