Metadata-Version: 2.4
Name: datacontract-helper
Version: 0.1.40
Summary: Add your description here
Requires-Python: >=3.13
Description-Content-Type: text/markdown
Requires-Dist: attrs>=25.3.0
Requires-Dist: build>=1.3.0
Requires-Dist: click>=8.2.1
Requires-Dist: confluent-kafka[all,protobuf,schema-registry]>=2.11.1
Requires-Dist: datacontract-cli[all]>=0.10.35
Requires-Dist: httpx>=0.28.1
Requires-Dist: jsonschema>=4.25.1
Requires-Dist: orjson>=3.11.3
Requires-Dist: pip>=25.2
Requires-Dist: requests>=2.32.5
Requires-Dist: twine>=6.1.0
Provides-Extra: dev
Requires-Dist: black; extra == "dev"
Requires-Dist: flake8; extra == "dev"
Requires-Dist: Flake8-pyproject; extra == "dev"
Requires-Dist: pre-commit; extra == "dev"
Requires-Dist: pylint; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Provides-Extra: pypi
Requires-Dist: build; extra == "pypi"
Requires-Dist: pytest-runner; extra == "pypi"
Requires-Dist: setuptools-lint; extra == "pypi"
Requires-Dist: setuptools_scm; extra == "pypi"
Requires-Dist: twine; extra == "pypi"
Requires-Dist: wheel; extra == "pypi"
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-cov; extra == "test"

# datacontract_helper

howto:


todo:
https://github.com/datacontract/datacontract-cli/blob/main/datacontract/data_contract.py

```
data_contract.lint()
data_contract.test()

# Проверка breaking changes между двумя версиями
breaking_changes = data_contract1.breaking(data_contract2)

# Полный changelog с разными уровнями серьезности
changes = data_contract1.changelog(data_contract2, include_severities=[Severity.ERROR, Severity.WARNING])

try:
    data_contract = DataContract(data_contract_file="contract.yaml")
    # Уже при создании объекта происходит базовая валидация
except DataContractException as e:
    print(f"Validation failed: {e}")

```

build and publish:

```

manualy increase version in pyproject.toml and remove old version

 1308  uv run python3 -m pip install --upgrade setuptools wheel

 1309  uv run python3 -m build --no-isolation

 1311  uv run twine upload --config-file ./.pypirc dist/*
 
 ```
