https://github.com/ghandic/jsf
Использовать JSF Наряду с поддельными генераторами данных, чтобы обеспечить последовательные и значимые поддельные данные для вашей системы.
Основные характеристики
- Предоставляет из поколения данных коробки с любой схемы JSON 📦
- Расширяемые пользовательские поставщики данных, использующие любые функции лямбда 🔗
- Состояние многоуровневого уровня для зависимых данных (например, множественные объекты обмена значениями, такими как дети с такой же фамилией) 🤓
- Встроенная проверка поддельных JSON производится ✅
- В преобразовании памяти с схемы JSON к Pydantics модели с генерируемыми примерами 🤯
- Бесшовная интеграция с Fastapi 🚀
Установка
$ pip install jsf ---> 100%
Применение
Базовый 😊.
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()
Результаты …
{ 'name': 'Jesse Phillips', 'email': 'xroberson@hotmail.com' }
От файла json 📁
from jsf import JSF faker = JSF.from_json("demo-schema.json") fake_json = faker.generate()
Или бежать прямо из командная строка
…
Нативная установка
jsf --schema src/tests/data/custom.json --instance wow.json
Докер
docker run -v $PWD:/data challisa/jsf jsf --schema /data/custom.json --instance /data/example.json
Интеграция fastapi 🚀.
Создайте файл main.py с:
from jsf import JSF from fastapi import FastAPI app = FastAPI(docs_url="/") generator = JSF.from_json("custom.json") @app.get("/generate", response_model=generator.pydantic()) def read_root(): return generator.generate()
Запустите сервер с:
$ uvicorn main:app --reload INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) INFO: Started reloader process [28720] INFO: Started server process [28722] INFO: Waiting for application startup. INFO: Application startup complete.
Перейдите к http://127.0.0.1:8000 и проверить вашу конечную точку. Обратите внимание, что все автоматически созданы следующие:
- Схема с описаниями и примерами
- Пример ответа
- Генерация данных, нажав «Пробуешься»
Оригинал: “https://dev.to/ghandic/jsf-faking-json-data-from-a-schema-5bj0”