Official Packages

The same schema, validated the same way, in six languages. Pick your package manager.

Overview

  • Validation — Validate resume JSON against the Schema Resume specification
  • Error Reporting — Detailed validation errors with field paths
  • Schema Access — Programmatic access to schema files
  • Examples — Working code examples and usage guides
  • Documentation — Comprehensive API reference
  • Testing — Unit tests and validation examples

Available Packages

📦

NPM (JavaScript/TypeScript)

schema-resume-validator

npm version

Full TypeScript support, AJV-based validation, embedded schemas

npm install schema-resume-validator

🐍

Python

schema-resume-validator

PyPI version

Python 3.8+, jsonschema validation, type hints

pip install schema-resume-validator

🔵

Go

github.com/tradik/schema-resume/validator

Go Reference

Go 1.21+, embedded schemas, zero dependencies

go get github.com/tradik/schema-resume/validator

Java

org.schema-resume:schema-resume-validator

Maven Central

Java 11+, Maven/Gradle support, Jackson integration

<groupId>org.schema-resume</groupId> <artifactId>schema-resume-validator</artifactId>

💎

Ruby

schema-resume-validator

Gem Version

Ruby 2.7+, json-schema validation

gem install schema-resume-validator

🐘

PHP

schema-resume/validator

Packagist Version

PHP 8.0+, Composer support, PSR-4 autoloading

composer require schema-resume/validator

Quick Start Examples

JavaScript/TypeScript

validate.js — node
const { createValidator } = require('schema-resume-validator');
const validator = createValidator();

const resume = {
  "$schema": "https://schema-resume.org/schema.json",
  "basics": {
    "name": "John Doe",
    "email": "john.doe@example.com"
  }
};

const result = validator.validate(resume);
if (result.valid) {
  console.log('Resume is valid!');
} else {
  result.errors.forEach(e => console.error(e.message));
}

Python

validate.py — python3
from schema_resume import validate_resume

resume = {
    "$schema": "https://schema-resume.org/schema.json",
    "basics": {
        "name": "John Doe",
        "email": "john.doe@example.com"
    }
}

result = validate_resume(resume)
if result["valid"]:
    print("Resume is valid!")
else:
    for error in result["errors"]:
        print(f"Error: {error['message']}")

Go

main.go — go run
import validator "github.com/tradik/schema-resume/validator"

v, _ := validator.NewValidator()
resume := map[string]interface{}{
    "$schema": "https://schema-resume.org/schema.json",
    "basics": map[string]interface{}{
        "name":  "John Doe",
        "email": "john.doe@example.com",
    },
}

result, _ := v.Validate(resume)
if result.Valid {
    fmt.Println("Resume is valid!")
}

Java

Validator.java — java
import org.schemaresume.validator.ResumeValidator;

ResumeValidator validator = new ResumeValidator();
String resumeJson = """
{
    "$schema": "https://schema-resume.org/schema.json",
    "basics": {
        "name": "John Doe",
        "email": "john.doe@example.com"
    }
}
""";

ValidationResult result = validator.validateJson(resumeJson);
if (result.isValid()) {
    System.out.println("Resume is valid!");
}

Ruby

validate.rb — ruby
require 'schema_resume'

resume = {
  "$schema" => "https://schema-resume.org/schema.json",
  "basics" => {
    "name" => "John Doe",
    "email" => "john.doe@example.com"
  }
}

result = SchemaResume.validate(resume)
puts "Resume is valid!" if result[:valid]

PHP

validate.php — php
use SchemaResume\Validator;

$validator = new Validator();
$resume = [
    '$schema' => 'https://schema-resume.org/schema.json',
    'basics' => [
        'name' => 'John Doe',
        'email' => 'john.doe@example.com',
    ],
];

$result = $validator->validate($resume);
if ($result['valid']) {
    echo "Resume is valid!";
}

Included Schema Files

All packages embed the following schema files:

  • schema.json — Main JSON Schema for resume validation
  • meta-schema.json — Meta-schema for self-validation
  • context.jsonld — JSON-LD context for semantic web integration
  • schema-resume.xsd — XML Schema Definition (XSD) for XML validation

Support

Need help?

For questions or issues with any package, please open an issue on GitHub or email info@schema-resume.org.