[tool.poetry]
name = "patent_client"
version = "3.0.4"
description = "A set of ORM-style clients for publicly available intellectual property data"
authors = ["Parker Hancock <633163+parkerhancock@users.noreply.github.com>"]
license = "Apache Software License 2.0"
readme = "README.md"
documentation = "https://patent-client.readthedocs.io"
homepage = "https://github.com/parkerhancock/patent_client"
repository = "https://github.com/parkerhancock/patent_client"

keywords = ["patent", "intellectual property", "usitc", "epo", "ops", "trademark", "inpadoc", "337"]

classifiers = [
    "Development Status :: 4 - Beta",
    "Intended Audience :: End Users/Desktop",
    "Intended Audience :: Legal Industry",
    "Intended Audience :: Science/Research",
    "License :: OSI Approved :: Apache Software License",
    "Topic :: Scientific/Engineering",
]

exclude = ["./**/cassettes/**/*",]


[tool.poetry.dependencies]
python = "^3.7.1"

# Required Dependencies
lxml = "^4.9.0"
requests = "^2.28.0"
python-dateutil = "^2.8.2"
requests-cache = "^0.9.4"
PyPDF2 = "^2.2.0"
inflection = "^0.5.1"
openpyxl = "^3.0.10"
colorlog = "^6.6.0"
yankee = "^0.1.30"
PyYAML = "^6.0"
ujson = "^5.4.0"
pyparsing = "^3.0.9"
zipp = "^3.8.1"

# Documentation Dependencies
furo                       = {optional=true, version="^2022.6"}
linkify-it-py              = {optional=true, version="^2.0"}
myst-parser                = {optional=true, version=">=0.17"}
sphinx                     = {optional=true, version="^5.0.2"}
sphinx-autodoc-typehints   = {optional=true, version="^1.19"}
sphinx-automodapi          = {optional=true, version=">=0.14"}
sphinx-copybutton          = {optional=true, version=">=0.5"}
sphinx-design              = {optional=true, version=">=0.2"}
sphinx-notfound-page       = {optional=true, version=">=0.8"}
sphinxcontrib-apidoc       = {optional=true, version="^0.3"}
sphinxcontrib-mermaid      = {optional=true, version="^0.7.1"}
nbsphinx                   = {optional=true, version="^0.8.9"}
IPython                    = {optional=true, version="^7.17.0"}


[tool.poetry.dev-dependencies]

# PyTest and Plugins
pytest = "^7.1.2"
vcrpy = "^4.2.0"
codecov = "^2.1.12"
pytest-cov = "^3.0.0"
pre-commit = "^2.19.0"
pytest-xdist = "^2.5.0"
mypy = "^0.961"
black = {version = "^22.6.0", allow-prereleases = true}

# For convenience in local development
nox                   = "^2022.1.7"
nox-poetry            = "^1.0.0"
rich                  = ">=10.0"
sphinx-autobuild      = "^2021.3.14"
pytest-recording = "^0.12.1"
bump2version = "^1.0.1"



[tool.poetry.extras]
# Documentation
docs     = ["furo", "linkify-it-py", "myst-parser", "sphinx", "sphinx-autodoc-typehints",
            "sphinx-automodapi", "sphinx-copybutton", "sphinx-design", "sphinx-notfound-page",
            "sphinxcontrib-apidoc", "sphinxext-opengraph", "sphinxcontrib-mermaid", "nbsphinx", "IPython"]

[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"

[scripts]
test = "pytest --basetemp=tmp"
render_docs = "make -f docs/Makefile html"

[tool.pycln]
all = true

[tool.isort]
profile = 'black'
line_length = 100
skip_gitignore = true

[tool.pytest.ini_options]
python_files = [
    "test_*.py",
    "*_test.py",
    "tests.py",
]
addopts = '-ra --strict --doctest-modules --doctest-glob="*.md" --tb=short'
doctest_optionflags= [
    "NORMALIZE_WHITESPACE",
    "IGNORE_EXCEPTION_DETAIL",
    "ELLIPSIS"
]
