[project]
name = "osc-transformer-based-extractor"
version = "0.1.0"
description = "OS-Climate Data Extraction Tool"
authors = [
    {name = "David Besslich", email = "90916810+DaBeIDS@users.noreply.github.com"},
]
requires-python = ">=3.9"
readme = "README.rst"
license = {file = "LICENSE.txt"}
classifiers = [
  "Intended Audience :: Developers",
  "Intended Audience :: Science/Research",
  "License :: OSI Approved :: Apache Software License",
  "Operating System :: MacOS",
  "Operating System :: Microsoft :: Windows",
  "Operating System :: Unix",
  "Programming Language :: Python",
  "Programming Language :: Python :: 3",
  "Programming Language :: Python :: 3 :: Only",
  "Programming Language :: Python :: 3.11",
  "Programming Language :: Python :: 3.10",
  "Programming Language :: Python :: 3.9",
  "Topic :: Office/Business :: Financial",
  "Topic :: Scientific/Engineering",
  "Topic :: Software Development",
]
dependencies = [
    "torch>=2.2.2",
    "pandas>=2.2.2",
    "tokenizers>=0.19.1",
    "ipykernel>=6.29.4",
    "transformers>=4.40.0",
    "pre-commit>=3.7.0",
    "pytest>=8.2.1",
    "pytest-cov>=5.0.0",
    "scikit-learn>=1.5.0",
    "accelerate>=0.31.0",
    "typer[all]>=0.12.3",
    "rich>=13.7.1",
]

[project.urls]
Homepage = "https://github.com/os-climate/osc-transformer-based-extractor"
Repository = "https://github.com/os-climate/osc-transformer-based-extractor"
Downloads = "https://github.com/os-climate/osc-transformer-based-extractor/releases"
"Bug Tracker" = "https://github.com/os-climate/osc-transformer-based-extractor/issues"
Documentation = "https://github.com/os-climate/osc-transformer-based-extractor/tree/main/docs"
"Source Code" = "https://github.com/os-climate/osc-transformer-based-extractor"

[build-system]
requires = ["pdm-backend"]
build-backend = "pdm.backend"

[metadata]
license-files = ["LICENSES.txt"]

[project.scripts]
osc-transformer-based-extractor = "osc_transformer_based_extractor.main:app"

[project.optional-dependencies]
  dev = [
  "pylint",
  "toml",
  "yapf",
  "pdm"
]
test = [
  "pytest",
  "pytest-cov",
]

[tool.setuptools_scm]

[tool.pdm.scripts]
pre_release = "scripts/dev-versioning.sh"
release = "scripts/release-versioning.sh"
test = ["pdm[pytest]", "pytest-cov"]
tox = "tox"
docs = { shell = "cd docs && mkdocs serve", help = "Start the dev server for doc preview" }
lint = "pre-commit run --all-files"
complete = { call = "tasks.complete:main", help = "Create autocomplete files for bash and fish" }


# Define CLI commands
osc-transformer-based-extractor = "osc_transformer_based_extractor.main:app"

[tool.pdm.dev-dependencies]
test = ["pdm[pytest]", "pytest-cov"]
tox = ["tox", "tox-pdm>=0.5"]
docs = ["sphinx>=7.2.6", "sphinx-copybutton>=0.5.2"]
dev = ["tox>=4.11.3", "tox-pdm>=0.7.0"]
lint = ["pre-commit", "pyproject-flake8"]

####
osc-transformer-based-extractor = { path = "osc_transformer_based_extractor" }



[tool.coverage.run]
source = ["src"]

[tool.yapf]
blank_line_before_nested_class_or_def = true
column_limit = 120

[tool.black]
line-length = 120

[tool.isort]
profile = "black"

[tool.flake8]
max-line-length = 120
extend-ignore = [
  "E501",
]

[tool.mypy]
ignore_missing_imports = true

[tool.pytest.ini_options]
testpaths = [
    "test/",
]
addopts = "--cov --cov-report html --cov-report term-missing --cov-fail-under 70"