webchanges 3.35.0__tar.gz → 3.36.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. webchanges-3.36.0/MANIFEST.in +5 -0
  2. {webchanges-3.35.0/webchanges.egg-info → webchanges-3.36.0}/PKG-INFO +3 -2
  3. {webchanges-3.35.0 → webchanges-3.36.0}/README.rst +1 -1
  4. {webchanges-3.35.0 → webchanges-3.36.0}/pyproject.toml +7 -1
  5. {webchanges-3.35.0 → webchanges-3.36.0}/requirements.txt +1 -0
  6. webchanges-3.36.0/setup.py +17 -0
  7. webchanges-3.36.0/tools/get_manpages_parser.py +19 -0
  8. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/__init__.py +1 -1
  9. webchanges-3.36.0/webchanges/_resources/config.schema.json +933 -0
  10. webchanges-3.36.0/webchanges/_resources/jobs.schema.json +1363 -0
  11. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/_vendored/headers.py +1 -1
  12. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/_vendored/packaging_version.py +1 -1
  13. webchanges-3.36.0/webchanges/_vendored/typeguard.py +1441 -0
  14. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/cli.py +59 -2
  15. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/command.py +69 -16
  16. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/config.py +85 -20
  17. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/differs.py +41 -3
  18. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/jobs/_base.py +31 -4
  19. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/jobs/_browser.py +5 -5
  20. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/main.py +8 -3
  21. webchanges-3.36.0/webchanges/py.typed +0 -0
  22. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/storage/_base.py +16 -1
  23. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/storage/_config.py +2 -2
  24. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/storage/_yaml.py +38 -11
  25. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/worker.py +18 -7
  26. {webchanges-3.35.0 → webchanges-3.36.0/webchanges.egg-info}/PKG-INFO +3 -2
  27. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges.egg-info/SOURCES.txt +6 -0
  28. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges.egg-info/requires.txt +1 -0
  29. webchanges-3.35.0/MANIFEST.in +0 -3
  30. {webchanges-3.35.0 → webchanges-3.36.0}/LICENSE.md +0 -0
  31. {webchanges-3.35.0 → webchanges-3.36.0}/setup.cfg +0 -0
  32. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/__main__.py +0 -0
  33. {webchanges-3.35.0/webchanges/_vendored → webchanges-3.36.0/webchanges/_resources}/__init__.py +0 -0
  34. /webchanges-3.35.0/webchanges/py.typed → /webchanges-3.36.0/webchanges/_vendored/__init__.py +0 -0
  35. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/filters/__init__.py +0 -0
  36. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/filters/_base.py +0 -0
  37. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/filters/_document.py +0 -0
  38. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/filters/_encoding.py +0 -0
  39. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/filters/_html.py +0 -0
  40. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/filters/_shell.py +0 -0
  41. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/filters/_text.py +0 -0
  42. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/handler.py +0 -0
  43. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/jobs/__init__.py +0 -0
  44. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/jobs/_exceptions.py +0 -0
  45. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/jobs/_shell.py +0 -0
  46. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/jobs/_url.py +0 -0
  47. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/mailer.py +0 -0
  48. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/reporters/__init__.py +0 -0
  49. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/reporters/_base.py +0 -0
  50. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/reporters/_browser.py +0 -0
  51. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/reporters/_chat.py +0 -0
  52. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/reporters/_email.py +0 -0
  53. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/reporters/_filter.py +0 -0
  54. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/reporters/_stdout.py +0 -0
  55. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/reporters/_system.py +0 -0
  56. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/reporters/_web.py +0 -0
  57. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/storage/__init__.py +0 -0
  58. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/storage/_minidb.py +0 -0
  59. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/storage/_redis.py +0 -0
  60. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/storage/_sqlite3.py +0 -0
  61. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/storage/_ssdb.py +0 -0
  62. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/storage_minidb.py +0 -0
  63. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges/util.py +0 -0
  64. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges.egg-info/dependency_links.txt +0 -0
  65. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges.egg-info/entry_points.txt +0 -0
  66. {webchanges-3.35.0 → webchanges-3.36.0}/webchanges.egg-info/top_level.txt +0 -0
@@ -0,0 +1,5 @@
1
+ # https://packaging.python.org/en/latest/guides/using-manifest-in/
2
+ # do not include test files
3
+ prune tests
4
+ # needed at sdist build time by [tool.build_manpages] in pyproject.toml
5
+ include tools/get_manpages_parser.py
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: webchanges
3
- Version: 3.35.0
3
+ Version: 3.36.0
4
4
  Summary: Web Changes Delivered. AI-Summarized. Totally Anonymous.
5
5
  Author-email: Mike Borsetti <mike+webchanges@borsetti.com>
6
6
  Maintainer-email: Mike Borsetti <mike+webchanges@borsetti.com>
