outlines-core 0.2.0

Structured Generation
Documentation
[build-system]
requires = ["setuptools>=45", "setuptools_scm[toml]>=6.2", "setuptools-rust"]
build-backend = "setuptools.build_meta"

[project]
name = "outlines_core"
authors= [{name = "Outlines Developers"}]
description = "Structured Text Generation in Rust"
requires-python = ">=3.8"
license = {text = "Apache-2.0"}
keywords=[
    "machine learning",
    "deep learning",
    "language models",
    "structured generation",
]
classifiers = [
    "Development Status :: 5 - Production/Stable",
    "Intended Audience :: Developers",
    "Intended Audience :: Information Technology",
    "Intended Audience :: Science/Research",
    "Operating System :: OS Independent",
    "Programming Language :: Python :: 3",
    "Topic :: Scientific/Engineering :: Artificial Intelligence",
]
dependencies = [
   "jsonschema",
]
dynamic = ["version"]

[project.optional-dependencies]
test = [
    "pre-commit",
    "pydantic",
    "pytest",
    "pytest-benchmark",
    "pytest-cov",
    "pytest-mock",
    "coverage[toml]>=5.1",
    "diff-cover",
    "numpy",
    "scipy",
    "asv",
    "psutil",
    "setuptools-rust",
]

[project.urls]
homepage = "https://github.com/dottxt-ai/outlines-core"
documentation = "https://dottxt-ai.github.io/outlines-core/"
repository = "https://github.com/dottxt-ai/outlines-core"

[project.readme]
file="README.md"
content-type = "text/markdown"

[tool.cibuildwheel]
skip = ["*-musllinux_i686"]

[tool.setuptools]
packages = ["outlines_core"]
package-dir = {"" = "python"}

[tool.setuptools.package-data]
"outlines_core" = ["py.typed", "**/*.pyi"]

[tool.setuptools_scm]
write_to = "python/outlines_core/_version.py"

[tool.pytest.ini_options]
testpaths = ["tests"]
filterwarnings = [
    "error",
    "ignore::pydantic.warnings.PydanticDeprecatedSince20",
    "ignore::UserWarning",
    "ignore::DeprecationWarning",
]
addopts = [
    "--import-mode=importlib"
]

[tool.mypy]
exclude=["examples", "tests", "benchmarks"]

[[tool.mypy.overrides]]
module = [
    "jsonschema.*",
    "pydantic.*",
    "pytest",
    "setuptools.*",
    "setuptools_rust.*",
]
ignore_missing_imports = true

[tool.coverage.run]
omit = [
    "python/outlines_core/_version.py",
    "python/outlines_core/__init__.py",
    "tests/*",
]
branch = true
relative_files = true

[tool.coverage.report]
omit = [
    "tests/*",
]
exclude_lines = [
    "pragma: no cover",
    "if TYPE_CHECKING:",
    "\\.\\.\\.",
]
show_missing = true

[tool.diff_cover]
compare_branch = "origin/main"
diff_range_notation = ".."