-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.cfg
139 lines (130 loc) · 4 KB
/
setup.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
# SPDX-FileCopyrightText: 2023 Ross Patterson <[email protected]>
#
# SPDX-License-Identifier: MIT
[metadata]
name = prunerr
version = attr: prunerr.version.version
description = Perma-seed Servarr media libraries
url = https://gitlab.com/rpatterson/prunerr
long_description = file: README.rst
long_description_content_type = text/x-rst
author = Ross Patterson
author_email = [email protected]
license = MIT
keywords =
servarr
sonarr
radarr
transmission
bittorent
torrent
classifiers =
Development Status :: 4 - Beta
Environment :: Console
Intended Audience :: End Users/Desktop
License :: OSI Approved :: MIT License
Natural Language :: English
Operating System :: OS Independent
Programming Language :: Python :: 3
Programming Language :: Python :: 3.11
Programming Language :: Python :: 3.12
Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3 :: Only
Topic :: Communications :: File Sharing
Topic :: Internet
[options]
# https://setuptools.pypa.io/en/latest/userguide/declarative_config.html#using-a-src-layout
package_dir =
=src
# https://setuptools.pypa.io/en/latest/userguide/datafiles.html#subdirectory-for-data-files
packages = find_namespace:
include_package_data = True
python_requires = >=3.8
install_requires =
# BBB: Compatibility with older Python versions
backports.cached-property; python_version < "3.8"
pathlib3x; python_version < "3.10"
# CLI Completion
argcomplete
# HTTP requests for humans:
requests
# Specific download client APIs
transmission-rpc<4
# Graceful handling of logging when run on the console or as a daemon
service-logging
# Configuration file format
pyyaml
# Servarr API clients/wrappers
arrapi>=1.2
# Retry on connection errors
tenacity
[options.packages.find]
where = src
[options.entry_points]
console_scripts =
prunerr = prunerr:main
[options.extras_require]
# Libraries and tools used to run the test suite but not needed by end-users:
test =
# Libraries used in the actual code of the test suite
requests-mock
# Development tools not strictly needed by the test suite
pytest
coverage
# Manage fixed/pinned versions in `./requirements/**.txt`. Though not used in the tests,
# needed here to compile requrement versions for each supported Python version:
pip-tools
# Development tools not strictly needed by the test suite but that need this
# package/dist and its dependencies to be to be on the same `sys.path`, IOW to be
# importable:
devel =
# Code style and linting tools
# Chose prospector based mostly on this excellent blog:
# https://pawamoy.github.io/posts/python-static-code-analysis-tools/#prospector
prospector[with_everything]
xenon
# Code formatting tools
black
autoflake
autopep8
# MyPy type libraries
types-PyYAML
types-requests
# Build tools that don't need to import this package that the development container does
# need installed:
# Build installable distributions, AKA packages
build
[tool:pytest]
testpaths = ./tests/prunerrtests/
filterwarnings =
error
# BBB: Remove once Python <=3.11 support has been removed:
ignore:onerror argument is deprecated:DeprecationWarning:prunerr.downloadclient
# BBB: Remove once arrapi fixes this issue:
ignore:pkg_resources is deprecated as an API:DeprecationWarning:arrapi
[coverage:run]
command_line = -m pytest --junit-xml=pytest-junit.xml
branch = True
source_pkgs =
prunerr
prunerrtests
omit =
src/prunerr/version.py
**/site-packages/prunerr/version.py
[coverage:report]
fail_under = 100
show_missing = True
[flake8]
exclude = src/*/version.py
# Match Black's defaults
# https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html#flake8
max-line-length = 88
extend-ignore = E203
aggressive = 3
experimental = true
[pydocstyle]
match = .*\.py
# See `./.prospector.yaml` for reasons behind these ignores:
add_ignore = D212,D203,D200