plain.dev 0.19.3__tar.gz → 0.20.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 (70) hide show
  1. plain_dev-0.20.0/.pytype/.gitignore +2 -0
  2. plain_dev-0.20.0/.pytype/.ninja_log +2 -0
  3. plain_dev-0.20.0/.pytype/build.ninja +84 -0
  4. plain_dev-0.20.0/.pytype/imports/default.pyi +3 -0
  5. plain_dev-0.20.0/.pytype/imports/dev.__init__.imports +27 -0
  6. plain_dev-0.20.0/.pytype/imports/dev.cli.imports +16 -0
  7. plain_dev-0.20.0/.pytype/imports/dev.contribute.__init__.imports +2 -0
  8. plain_dev-0.20.0/.pytype/imports/dev.contribute.cli.imports +1 -0
  9. plain_dev-0.20.0/.pytype/imports/dev.db.__init__.imports +12 -0
  10. plain_dev-0.20.0/.pytype/imports/dev.db.cli.imports +11 -0
  11. plain_dev-0.20.0/.pytype/imports/dev.db.container.imports +1 -0
  12. plain_dev-0.20.0/.pytype/imports/dev.debug.imports +1 -0
  13. plain_dev-0.20.0/.pytype/imports/dev.default_settings.imports +0 -0
  14. plain_dev-0.20.0/.pytype/imports/dev.entrypoints.imports +3 -0
  15. plain_dev-0.20.0/.pytype/imports/dev.mkcert.imports +1 -0
  16. plain_dev-0.20.0/.pytype/imports/dev.pdb.imports +0 -0
  17. plain_dev-0.20.0/.pytype/imports/dev.pid.imports +1 -0
  18. plain_dev-0.20.0/.pytype/imports/dev.poncho.__init__.imports +0 -0
  19. plain_dev-0.20.0/.pytype/imports/dev.poncho.color.imports +0 -0
  20. plain_dev-0.20.0/.pytype/imports/dev.poncho.compat.imports +0 -0
  21. plain_dev-0.20.0/.pytype/imports/dev.poncho.manager.imports +4 -0
  22. plain_dev-0.20.0/.pytype/imports/dev.poncho.printer.imports +0 -0
  23. plain_dev-0.20.0/.pytype/imports/dev.poncho.process.imports +2 -0
  24. plain_dev-0.20.0/.pytype/imports/dev.precommit.__init__.imports +12 -0
  25. plain_dev-0.20.0/.pytype/imports/dev.precommit.cli.imports +11 -0
  26. plain_dev-0.20.0/.pytype/imports/dev.requests.imports +10 -0
  27. plain_dev-0.20.0/.pytype/imports/dev.services.imports +9 -0
  28. plain_dev-0.20.0/.pytype/imports/dev.urls.imports +15 -0
  29. plain_dev-0.20.0/.pytype/imports/dev.utils.imports +0 -0
  30. plain_dev-0.20.0/.pytype/imports/dev.views.imports +13 -0
  31. plain_dev-0.20.0/.pytype/pyi/dev/poncho/compat.pyi +13 -0
  32. plain_dev-0.20.0/.pytype/pyi/dev/poncho/printer.pyi +23 -0
  33. {plain_dev-0.19.3 → plain_dev-0.20.0}/PKG-INFO +2 -1
  34. {plain_dev-0.19.3 → plain_dev-0.20.0}/plain/dev/cli.py +3 -5
  35. {plain_dev-0.19.3 → plain_dev-0.20.0}/plain/dev/requests.py +1 -1
  36. plain_dev-0.20.0/plain/dev/urls.py +11 -0
  37. {plain_dev-0.19.3 → plain_dev-0.20.0}/pyproject.toml +2 -1
  38. plain_dev-0.19.3/plain/dev/db/cli.py +0 -113
  39. plain_dev-0.19.3/plain/dev/db/container.py +0 -151
  40. plain_dev-0.19.3/plain/dev/precommit/__init__.py +0 -3
  41. plain_dev-0.19.3/plain/dev/urls.py +0 -9
  42. plain_dev-0.19.3/uv.lock +0 -360
  43. {plain_dev-0.19.3 → plain_dev-0.20.0}/.gitignore +0 -0
  44. {plain_dev-0.19.3 → plain_dev-0.20.0}/LICENSE +0 -0
  45. {plain_dev-0.19.3 → plain_dev-0.20.0}/README.md +0 -0
  46. {plain_dev-0.19.3 → plain_dev-0.20.0}/plain/dev/README.md +0 -0
  47. {plain_dev-0.19.3 → plain_dev-0.20.0}/plain/dev/__init__.py +0 -0
  48. {plain_dev-0.19.3 → plain_dev-0.20.0}/plain/dev/contribute/README.md +0 -0
  49. {plain_dev-0.19.3 → plain_dev-0.20.0}/plain/dev/contribute/__init__.py +0 -0
  50. {plain_dev-0.19.3 → plain_dev-0.20.0}/plain/dev/contribute/cli.py +0 -0
  51. {plain_dev-0.19.3 → plain_dev-0.20.0}/plain/dev/debug.py +0 -0
  52. {plain_dev-0.19.3 → plain_dev-0.20.0}/plain/dev/default_settings.py +0 -0
  53. {plain_dev-0.19.3 → plain_dev-0.20.0}/plain/dev/entrypoints.py +0 -0
  54. {plain_dev-0.19.3 → plain_dev-0.20.0}/plain/dev/gunicorn_logging.json +0 -0
  55. {plain_dev-0.19.3 → plain_dev-0.20.0}/plain/dev/mkcert.py +0 -0
  56. {plain_dev-0.19.3 → plain_dev-0.20.0}/plain/dev/pdb.py +0 -0
  57. {plain_dev-0.19.3 → plain_dev-0.20.0}/plain/dev/pid.py +0 -0
  58. {plain_dev-0.19.3 → plain_dev-0.20.0}/plain/dev/poncho/__init__.py +0 -0
  59. {plain_dev-0.19.3 → plain_dev-0.20.0}/plain/dev/poncho/color.py +0 -0
  60. {plain_dev-0.19.3 → plain_dev-0.20.0}/plain/dev/poncho/compat.py +0 -0
  61. {plain_dev-0.19.3 → plain_dev-0.20.0}/plain/dev/poncho/manager.py +0 -0
  62. {plain_dev-0.19.3 → plain_dev-0.20.0}/plain/dev/poncho/printer.py +0 -0
  63. {plain_dev-0.19.3 → plain_dev-0.20.0}/plain/dev/poncho/process.py +0 -0
  64. {plain_dev-0.19.3/plain/dev/db → plain_dev-0.20.0/plain/dev/precommit}/__init__.py +0 -0
  65. {plain_dev-0.19.3 → plain_dev-0.20.0}/plain/dev/precommit/cli.py +0 -0
  66. {plain_dev-0.19.3 → plain_dev-0.20.0}/plain/dev/services.py +0 -0
  67. {plain_dev-0.19.3 → plain_dev-0.20.0}/plain/dev/templates/dev/requests.html +0 -0
  68. {plain_dev-0.19.3 → plain_dev-0.20.0}/plain/dev/utils.py +0 -0
  69. {plain_dev-0.19.3 → plain_dev-0.20.0}/plain/dev/views.py +0 -0
  70. {plain_dev-0.19.3 → plain_dev-0.20.0}/tests/settings.py +0 -0
