diff --git a/setup.cfg b/setup.cfg index 201543f0dd1520fe6e9a3829a0e24b94f2626d4a..425499f2290b6eecf4e7485e54e3595d3cc7e041 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,21 @@ -[aliases] -test=pytest -typecheck=pytest --addopts="--mypy conservancy_beancount" +[metadata] +name = conservancy_beancount +version = 1.19.7 +author = Software Freedom Conservancy +author_email = info@sfconservancy.org +description = Plugin, library, and reports for reading Conservancy’s books +license = AGPLv3-or-later WITH Beancount-Plugin-Additional-Permission-1.0 +license_files = + LICENSE.txt + AGPLv3.txt +long_description = file: README.rst +long_description_content_type = text/x-rst; charset=UTF-8 +project_urls = + Source = %(url)s +url = https://k.sfconservancy.org/NPO-Accounting/conservancy_beancount + +[bdist_wheel] +universal = 1 [mypy] disallow_any_unimported = False @@ -13,18 +28,64 @@ warn_return_any = True warn_unreachable = True warn_unused_configs = True -[tool:pytest] -filterwarnings = - ignore::DeprecationWarning:^socks$ +[options] +include_package_data = True +install_requires = + babel>=2.6 + beancount>=2.2 + GitPython>=2.0 + odfpy>=1.4.0,!=1.4.1 + pdfminer.six>=20200101 + python-dateutil>=2.7 + PyYAML>=3.0 + regex + rt>=2.0 +packages = find: +python_requires = >=3.6 -[tox:tox] -envlist = py36,py37 +[options.entry_points] +console_scripts = + accrual-report = conservancy_beancount.reports.accrual:entry_point + assemble-audit-reports = conservancy_beancount.tools.audit_report:entry_point + balance-sheet-report = conservancy_beancount.reports.balance_sheet:entry_point + budget-report = conservancy_beancount.reports.budget:entry_point + bean-sort = conservancy_beancount.tools.sort_entries:entry_point + extract-odf-links = conservancy_beancount.tools.extract_odf_links:entry_point + fund-report = conservancy_beancount.reports.fund:entry_point + ledger-report = conservancy_beancount.reports.ledger:entry_point + opening-balances = conservancy_beancount.tools.opening_balances:entry_point + pdfform-extract = conservancy_beancount.pdfforms.extract:entry_point + pdfform-extract-irs990scheduleA = conservancy_beancount.pdfforms.extract.irs990scheduleA:entry_point + pdfform-fill = conservancy_beancount.pdfforms.fill:entry_point + query-report = conservancy_beancount.reports.query:entry_point + reconcile-paypal = conservancy_beancount.reconcile.paypal:entry_point + reconcile-statement = conservancy_beancount.reconcile.statement:entry_point + split-ods-links = conservancy_beancount.tools.split_ods_links:entry_point + +[options.package_data] +* = py.typed + +[options.packages.find] +exclude = + tests [testenv] +deps = + mypy>=0.770 + pytest>=3.0 + pytest-mypy + # Beancount includes type declarations but not the `py.typed` flag file mypy # is looking for to know that. Create it ourselves. commands_pre = python -c 'import beancount, pathlib; pathlib.Path(beancount.__file__).with_name("py.typed").touch()' commands = - ./setup.py test - ./setup.py typecheck + pytest + pytest --mypy conservancy_beancount + +[tool:pytest] +filterwarnings = + ignore::DeprecationWarning:^socks$ + +[tox:tox] +envlist = py36,py37