[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", "cachetools>=5.3.0", "click>=8.0.0", "dict2xml>=1.7.0", "praw>=7.2.0", "pyyaml>=5.4.1", "requests>=2.28.2", "yt-dlp>=2023.2.17", ] 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>=23.3.0", "pre-commit>=3.0.4", "pytest>=7.2.1", "ruff>=0.0.272", "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.flake8] exclude = ["scripts/tests"] max-line-length = 120 show-source = true statistics = true [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", ] [tool.ruff] exclude = ["scripts/tests"] external = ["FURB123"] flake8-annotations = {"allow-star-arg-any" = true, "suppress-dummy-args" = true} flake8-pytest-style = {"parametrize-values-type" = "tuple", "mark-parentheses" = false} format = "grouped" ignore = ["ANN101","B904","N818","RET505"] line-length = 120 per-file-ignores={"tests/*"=["ANN","S101","S105","S106"], "scripts/*"=["INP","S105","S106"]} select = ["ANN","B","BLE","E","ERA","F","I","ICN","INP","ISC","N","PT","PTH","Q","RUF","S","TID","UP","W","YTT"] show-fixes = true show-source = true target-version = "py39"