@@ -0,0 +1,2 @@
1
+ # Automatically created by pytype
2
+ *
@@ -0,0 +1,2 @@
1
+ # ninja log v5
2
+ 1 649 1737048697347111912 /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/printer.pyi 46eb9fc262e11f40
@@ -0,0 +1,84 @@
1
+ rule infer
2
+ command = /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.venv/bin/python3 -m pytype.main --imports_info $imports --module-name $module --platform darwin -V 3.12 -o $out --no-report-errors --nofail --quick $in
3
+ description = infer $module
4
+ rule check
5
+ command = /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.venv/bin/python3 -m pytype.main --imports_info $imports --module-name $module --platform darwin -V 3.12 -o $out --analyze-annotated --nofail --quick $in
6
+ description = check $module
7
+ build /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/printer.pyi: check /Users/davegaeddert/Developer/dropseed/plain/plain-dev/plain/dev/poncho/printer.py
8
+ imports = /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/dev.poncho.printer.imports
9
+ module = dev.poncho.printer
10
+ build /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/compat.pyi: check /Users/davegaeddert/Developer/dropseed/plain/plain-dev/plain/dev/poncho/compat.py
11
+ imports = /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/dev.poncho.compat.imports
12
+ module = dev.poncho.compat
13
+ build /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/process.pyi: check /Users/davegaeddert/Developer/dropseed/plain/plain-dev/plain/dev/poncho/process.py | /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/compat.pyi /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/printer.pyi
14
+ imports = /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/dev.poncho.process.imports
15
+ module = dev.poncho.process
16
+ build /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/color.pyi: check /Users/davegaeddert/Developer/dropseed/plain/plain-dev/plain/dev/poncho/color.py
17
+ imports = /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/dev.poncho.color.imports
18
+ module = dev.poncho.color
19
+ build /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/utils.pyi: check /Users/davegaeddert/Developer/dropseed/plain/plain-dev/plain/dev/utils.py
20
+ imports = /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/dev.utils.imports
21
+ module = dev.utils
22
+ build /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/manager.pyi: check /Users/davegaeddert/Developer/dropseed/plain/plain-dev/plain/dev/poncho/manager.py | /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/color.pyi /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/compat.pyi /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/printer.pyi /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/process.pyi
23
+ imports = /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/dev.poncho.manager.imports
24
+ module = dev.poncho.manager
25
+ build /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/pid.pyi: check /Users/davegaeddert/Developer/dropseed/plain/plain-dev/plain/dev/pid.py
26
+ imports = /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/dev.pid.imports
27
+ module = dev.pid
28
+ build /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/db/container.pyi: check /Users/davegaeddert/Developer/dropseed/plain/plain-dev/plain/dev/db/container.py
29
+ imports = /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/dev.db.container.imports
30
+ module = dev.db.container
31
+ build /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/services.pyi: check /Users/davegaeddert/Developer/dropseed/plain/plain-dev/plain/dev/services.py | /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/pid.pyi /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/manager.pyi /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/utils.pyi
32
+ imports = /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/dev.services.imports
33
+ module = dev.services
34
+ build /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/mkcert.pyi: check /Users/davegaeddert/Developer/dropseed/plain/plain-dev/plain/dev/mkcert.py
35
+ imports = /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/dev.mkcert.imports
36
+ module = dev.mkcert
37
+ build /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/db/cli.pyi: check /Users/davegaeddert/Developer/dropseed/plain/plain-dev/plain/dev/db/cli.py | /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/services.pyi /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/db/container.pyi
38
+ imports = /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/dev.db.cli.imports
39
+ module = dev.db.cli
40
+ build /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/requests.pyi: check /Users/davegaeddert/Developer/dropseed/plain/plain-dev/plain/dev/requests.py
41
+ imports = /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/dev.requests.imports
42
+ module = dev.requests
43
+ build /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/pdb.pyi: check /Users/davegaeddert/Developer/dropseed/plain/plain-dev/plain/dev/pdb.py
44
+ imports = /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/dev.pdb.imports
45
+ module = dev.pdb
46
+ build /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/cli.pyi: check /Users/davegaeddert/Developer/dropseed/plain/plain-dev/plain/dev/cli.py | /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/db/cli.pyi /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/mkcert.pyi /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/pid.pyi /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/manager.pyi /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/printer.pyi /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/services.pyi /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/utils.pyi
47
+ imports = /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/dev.cli.imports
48
+ module = dev.cli
49
+ build /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/precommit/cli.pyi: check /Users/davegaeddert/Developer/dropseed/plain/plain-dev/plain/dev/precommit/cli.py | /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/services.pyi
50
+ imports = /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/dev.precommit.cli.imports
51
+ module = dev.precommit.cli
52
+ build /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/views.pyi: check /Users/davegaeddert/Developer/dropseed/plain/plain-dev/plain/dev/views.py | /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/requests.pyi
53
+ imports = /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/dev.views.imports
54
+ module = dev.views
55
+ build /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/contribute/cli.pyi: check /Users/davegaeddert/Developer/dropseed/plain/plain-dev/plain/dev/contribute/cli.py
56
+ imports = /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/dev.contribute.cli.imports
57
+ module = dev.contribute.cli
58
+ build /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/debug.pyi: check /Users/davegaeddert/Developer/dropseed/plain/plain-dev/plain/dev/debug.py | /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/pdb.pyi
59
+ imports = /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/dev.debug.imports
60
+ module = dev.debug
61
+ build /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/db/__init__.pyi: check /Users/davegaeddert/Developer/dropseed/plain/plain-dev/plain/dev/db/__init__.py | /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/db/cli.pyi
62
+ imports = /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/dev.db.__init__.imports
63
+ module = dev.db.__init__
64
+ build /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/__init__.pyi: check /Users/davegaeddert/Developer/dropseed/plain/plain-dev/plain/dev/__init__.py | /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/cli.pyi /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/requests.pyi
65
+ imports = /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/dev.__init__.imports
66
+ module = dev.__init__
67
+ build /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/precommit/__init__.pyi: check /Users/davegaeddert/Developer/dropseed/plain/plain-dev/plain/dev/precommit/__init__.py | /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/precommit/cli.pyi
68
+ imports = /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/dev.precommit.__init__.imports
69
+ module = dev.precommit.__init__
70
+ build /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/__init__.pyi: check /Users/davegaeddert/Developer/dropseed/plain/plain-dev/plain/dev/poncho/__init__.py
71
+ imports = /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/dev.poncho.__init__.imports
72
+ module = dev.poncho.__init__
73
+ build /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/urls.pyi: check /Users/davegaeddert/Developer/dropseed/plain/plain-dev/plain/dev/urls.py | /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/views.pyi
74
+ imports = /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/dev.urls.imports
75
+ module = dev.urls
76
+ build /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/contribute/__init__.pyi: check /Users/davegaeddert/Developer/dropseed/plain/plain-dev/plain/dev/contribute/__init__.py | /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/contribute/cli.pyi
77
+ imports = /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/dev.contribute.__init__.imports
78
+ module = dev.contribute.__init__
79
+ build /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/default_settings.pyi: check /Users/davegaeddert/Developer/dropseed/plain/plain-dev/plain/dev/default_settings.py
80
+ imports = /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/dev.default_settings.imports
81
+ module = dev.default_settings
82
+ build /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/entrypoints.pyi: check /Users/davegaeddert/Developer/dropseed/plain/plain-dev/plain/dev/entrypoints.py | /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/debug.pyi
83
+ imports = /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/dev.entrypoints.imports
84
+ module = dev.entrypoints
@@ -0,0 +1,3 @@
1
+
2
+ from typing import Any
3
+ def __getattr__(name) -> Any: ...
@@ -0,0 +1,27 @@
1
+ click/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
2
+ rich/columns /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
3
+ rich/console /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
4
+ rich/text /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
5
+ plain/runtime/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
6
+ dev/pid /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/pid.pyi
7
+ dev/poncho/color /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/color.pyi
8
+ dev/poncho/compat /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/compat.pyi
9
+ dev/poncho/printer /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/printer.pyi
10
+ dev/poncho/process /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/process.pyi
11
+ dev/poncho/manager /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/manager.pyi
12
+ dev/utils /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/utils.pyi
13
+ dev/services /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/services.pyi
14
+ dev/db/container /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/db/container.pyi
15
+ dev/db/cli /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/db/cli.pyi
16
+ dev/mkcert /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/mkcert.pyi
17
+ dev/cli /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/cli.pyi
18
+ plain/signals/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
19
+ urllib3/exceptions /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
20
+ urllib3/fields /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
21
+ urllib3/filepost /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
22
+ urllib3/util/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
23
+ urllib3/_collections /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
24
+ urllib3/contrib/socks /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
25
+ urllib3/poolmanager /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
26
+ urllib3/util/retry /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
27
+ dev/requests /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/requests.pyi
@@ -0,0 +1,16 @@
1
+ click/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
2
+ rich/columns /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
3
+ rich/console /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
4
+ rich/text /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
5
+ plain/runtime/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
6
+ dev/pid /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/pid.pyi
7
+ dev/poncho/color /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/color.pyi
8
+ dev/poncho/compat /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/compat.pyi
9
+ dev/poncho/printer /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/printer.pyi
10
+ dev/poncho/process /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/process.pyi
11
+ dev/poncho/manager /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/manager.pyi
12
+ dev/utils /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/utils.pyi
13
+ dev/services /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/services.pyi
14
+ dev/db/container /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/db/container.pyi
15
+ dev/db/cli /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/db/cli.pyi
16
+ dev/mkcert /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/mkcert.pyi
@@ -0,0 +1,2 @@
1
+ click/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
2
+ dev/contribute/cli /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/contribute/cli.pyi
@@ -0,0 +1 @@
1
+ click/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
@@ -0,0 +1,12 @@
1
+ click/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
2
+ plain/runtime/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
3
+ dev/pid /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/pid.pyi
4
+ dev/poncho/color /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/color.pyi
5
+ dev/poncho/compat /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/compat.pyi
6
+ dev/poncho/printer /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/printer.pyi
7
+ dev/poncho/process /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/process.pyi
8
+ dev/poncho/manager /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/manager.pyi
9
+ dev/utils /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/utils.pyi
10
+ dev/services /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/services.pyi
11
+ dev/db/container /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/db/container.pyi
12
+ dev/db/cli /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/db/cli.pyi
@@ -0,0 +1,11 @@
1
+ click/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
2
+ plain/runtime/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
3
+ dev/pid /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/pid.pyi
4
+ dev/poncho/color /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/color.pyi
5
+ dev/poncho/compat /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/compat.pyi
6
+ dev/poncho/printer /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/printer.pyi
7
+ dev/poncho/process /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/process.pyi
8
+ dev/poncho/manager /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/manager.pyi
9
+ dev/utils /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/utils.pyi
10
+ dev/services /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/services.pyi
11
+ dev/db/container /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/db/container.pyi
@@ -0,0 +1 @@
1
+ plain/runtime/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
@@ -0,0 +1 @@
1
+ dev/pdb /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/pdb.pyi
@@ -0,0 +1,3 @@
1
+ dotenv/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
2
+ dev/pdb /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/pdb.pyi
3
+ dev/debug /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/debug.pyi
@@ -0,0 +1 @@
1
+ click/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
File without changes
@@ -0,0 +1 @@
1
+ plain/runtime/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
@@ -0,0 +1,4 @@
1
+ dev/poncho/color /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/color.pyi
2
+ dev/poncho/compat /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/compat.pyi
3
+ dev/poncho/printer /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/printer.pyi
4
+ dev/poncho/process /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/process.pyi
@@ -0,0 +1,2 @@
1
+ dev/poncho/compat /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/compat.pyi
2
+ dev/poncho/printer /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/printer.pyi
@@ -0,0 +1,12 @@
1
+ click/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
2
+ plain/cli/print /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
3
+ plain/runtime/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
4
+ dev/pid /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/pid.pyi
5
+ dev/poncho/color /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/color.pyi
6
+ dev/poncho/compat /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/compat.pyi
7
+ dev/poncho/printer /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/printer.pyi
8
+ dev/poncho/process /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/process.pyi
9
+ dev/poncho/manager /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/manager.pyi
10
+ dev/utils /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/utils.pyi
11
+ dev/services /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/services.pyi
12
+ dev/precommit/cli /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/precommit/cli.pyi
@@ -0,0 +1,11 @@
1
+ click/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
2
+ plain/cli/print /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
3
+ plain/runtime/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
4
+ dev/pid /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/pid.pyi
5
+ dev/poncho/color /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/color.pyi
6
+ dev/poncho/compat /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/compat.pyi
7
+ dev/poncho/printer /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/printer.pyi
8
+ dev/poncho/process /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/process.pyi
9
+ dev/poncho/manager /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/manager.pyi
10
+ dev/utils /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/utils.pyi
11
+ dev/services /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/services.pyi
@@ -0,0 +1,10 @@
1
+ plain/runtime/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
2
+ plain/signals/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
3
+ urllib3/exceptions /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
4
+ urllib3/fields /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
5
+ urllib3/filepost /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
6
+ urllib3/util/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
7
+ urllib3/_collections /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
8
+ urllib3/contrib/socks /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
9
+ urllib3/poolmanager /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
10
+ urllib3/util/retry /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
@@ -0,0 +1,9 @@
1
+ click/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
2
+ plain/runtime/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
3
+ dev/pid /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/pid.pyi
4
+ dev/poncho/color /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/color.pyi
5
+ dev/poncho/compat /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/compat.pyi
6
+ dev/poncho/printer /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/printer.pyi
7
+ dev/poncho/process /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/process.pyi
8
+ dev/poncho/manager /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/poncho/manager.pyi
9
+ dev/utils /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/utils.pyi
@@ -0,0 +1,15 @@
1
+ plain/urls/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
2
+ plain/http/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
3
+ plain/views/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
4
+ plain/runtime/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
5
+ plain/signals/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
6
+ urllib3/exceptions /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
7
+ urllib3/fields /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
8
+ urllib3/filepost /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
9
+ urllib3/util/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
10
+ urllib3/_collections /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
11
+ urllib3/contrib/socks /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
12
+ urllib3/poolmanager /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
13
+ urllib3/util/retry /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
14
+ dev/requests /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/requests.pyi
15
+ dev/views /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/views.pyi
File without changes
@@ -0,0 +1,13 @@
1
+ plain/http/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
2
+ plain/views/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
3
+ plain/runtime/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
4
+ plain/signals/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
5
+ urllib3/exceptions /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
6
+ urllib3/fields /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
7
+ urllib3/filepost /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
8
+ urllib3/util/__init__ /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
9
+ urllib3/_collections /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
10
+ urllib3/contrib/socks /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
11
+ urllib3/poolmanager /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
12
+ urllib3/util/retry /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/imports/default.pyi
13
+ dev/requests /Users/davegaeddert/Developer/dropseed/plain/plain-dev/.pytype/pyi/dev/requests.pyi
@@ -0,0 +1,13 @@
1
+ # (generated with --quick)
2
+
3
+ import ctypes
4
+ import errno
5
+ import os
6
+ import signal
7
+ import sys
8
+
9
+ ON_WINDOWS: bool
10
+
11
+ class ProcessManager:
12
+ def kill(self, pid) -> None: ...
13
+ def terminate(self, pid) -> None: ...
@@ -0,0 +1,23 @@
1
+ # (generated with --quick)
2
+
3
+ from typing import Any, Iterable, NamedTuple, Union
4
+
5
+ class Message(NamedTuple):
6
+ type: Any
7
+ data: Any
8
+ time: Any
9
+ name: Any
10
+ color: Any
11
+
12
+ class Printer:
13
+ __doc__: str
14
+ color: Any
15
+ prefix: Any
16
+ time_format: Any
17
+ width: Any
18
+ def __init__(self, print_func, time_format = ..., width = ..., color = ..., prefix = ...) -> None: ...
19
+ def print_func(self, _1: str) -> Any: ...
20
+ def write(self, message) -> None: ...
21
+
22
+ def _color_string(color, s) -> str: ...
23
+ def namedtuple(typename: str, field_names: Union[str, Iterable[str]], *, rename: bool = ..., defaults: list = ..., module = ...) -> type: ...
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: plain.dev
3
- Version: 0.19.3
3
+ Version: 0.20.0
4
4
  Summary: Local development tools for Plain.
