diff --git a/pyproject.toml b/pyproject.toml index a853c57..7d5df92 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,112 @@ [build-system] -requires = ["setuptools>=56", "setuptools_scm[toml]>=3.4.1"] +requires = ["setuptools>=61.2", "setuptools_scm[toml]>=3.4.1"] build-backend = "setuptools.build_meta" +[project] +name = "jaraco.net" +authors = [ + { name = "Jason R. Coombs", email = "jaraco@jaraco.com" }, +] +description = "Networking tools by jaraco" +readme = "README.rst" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only", +] +requires-python = ">=3.8" +dependencies = [ + "more_itertools", + "BeautifulSoup4", + "mechanize", + "keyring>=0.6", + "requests", + "feedparser", + "jaraco.text", + "jaraco.logging", + "jaraco.email", + "jaraco.functools", + "jaraco.collections", + "path >= 16.6", + "python-dateutil", + "pathvalidate", + "pywin32; sys_platform == 'win32' and python_version < \"3.12\"", + "ifconfig-parser; sys_platform == 'darwin'", + "jsonpickle != 3.0.0", + "icmplib", + "autocommand", +] +dynamic = ["version"] + +[project.optional-dependencies] +testing = [ + # upstream + "pytest >= 6", + "pytest-checkdocs >= 2.4", + "pytest-cov", + 'pytest-mypy; python_implementation != "PyPy"', # workaround for jaraco/skeleton#22 + "pytest-enabler >= 2.2", + "pytest-ruff >= 0.2.1", + + # local + "cherrypy", + "jaraco.fabric", + "fabric", + "types-python-dateutil", + "types-requests", + "importlib_resources", + "requests-mock", + "pyparsing", +] +docs = [ + # upstream + "sphinx >= 3.5", + "jaraco.packaging >= 9.3", + "rst.linker >= 1.9", + "furo", + "sphinx-lint", + + # local +] +stats-server = [ + "cherrypy", + "svg.charts", +] + +[project.urls] +Homepage = "https://github.com/jaraco/jaraco.net" + +[project.scripts] +whois-bridge = "jaraco.net.whois:serve" +scanner = "jaraco.net.scanner:scan" +fake-http = "jaraco.net.http.servers:Simple.start" +fake-http-auth = "jaraco.net.http.servers:AuthRequest.start" +serve-local = "jaraco.net.http.static:serve_local" +fake-smtp = "jaraco.net.smtp:start_simple_server" +udp-send = "jaraco.net.udp:Sender" +udp-echo = "jaraco.net.udp:EchoServer" +dns-forward-service = "jaraco.net.dns:ForwardingService.handle_command_line" +dnsbl-check = "jaraco.net.dnsbl:Service.handle_command_line" +ntp = "jaraco.net.ntp:handle_command_line" +remove-known-spammers = "jaraco.net.email:remove_known_spammers" +tcp-test-connect = "jaraco.net.tcp:test_connect" +tcp-echo-server = "jaraco.net.tcp:start_echo_server" +http-headers = "jaraco.net.http:headers" +build-dir-index = "jaraco.net.site:make_index_cmd" +content-type-reporter = "jaraco.net.http.content:ContentTypeReporter.run" +web-tail = "jaraco.net.tail:handle_command_line" +rss-launch = "jaraco.net.rss:launch_feed_enclosure" +rss-download = "jaraco.net.rss:download_enclosures" +whois-bridge-service = "jaraco.net.whois_svc:Service.handle_command_line" +# wget = jaraco.net.http:wget + +[tool.setuptools.packages.find] +exclude = [ + "sandbox", + "pinger", + "ubuntu", +] + [tool.setuptools_scm] diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index 1bda697..0000000 --- a/setup.cfg +++ /dev/null @@ -1,104 +0,0 @@ -[metadata] -name = jaraco.net -author = Jason R. Coombs -author_email = jaraco@jaraco.com -description = Networking tools by jaraco -long_description = file:README.rst -url = https://github.com/jaraco/jaraco.net -classifiers = - Development Status :: 5 - Production/Stable - Intended Audience :: Developers - License :: OSI Approved :: MIT License - Programming Language :: Python :: 3 - Programming Language :: Python :: 3 :: Only - -[options] -include_package_data = true -python_requires = >=3.8 -install_requires = - more_itertools - BeautifulSoup4 - mechanize - keyring>=0.6 - requests - feedparser - jaraco.text - jaraco.logging - jaraco.email - jaraco.functools - jaraco.collections - path >= 16.6 - python-dateutil - pathvalidate - pywin32; sys_platform == 'win32' and python_version < "3.12" - ifconfig-parser; sys_platform == 'darwin' - jsonpickle != 3.0.0 - icmplib - autocommand - -[options.packages.find] -exclude = - sandbox - pinger - ubuntu - -[options.extras_require] -testing = - # upstream - pytest >= 6 - pytest-checkdocs >= 2.4 - pytest-cov - pytest-mypy; \ - # workaround for jaraco/skeleton#22 - python_implementation != "PyPy" - pytest-enabler >= 2.2 - pytest-ruff >= 0.2.1 - - # local - cherrypy - jaraco.fabric - fabric - types-python-dateutil - types-requests - importlib_resources - requests-mock - pyparsing - -docs = - # upstream - sphinx >= 3.5 - jaraco.packaging >= 9.3 - rst.linker >= 1.9 - furo - sphinx-lint - - # local - -stats-server = - cherrypy - svg.charts - -[options.entry_points] -console_scripts = - whois-bridge = jaraco.net.whois:serve - scanner = jaraco.net.scanner:scan - fake-http = jaraco.net.http.servers:Simple.start - fake-http-auth = jaraco.net.http.servers:AuthRequest.start - serve-local = jaraco.net.http.static:serve_local - fake-smtp = jaraco.net.smtp:start_simple_server - udp-send = jaraco.net.udp:Sender - udp-echo = jaraco.net.udp:EchoServer - dns-forward-service = jaraco.net.dns:ForwardingService.handle_command_line - dnsbl-check = jaraco.net.dnsbl:Service.handle_command_line - ntp = jaraco.net.ntp:handle_command_line - remove-known-spammers = jaraco.net.email:remove_known_spammers - tcp-test-connect = jaraco.net.tcp:test_connect - tcp-echo-server = jaraco.net.tcp:start_echo_server - http-headers = jaraco.net.http:headers - build-dir-index = jaraco.net.site:make_index_cmd - content-type-reporter = jaraco.net.http.content:ContentTypeReporter.run - web-tail = jaraco.net.tail:handle_command_line - rss-launch = jaraco.net.rss:launch_feed_enclosure - rss-download = jaraco.net.rss:download_enclosures - whois-bridge-service = jaraco.net.whois_svc:Service.handle_command_line - # wget = jaraco.net.http:wget