[build-system]
requires = [
    "hatchling",
]
build-backend = "hatchling.build"

[project]
name = "oa"
version = "0.1.46"
description = "Python interface to OpenAI"
readme = "README.md"
requires-python = ">=3.10"
keywords = [
    "openai",
    "llm",
    "chat bot",
    "chatGPT",
]
authors = [
    { name = "Thor Whalen" },
]
dependencies = [
    "openai",
    "i2",
    "dol",
    "config2py",
    "graze",
    "jsonref",
    "lkj",
    "ju",
    "PyYAML",
    "tiktoken",
    "python-dateutil",
    "beautifulsoup4",
    "dill",
]

[project.license]
text = "Apache-2.0"

[project.urls]
Homepage = "https://github.com/thorwhalen/oa"

[project.optional-dependencies]
testing = [
    "playwright",
]

[tool.ruff]
line-length = 88
target-version = "py310"
exclude = [
    "**/*.ipynb",
    ".git",
    ".venv",
    "build",
    "dist",
    "tests",
    "examples",
    "scrap",
]

[tool.ruff.lint]
select = [
    "D100",
]
ignore = [
    "D203",
    "E501",
    "B905",
]

[tool.ruff.lint.pydocstyle]
convention = "google"

[tool.ruff.lint.per-file-ignores]
"tests/*" = [
    "D",
]
"examples/*" = [
    "D",
]
"scrap/*" = [
    "D",
]

[tool.pytest.ini_options]
minversion = "6.0"
testpaths = [
    "tests",
]
doctest_optionflags = [
    "NORMALIZE_WHITESPACE",
    "ELLIPSIS",
]

[tool.hatch.build.targets.wheel]
include = [
    "oa/data/**/*",
]