5
5
  Author-email: Dave Gaeddert <dave.gaeddert@dropseed.dev>
6
6
  License-Expression: BSD-3-Clause
@@ -8,6 +8,7 @@ License-File: LICENSE
8
8
  Requires-Python: >=3.11
9
9
  Requires-Dist: click>=8.0.0
10
10
  Requires-Dist: gunicorn>20
11
+ Requires-Dist: inotify
11
12
  Requires-Dist: plain<1.0.0
12
13
  Requires-Dist: psycopg[binary]~=3.2.2
13
14
  Requires-Dist: python-dotenv~=1.0.0
@@ -17,7 +17,6 @@ from rich.text import Text
17
17
 
18
18
  from plain.runtime import APP_PATH, settings
19
19
 
20
- from .db import cli as db_cli
21
20
  from .mkcert import MkcertManager
22
21
  from .pid import Pid
23
22
  from .poncho.manager import Manager as PonchoManager
@@ -342,7 +341,9 @@ class Dev:
342
341
  gunicorn = " ".join(gunicorn_cmd)
343
342
 
344
343
  if plain_db_installed:
345
- runserver_cmd = f"plain models db-wait && plain migrate && {gunicorn}"
344
+ runserver_cmd = (
345
+ f"plain models db-wait && plain migrate --backup && {gunicorn}"
346
+ )
346
347
  else:
