setup: Switch to PEP 517 build system.
This commit is contained in:
parent
789992afa1
commit
6109187286
5 changed files with 84 additions and 75 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,5 +1,6 @@
|
||||||
build/
|
build/
|
||||||
.cache/
|
.cache/
|
||||||
|
dist/
|
||||||
*.egg
|
*.egg
|
||||||
*.egg-info/
|
*.egg-info/
|
||||||
.eggs
|
.eggs
|
||||||
|
|
|
@ -24,18 +24,18 @@ Running unit tests
|
||||||
|
|
||||||
Run::
|
Run::
|
||||||
|
|
||||||
./setup.py test
|
pytest
|
||||||
|
|
||||||
Type checking
|
Type checking
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
Most of the code is typed, except for very dynamic loader methods. To run the type checker::
|
Most of the code is typed, except for very dynamic loader methods. To run the type checker::
|
||||||
|
|
||||||
./setup.py typecheck
|
mypy conservancy_beancount
|
||||||
|
|
||||||
This is expected to pass just like the unit tests.
|
This is expected to pass just like the unit tests.
|
||||||
|
|
||||||
Legal
|
Legal
|
||||||
-----
|
-----
|
||||||
|
|
||||||
Copyright © 2020, 2021 Brett Smith and others. Licensed under the GNU Affero General Public License, either version 3 of the License, or (at your option) any later version; with an additional permission. Refer to ``LICENSE.txt`` for details.
|
Refer to ``LICENSE.txt`` for details.
|
||||||
|
|
3
pyproject.toml
Normal file
3
pyproject.toml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
[build-system]
|
||||||
|
requires = ["setuptools >= 40.6.0", "wheel"]
|
||||||
|
build-backend = "setuptools.build_meta"
|
85
setup.cfg
85
setup.cfg
|
@ -1,6 +1,21 @@
|
||||||
[aliases]
|
[metadata]
|
||||||
test=pytest
|
name = conservancy_beancount
|
||||||
typecheck=pytest --addopts="--mypy 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]
|
[mypy]
|
||||||
disallow_any_unimported = False
|
disallow_any_unimported = False
|
||||||
|
@ -13,18 +28,64 @@ warn_return_any = True
|
||||||
warn_unreachable = True
|
warn_unreachable = True
|
||||||
warn_unused_configs = True
|
warn_unused_configs = True
|
||||||
|
|
||||||
|
[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
|
||||||
|
|
||||||
|
[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 =
|
||||||
|
pytest
|
||||||
|
pytest --mypy conservancy_beancount
|
||||||
|
|
||||||
[tool:pytest]
|
[tool:pytest]
|
||||||
filterwarnings =
|
filterwarnings =
|
||||||
ignore::DeprecationWarning:^socks$
|
ignore::DeprecationWarning:^socks$
|
||||||
|
|
||||||
[tox:tox]
|
[tox:tox]
|
||||||
envlist = py36,py37
|
envlist = py36,py37
|
||||||
|
|
||||||
[testenv]
|
|
||||||
# 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
|
|
||||||
|
|
64
setup.py
64
setup.py
|
@ -1,63 +1,7 @@
|
||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
|
"""setup.py - setuptools compatibility shim"""
|
||||||
|
|
||||||
from setuptools import setup
|
import setuptools
|
||||||
|
|
||||||
setup(
|
if __name__ == "__main__":
|
||||||
name='conservancy_beancount',
|
setuptools.setup()
|
||||||
description="Plugin, library, and reports for reading Conservancy's books",
|
|
||||||
version='1.19.6',
|
|
||||||
author='Software Freedom Conservancy',
|
|
||||||
author_email='info@sfconservancy.org',
|
|
||||||
license='GNU AGPLv3+',
|
|
||||||
|
|
||||||
install_requires=[
|
|
||||||
'babel>=2.6', # Debian:python3-babel
|
|
||||||
'beancount>=2.2', # Debian:beancount
|
|
||||||
'GitPython>=2.0', # Debian:python3-git
|
|
||||||
# 1.4.1 crashes when trying to save some documents.
|
|
||||||
'odfpy>=1.4.0,!=1.4.1', # Debian:python3-odf
|
|
||||||
'pdfminer.six>=20200101',
|
|
||||||
'python-dateutil>=2.7', # Debian:python3-dateutil
|
|
||||||
'PyYAML>=3.0', # Debian:python3-yaml
|
|
||||||
'regex', # Debian:python3-regex
|
|
||||||
'rt>=2.0',
|
|
||||||
],
|
|
||||||
setup_requires=[
|
|
||||||
'pytest-mypy',
|
|
||||||
'pytest-runner', # Debian:python3-pytest-runner
|
|
||||||
],
|
|
||||||
tests_require=[
|
|
||||||
'mypy>=0.770', # Debian:python3-mypy
|
|
||||||
'pytest', # Debian:python3-pytest
|
|
||||||
],
|
|
||||||
|
|
||||||
packages=[
|
|
||||||
'conservancy_beancount',
|
|
||||||
'conservancy_beancount.pdfforms',
|
|
||||||
'conservancy_beancount.pdfforms.extract',
|
|
||||||
'conservancy_beancount.plugin',
|
|
||||||
'conservancy_beancount.reconcile',
|
|
||||||
'conservancy_beancount.reports',
|
|
||||||
'conservancy_beancount.tools',
|
|
||||||
],
|
|
||||||
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',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
)
|
|
||||||
|
|
Loading…
Reference in a new issue