[metadata]
name = ablog
author = The SunPy Community
author_email = sunpy@googlegroups.com
description = A Sphinx extension that converts any documentation or personal website project into a full-fledged blog.
long_description = file: README.rst
long_description_content_type = text/x-rst
license = MIT
url = https://ablog.readthedocs.io/
edit_on_github = True
github_project = sunpy/ablog

[options]
python_requires = >=3.10
package_dir=
    =src
packages=find:
include_package_data = True
setup_requires =
  setuptools_scm
install_requires =
  docutils>=0.18
  feedgen>=0.9.0
  invoke>=1.6.0
  packaging>=19.0
  python-dateutil>=2.8.2
  sphinx>=6.2.0
  watchdog>=2.1.0

[options.packages.find]
where=src

[options.extras_require]
notebook =
  ipython>=7.30.0
  nbsphinx>=0.8.0
markdown =
  myst-parser>=0.17.0
docs =
  alabaster>=1.0.0
  sphinx-automodapi
tests =
  pytest
  defusedxml>=0.8.0rc2

[options.entry_points]
console_scripts =
  ablog = ablog.commands:ablog_main

[tool:pytest]
testpaths = "tests"
norecursedirs = ".tox" "build" "docs[\/]_build" "docs[\/]generated" "*.egg-info" ".history"
markers =
  sphinx
addopts = -p no:unraisableexception -p no:threadexception
filterwarnings =
  error
  # Do not fail on pytest config issues (i.e. missing plugins) but do show them
  always::pytest.PytestConfigWarning
  # Sphinx and other packages raise these
  ignore:'imghdr' is deprecated and slated for removal in Python 3.13:DeprecationWarning
  # python-datetuil
  ignore:datetime.datetime.utcfromtimestamp:DeprecationWarning

[pycodestyle]
max_line_length = 120

[flake8]
max-line-length = 120

[isort]
default_section = THIRDPARTY
force_grid_wrap = 0
include_trailing_comma = true
known_first_party = ablog
length_sort = False
length_sort_sections = stdlib
line_length = 120
multi_line_output = 3
skip = .history
sections = FUTURE, STDLIB, THIRDPARTY, FIRSTPARTY, LOCALFOLDER

[coverage:run]
omit =
  */ablog/__init__*
  */ablog/*/tests/*
  */ablog/*setup*
  */ablog/conftest.py
  */ablog/cython_version*
  */ablog/extern/*
  */ablog/version*
  ablog/__init__*
  ablog/*/tests/*
  ablog/*setup*
  ablog/conftest.py
  ablog/cython_version*
  ablog/extern/*
  ablog/version*

[coverage:report]
exclude_lines =
  # Have to re-enable the standard pragma
  pragma: no cover
  # Don't complain about packages we have installed
  except ImportError
  # Don't complain if tests don't hit assertions
  raise AssertionError
  raise NotImplementedError
  # Don't complain about script hooks
  def main\(.*\):
  # Ignore branches that don't pertain to this version of Python
  pragma: py{ignore_python_version}