347
348
  runserver_cmd = gunicorn
348
349
 
@@ -388,6 +389,3 @@ class Dev:
388
389
  **data.get("env", {}),
389
390
  }
390
391
  self.poncho.add_process(name, data["cmd"], env=env)
391
-
392
-
393
- cli.add_command(db_cli)
@@ -184,7 +184,7 @@ def should_capture_request(request):
184
184
  if not settings.DEBUG:
185
185
  return False
186
186
 
187
- if request.resolver_match and request.resolver_match.default_namespace == "dev":
187
+ if request.resolver_match and request.resolver_match.namespace == "dev":
188
188
  return False
189
189
 
190
190
  if request.path in settings.DEV_REQUESTS_IGNORE_PATHS:
@@ -0,0 +1,11 @@
1
+ from plain.urls import RouterBase, path, register_router
2
+
3
+ from . import views
4
+
5
+
6
+ @register_router
7
+ class Router(RouterBase):
8
+ namespace = "dev"
9
+ urls = [
10
+ path("", views.RequestsView, name="requests"),
11
+ ]
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "plain.dev"
3
- version = "0.19.3"
3
+ version = "0.20.0"
4
4
  description = "Local development tools for Plain."
5
5
  authors = [{name = "Dave Gaeddert", email = "dave.gaeddert@dropseed.dev"}]
