DataDesigner/packages/data-designer-engine/pyproject.toml
Johnny Greco a578265151
feat: add dynamic version pinning for inter-package dependencies (#282)
Switch from hatch-vcs to uv-dynamic-versioning to enable Jinja2
templating in dependencies. This ensures all three subpackages
(data-designer, data-designer-config, data-designer-engine) are
locked to the same version when published to PyPI.

- Use `{{ version }}` template for sibling package dependencies
- Update VERSIONING.md to document importlib.metadata approach
- Remove unused _version.py file generation
2026-02-03 11:14:55 -05:00

71 lines
1.8 KiB
TOML

[project]
name = "data-designer-engine"
dynamic = ["version", "dependencies"]
description = "Generation engine for DataDesigner synthetic data generation"
readme = "README.md"
requires-python = ">=3.10"
license = "Apache-2.0"
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
]
[build-system]
requires = ["hatchling", "uv-dynamic-versioning>=0.7.0"]
build-backend = "hatchling.build"
[tool.hatch.version]
source = "uv-dynamic-versioning"
[tool.uv-dynamic-versioning]
vcs = "git"
style = "pep440"
bump = true
[tool.hatch.metadata.hooks.uv-dynamic-versioning]
dependencies = [
"anyascii>=0.3.3,<1",
"data-designer-config=={{ version }}",
"duckdb>=1.1.3,<2",
"faker>=20.1.0,<21",
"httpx>=0.27.2,<1",
"httpx-retries>=0.4.2,<1",
"huggingface-hub>=1.0.1,<2",
"json-repair>=0.48.0,<1",
"jsonpath-rust-bindings>=1.0,<2",
"jsonschema>=4.0.0,<5",
"litellm>=1.73.6,<1.80.12",
"lxml>=6.0.2,<7",
"marko>=2.1.2,<3",
"mcp>=1.26.0,<2",
"networkx>=3.0,<4",
"ruff>=0.14.10,<1",
"scipy>=1.11.0,<2",
"sqlfluff>=3.2.0,<4",
"tiktoken>=0.8.0,<1",
]
[tool.hatch.build.targets.wheel]
packages = ["src/data_designer"]
[tool.ruff]
extend = "../../pyproject.toml"
[tool.pytest.ini_options]
testpaths = ["tests"]
asyncio_default_fixture_loop_scope = "session"
env = ["DISABLE_DATA_DESIGNER_PLUGINS=true"]
[tool.uv]
package = true
[tool.uv.sources]
data-designer-config = { workspace = true }