jsf
Creates fake JSON files from a JSON schema
Decision gist · record as of 2026-08-14
Yes, if you need test-data generation from JSON schemas. The package is stable, permissively licensed, and has low install friction. Maintenance is aging (last release March 2024, no commits for 871 days), so it's best suited for established schemas that don't require frequent updates. No known vulnerabilities. Good fit for testing, mocking, and prototyping workflows.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low friction install with six runtime dependencies (faker, jsonschema, pydantic, rstr, smart-open, typing-extensions).
- Maintenance is aging—last release was in March 2024 and no commits for 871 days—but the repository remains active and the package is stable enough for test-data use.
License · maintenance · safety
permissive license (permissive) — MIT License (permissive). You can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
last release 2024-03-26 (871 days) · last repo commit 2026-01-14 · 200 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 748,829 downloads/mo, #5,164 on PyPI
Alternatives
Verify before relying
from jsf import JSF
faker = JSF({
"type": "object",
"properties": {
"name": {"type": "string", "$provider": "faker.name"},
"email": {"type": "string", "$provider": "faker.email"},
},
"required": ["name", "email"],
})
fake_json = faker.generate()- Whether custom $provider lambdas can reference all faker methods or only a documented subset
- Performance characteristics when generating large volumes of data or deeply nested schemas
- Extent of contentMediaType support beyond the noted 'subset' of string types
What it is and what it does
jsf is a Python port of json-schema-faker that turns JSON Schema definitions into streams of realistic fake data. You define a schema with optional $provider directives (pointing to faker methods or custom functions), and jsf generates valid JSON objects matching that schema. It validates output against the schema, supports multi-level state for dependent fields (e.g., siblings sharing a surname), and can convert schemas to Pydantic models with generated examples.
The package is designed for test-data generation, rapid prototyping, and API mocking. It integrates with FastAPI to auto-generate example responses and schemas in OpenAPI docs. You can use it as a library in Python code, load schemas from JSON files, or run it from the command line or Docker. Six runtime dependencies (faker, jsonschema, pydantic, rstr, smart-open, typing-extensions) handle schema validation, data generation, and file I/O.
Use it for
- Generate realistic test fixtures for unit and integration tests without hand-crafting mock data
- Populate FastAPI endpoints with auto-generated example responses and interactive schema documentation
- Create synthetic datasets for development and staging environments that match your data contracts
- Prototype APIs and data pipelines before real data is available or during schema design
- Validate JSON schemas by generating and verifying conformant fake data
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need test-data generation from JSON schemas.
The package is stable, permissively licensed, and has low install friction. Maintenance is aging (last release March 2024, no commits for 871 days), so it's best suited for established schemas that don't require frequent updates. No known vulnerabilities. Good fit for testing, mocking, and prototyping workflows.
Install
jsf on PyPI
Before you install
Low friction install with six runtime dependencies (faker, jsonschema, pydantic, rstr, smart-open, typing-extensions). Maintenance is aging—last release was in March 2024 and no commits for 871 days—but the repository remains active and the package is stable enough for test-data use.
License in practice
MIT License (permissive). You can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
Quickstart
from jsf import JSF
faker = JSF({
"type": "object",
"properties": {
"name": {"type": "string", "$provider": "faker.name"},
"email": {"type": "string", "$provider": "faker.email"},
},
"required": ["name", "email"],
})
fake_json = faker.generate()
Verify before relying
- Whether custom $provider lambdas can reference all faker methods or only a documented subset
- Performance characteristics when generating large volumes of data or deeply nested schemas
- Extent of contentMediaType support beyond the noted 'subset' of string types
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.8 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 6 packagesfakerjsonschemapydanticrstrsmart-opentyping-extensions |
| Maintenance | Aging 871 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 748,829 / month, #5,164 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3 |
Evidence: jsf-0.11.2-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “json schema fake data generator”
- jsfGenerates realistic fake JSON data from JSON Schema definitions,…
- mimesisMimesis generates realistic fake data across 47 locales—names,…
- snowfakerySnowfakery generates fake relational data from YAML recipes, writing…
Give your agent the search over MCP, or paste the wish link into any chat.
More Testing packages
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.
virtualenv creates isolated Python environments where packages can be installed independently without affecting the system Python or other projects.
Coverage.py measures which lines of Python code are executed during test runs, reporting coverage percentages and identifying untested code paths.
Install it if you want to measure test completeness or enforce coverage thresholds in your project.
pytest-asyncio is a pytest plugin that enables writing and running async test functions using the asyncio library, allowing developers to await code directly within test cases.
Install it if you write tests for any asyncio-based code.
A pytest plugin that generates test reports in Common Test Report Format (CTRF) as JSON, compatible with pytest-xdist and pytest-playwright for distributed and browser-based testing.
Install it if you need CTRF-formatted test output for CI/CD integration or cross-tool reporting.
See also Faker · fake-factory · faker-nonprofit · robotframework-faker · mimesis · pytest-faker · faker-edu · streamlit-faker · faker-e164 · faker-enum