@@ -47,6 +47,7 @@ Requires-Dist: markdown2
47
47
  Requires-Dist: msgpack
48
48
  Requires-Dist: platformdirs
49
49
  Requires-Dist: pyyaml
50
+ Requires-Dist: typing-extensions
50
51
  Requires-Dist: tzdata; sys_platform == "win32"
51
52
  Requires-Dist: zstandard; python_version < "3.14"
52
53
  Provides-Extra: use-browser
@@ -176,7 +177,7 @@ Initialize
176
177
 
177
178
  .. code-block:: bash
178
179
 
179
- webchanges --edit
180
+ webchanges --edit-jobs
180
181
 
181
182
  #. Run the following command to change the default `configuration
182
183
  <https://webchanges.readthedocs.io/en/stable/configuration.html>`__, e.g. to receive change notifications
@@ -73,7 +73,7 @@ Initialize
73
73
 
74
74
  .. code-block:: bash
75
75
 
76
- webchanges --edit
76
+ webchanges --edit-jobs
77
77
 
78
78
  #. Run the following command to change the default `configuration
79
79
  <https://webchanges.readthedocs.io/en/stable/configuration.html>`__, e.g. to receive change notifications
@@ -104,6 +104,7 @@ all = [
104
104
  # https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
105
105
  packages = [
106
106
  'webchanges',
107
+ 'webchanges._resources',
107
108
  'webchanges._vendored',
108
109
  'webchanges.filters',
109
110
  'webchanges.jobs',
@@ -117,11 +118,16 @@ dependencies = { file = 'requirements.txt' }
117
118
 
118
119
  [tool.setuptools.package-data]
119
120
  'webchanges' = ['py.typed']
121
+ 'webchanges._resources' = ['*.schema.json', '*.schema.sha256']
120
122
 
121
123
  # -------------------------- manpages --------------------------
122
124
  # https://github.com/praiskup/argparse-manpage/blob/main/README.md
125
+ # The build hook is wired in setup.py; [tool.setuptools.data-files] below installs the result.
123
126
  [tool.build_manpages]
124
- manpages = ['man/webchanges.1:function=get_parser:pyfile=get_parser']
127
+ manpages = ['man/webchanges.1:function=get_manpages_parser:pyfile=tools/get_manpages_parser.py']
128
+
129
+ [tool.setuptools.data-files]
130
+ 'share/man/man1' = ['man/webchanges.1']
125
131
 
126
132
  # -------------------------- coverage --------------------------
127
133
  [tool.coverage.run]
@@ -8,5 +8,6 @@ markdown2
8
8
  msgpack
9
9
  platformdirs
10
10
  pyyaml
11
+ typing-extensions
11
12
  tzdata; sys_platform == 'win32'
12
13
  zstandard; python_version < '3.14'
@@ -0,0 +1,17 @@
1
+ # Shim required to wire argparse-manpage's build_manpages cmdclass into setuptools.
2
+ # All other configuration lives in pyproject.toml.
3
+ # See https://github.com/praiskup/argparse-manpage/blob/main/README.md
4
+ from __future__ import annotations
5
+
6
+ from build_manpages import build_manpages, get_build_py_cmd, get_install_cmd
7
+ from setuptools import setup
8
+ from setuptools.command.build_py import build_py
9
+ from setuptools.command.install import install
10
+
11
+ setup(
12
+ cmdclass={
13
+ 'build_manpages': build_manpages,
14
+ 'build_py': get_build_py_cmd(build_py),
15
+ 'install': get_install_cmd(install),
16
+ },
17
+ )
@@ -0,0 +1,19 @@
1
+ # pragma: exclude file
2
+
3
+ import sys
4
+ from argparse import ArgumentParser
5
+ from pathlib import Path
6
+
7
+ sys.path.insert(0, str(Path.cwd()))
8
+
9
+ from webchanges.config import CommandConfig
10
+
11
+
12
+ def get_manpages_parser() -> ArgumentParser:
13
+ """Returns the parser to be used by argparse-manpage.
14
+
15
+ https://github.com/praiskup/argparse-manpage/blob/main/README.md
16
+ """
17
+
18
+ null_path = Path()
19
+ return CommandConfig([], null_path, null_path, null_path, null_path, null_path).parse_args([])
@@ -22,7 +22,7 @@ __project_name__ = str(__package__)
22
22
  # * MINOR version when you add functionality in a backwards compatible manner, and
23
23
  # * MICRO or PATCH version when you make backwards compatible bug fixes. We no longer use '0'
24
24
  # If unsure on increments, use pkg_resources.parse_version to parse
25
- __version__ = '3.35.0'
25
+ __version__ = '3.36.0'
26
26
  __description__ = (
27
27
  'Check web (or command output) for changes since last run and notify.\n\nAnonymously alerts you of web changes.'
28
28
  )