Consolidate to pyproject
Consolidates configs to pyproject.toml and updates workflows accordingly as well as sets sane minimums for dev requirements. adds version check to main script.
This commit is contained in:
@@ -1,7 +1,82 @@
|
||||
[build-system]
|
||||
requires = ["setuptools>=65.6.0", "wheel"]
|
||||
build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "bdfr"
|
||||
description = "Downloads and archives content from reddit"
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.9"
|
||||
license = {file = "LICENSE"}
|
||||
keywords = ["reddit", "download", "archive",]
|
||||
authors = [{name = "Ali Parlakci", email = "parlakciali@gmail.com"}]
|
||||
maintainers = [{name = "Serene Arc", email = "serenical@gmail.com"}]
|
||||
classifiers = [
|
||||
"Development Status :: 5 - Production/Stable",
|
||||
"Environment :: Console",
|
||||
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
|
||||
"Natural Language :: English",
|
||||
"Operating System :: OS Independent",
|
||||
"Programming Language :: Python :: 3",
|
||||
"Programming Language :: Python :: 3.9",
|
||||
"Programming Language :: Python :: 3.10",
|
||||
"Programming Language :: Python :: 3.11",
|
||||
]
|
||||
dependencies = [
|
||||
"appdirs>=1.4.4",
|
||||
"beautifulsoup4>=4.10.0",
|
||||
"click>=8.0.0",
|
||||
"dict2xml>=1.7.0",
|
||||
"praw>=7.2.0",
|
||||
"pyyaml>=5.4.1",
|
||||
"requests>=2.25.1",
|
||||
"yt-dlp>=2022.11.11",
|
||||
]
|
||||
dynamic = ["version"]
|
||||
|
||||
[tool.setuptools]
|
||||
dynamic = {"version" = {attr = 'bdfr.__version__'}}
|
||||
packages = ["bdfr", "bdfr.archive_entry", "bdfr.site_downloaders", "bdfr.site_downloaders.fallback_downloaders",]
|
||||
data-files = {"config" = ["bdfr/default_config.cfg",]}
|
||||
|
||||
[project.optional-dependencies]
|
||||
dev = [
|
||||
"black>=22.10.0",
|
||||
"isort>=5.10.1",
|
||||
"pre-commit>=2.20.0",
|
||||
"pytest>=7.1.0",
|
||||
"tox>=3.27.1",
|
||||
]
|
||||
|
||||
[project.urls]
|
||||
"Homepage" = "https://aliparlakci.github.io/bulk-downloader-for-reddit"
|
||||
"Source" = "https://github.com/aliparlakci/bulk-downloader-for-reddit"
|
||||
"Bug Reports" = "https://github.com/aliparlakci/bulk-downloader-for-reddit/issues"
|
||||
|
||||
[project.scripts]
|
||||
bdfr = "bdfr.__main__:cli"
|
||||
bdfr-archive = "bdfr.__main__:cli_archive"
|
||||
bdfr-clone = "bdfr.__main__:cli_clone"
|
||||
bdfr-download = "bdfr.__main__:cli_download"
|
||||
|
||||
[tool.black]
|
||||
line-length = 120
|
||||
|
||||
[tool.isort]
|
||||
profile = "black"
|
||||
py_version = 39
|
||||
multi_line_output = 3
|
||||
line_length = 120
|
||||
indent = 4
|
||||
|
||||
[tool.pytest.ini_options]
|
||||
minversion = "7.1"
|
||||
addopts = "--strict-markers"
|
||||
testpaths = "tests"
|
||||
markers = [
|
||||
"online: tests require a connection to the internet",
|
||||
"reddit: tests require a connection to Reddit",
|
||||
"slow: test is slow to run",
|
||||
"authenticated: test requires an authenticated Reddit instance",
|
||||
"testing: incomplete tests",
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user