6
6
  license = "BSD-3-Clause"
@@ -14,6 +14,7 @@ dependencies = [
14
14
  "requests>=2.0.0",
15
15
  "psycopg[binary]~=3.2.2",
16
16
  "rich",
17
+ "inotify",
17
18
  ]
18
19
 
19
20
  # Make this available as a standalone command
@@ -1,113 +0,0 @@
1
- import os
2
- import sys
3
-
4
- import click
5
-
6
- from ..services import Services
7
- from .container import DBContainer
8
-
9
-
10
- @click.group("db")
11
- def cli():
12
- """Start, stop, and manage the local Postgres database"""
13
- pass
14
-
15
-
16
- # @cli.command()
17
- # def reset():
18
- # DBContainer().reset(create=True)
19
- # click.secho("Local development database reset", fg="green")
20
-
21
-
22
- @cli.command()
23
- @click.argument("export_path", default="")
24
- def export(export_path):
25
- """Export the local database to a file"""
26
- if not export_path:
27
- current_dir_name = os.path.basename(os.getcwd())
28
- export_path = f"{current_dir_name}-dev-db.sql"
29
- with Services():
30
- export_successful = DBContainer().export(export_path)
31
-
32
- if export_successful:
33
- click.secho(f"Local development database exported to {export_path}", fg="green")
34
- else:
35
- click.secho("Export failed", fg="red")
36
- sys.exit(1)
37
-
38
-
39
- @cli.command("import")
40
- @click.argument("sql_file")
41
- def import_db(sql_file):
42
- """Import a database file into the local database"""
43
-
44
- print(f"Importing {sql_file} ({os.path.getsize(sql_file) / 1024 / 1024:.2f} MB)")
45
-
46
- with Services():
47
- successful = DBContainer().import_sql(sql_file)
48
-
49
- if successful:
50
- click.secho(f"Local development database imported from {sql_file}", fg="green")
51
- else:
52
- click.secho("Import failed", fg="red")
53
- sys.exit(1)
54
-
55
-
56
- @cli.group()
57
- def snapshot():
58
- """Manage local database snapshots"""
59
- pass
60
-
61
-
62
- @snapshot.command("create")
63
- @click.argument("name")
64
- @click.pass_context
65
- def snapshot_create(ctx, name):
66
- """Create a snapshot of the main database"""
67
- created = DBContainer().create_snapshot(name)
68
- if not created:
69
- click.secho(f'Snapshot "{name}" already exists', fg="red")
70
- sys.exit(1)
71
-
72
- click.secho(f'Snapshot "{name}" created', fg="green")
73
- print()
74
- ctx.invoke(snapshot_list)
75
-
76
-
77
- @snapshot.command("list")
78
- def snapshot_list():
79
- """List all snapshots"""
80
- DBContainer().list_snapshots()
81
-
82
-
83
- @snapshot.command("restore")
84
- @click.argument("name")
85
- @click.option("--yes", "-y", is_flag=True)
86
- def snapshot_restore(name, yes):
87
- """Restore a snapshot to the main database"""
88
- if not yes:
89
- click.confirm(
90
- f'Are you sure you want to restore snapshot "{name}" to the main database?',
91
- abort=True,
92
- )
93
-
94
- DBContainer().restore_snapshot(name)
95
- click.secho(f'Snapshot "{name}" restored', fg="green")
96
-
97
-
98
- @snapshot.command("delete")
99
- @click.argument("name")
100
- @click.pass_context
101
- def snapshot_delete(ctx, name):
102
- """Delete a snapshot"""
103
- deleted = DBContainer().delete_snapshot(name)
104
- if not deleted:
105
- click.secho(f'Snapshot "{name}" does not exist', fg="red")
106
- sys.exit(1)
107
- click.secho(f'Snapshot "{name}" deleted', fg="green")
108
- print()
109
- ctx.invoke(snapshot_list)
110
-
111
-
112
- if __name__ == "__main__":
113
- cli()