plain 0.42.2__tar.gz → 0.43.1__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 (164) hide show
  1. {plain-0.42.2 → plain-0.43.1}/.gitignore +2 -0
  2. {plain-0.42.2 → plain-0.43.1}/PKG-INFO +1 -1
  3. {plain-0.42.2 → plain-0.43.1}/plain/assets/compile.py +2 -2
  4. {plain-0.42.2 → plain-0.43.1}/plain/assets/fingerprints.py +2 -2
  5. {plain-0.42.2 → plain-0.43.1}/plain/runtime/__init__.py +1 -0
  6. {plain-0.42.2 → plain-0.43.1}/plain/runtime/global_settings.py +0 -6
  7. {plain-0.42.2 → plain-0.43.1}/plain/urls/routers.py +2 -2
  8. {plain-0.42.2 → plain-0.43.1}/pyproject.toml +1 -1
  9. plain-0.42.2/tests/.bolt/assets_collected/assets.json +0 -1
  10. {plain-0.42.2 → plain-0.43.1}/LICENSE +0 -0
  11. {plain-0.42.2 → plain-0.43.1}/README.md +0 -0
  12. {plain-0.42.2 → plain-0.43.1}/plain/README.md +0 -0
  13. {plain-0.42.2 → plain-0.43.1}/plain/__main__.py +0 -0
  14. {plain-0.42.2 → plain-0.43.1}/plain/assets/README.md +0 -0
  15. {plain-0.42.2 → plain-0.43.1}/plain/assets/__init__.py +0 -0
  16. {plain-0.42.2 → plain-0.43.1}/plain/assets/finders.py +0 -0
  17. {plain-0.42.2 → plain-0.43.1}/plain/assets/urls.py +0 -0
  18. {plain-0.42.2 → plain-0.43.1}/plain/assets/views.py +0 -0
  19. {plain-0.42.2 → plain-0.43.1}/plain/chores/README.md +0 -0
  20. {plain-0.42.2 → plain-0.43.1}/plain/chores/__init__.py +0 -0
  21. {plain-0.42.2 → plain-0.43.1}/plain/chores/registry.py +0 -0
  22. {plain-0.42.2 → plain-0.43.1}/plain/cli/README.md +0 -0
  23. {plain-0.42.2 → plain-0.43.1}/plain/cli/__init__.py +0 -0
  24. {plain-0.42.2 → plain-0.43.1}/plain/cli/build.py +0 -0
  25. {plain-0.42.2 → plain-0.43.1}/plain/cli/chores.py +0 -0
  26. {plain-0.42.2 → plain-0.43.1}/plain/cli/core.py +0 -0
  27. {plain-0.42.2 → plain-0.43.1}/plain/cli/docs.py +0 -0
  28. {plain-0.42.2 → plain-0.43.1}/plain/cli/formatting.py +0 -0
  29. {plain-0.42.2 → plain-0.43.1}/plain/cli/preflight.py +0 -0
  30. {plain-0.42.2 → plain-0.43.1}/plain/cli/print.py +0 -0
  31. {plain-0.42.2 → plain-0.43.1}/plain/cli/registry.py +0 -0
  32. {plain-0.42.2 → plain-0.43.1}/plain/cli/scaffold.py +0 -0
  33. {plain-0.42.2 → plain-0.43.1}/plain/cli/settings.py +0 -0
  34. {plain-0.42.2 → plain-0.43.1}/plain/cli/shell.py +0 -0
  35. {plain-0.42.2 → plain-0.43.1}/plain/cli/startup.py +0 -0
  36. {plain-0.42.2 → plain-0.43.1}/plain/cli/urls.py +0 -0
  37. {plain-0.42.2 → plain-0.43.1}/plain/cli/utils.py +0 -0
  38. {plain-0.42.2 → plain-0.43.1}/plain/csrf/README.md +0 -0
  39. {plain-0.42.2 → plain-0.43.1}/plain/csrf/middleware.py +0 -0
  40. {plain-0.42.2 → plain-0.43.1}/plain/csrf/views.py +0 -0
  41. {plain-0.42.2 → plain-0.43.1}/plain/debug.py +0 -0
  42. {plain-0.42.2 → plain-0.43.1}/plain/exceptions.py +0 -0
  43. {plain-0.42.2 → plain-0.43.1}/plain/forms/README.md +0 -0
  44. {plain-0.42.2 → plain-0.43.1}/plain/forms/__init__.py +0 -0
  45. {plain-0.42.2 → plain-0.43.1}/plain/forms/boundfield.py +0 -0
  46. {plain-0.42.2 → plain-0.43.1}/plain/forms/exceptions.py +0 -0
  47. {plain-0.42.2 → plain-0.43.1}/plain/forms/fields.py +0 -0
  48. {plain-0.42.2 → plain-0.43.1}/plain/forms/forms.py +0 -0
  49. {plain-0.42.2 → plain-0.43.1}/plain/http/README.md +0 -0
  50. {plain-0.42.2 → plain-0.43.1}/plain/http/__init__.py +0 -0
  51. {plain-0.42.2 → plain-0.43.1}/plain/http/cookie.py +0 -0
  52. {plain-0.42.2 → plain-0.43.1}/plain/http/multipartparser.py +0 -0
  53. {plain-0.42.2 → plain-0.43.1}/plain/http/request.py +0 -0
  54. {plain-0.42.2 → plain-0.43.1}/plain/http/response.py +0 -0
  55. {plain-0.42.2 → plain-0.43.1}/plain/internal/__init__.py +0 -0
  56. {plain-0.42.2 → plain-0.43.1}/plain/internal/files/__init__.py +0 -0
  57. {plain-0.42.2 → plain-0.43.1}/plain/internal/files/base.py +0 -0
  58. {plain-0.42.2 → plain-0.43.1}/plain/internal/files/locks.py +0 -0
  59. {plain-0.42.2 → plain-0.43.1}/plain/internal/files/move.py +0 -0
  60. {plain-0.42.2 → plain-0.43.1}/plain/internal/files/temp.py +0 -0
  61. {plain-0.42.2 → plain-0.43.1}/plain/internal/files/uploadedfile.py +0 -0
  62. {plain-0.42.2 → plain-0.43.1}/plain/internal/files/uploadhandler.py +0 -0
  63. {plain-0.42.2 → plain-0.43.1}/plain/internal/files/utils.py +0 -0
  64. {plain-0.42.2 → plain-0.43.1}/plain/internal/handlers/__init__.py +0 -0
  65. {plain-0.42.2 → plain-0.43.1}/plain/internal/handlers/base.py +0 -0
  66. {plain-0.42.2 → plain-0.43.1}/plain/internal/handlers/exception.py +0 -0
  67. {plain-0.42.2 → plain-0.43.1}/plain/internal/handlers/wsgi.py +0 -0
  68. {plain-0.42.2 → plain-0.43.1}/plain/internal/middleware/__init__.py +0 -0
  69. {plain-0.42.2 → plain-0.43.1}/plain/internal/middleware/headers.py +0 -0
  70. {plain-0.42.2 → plain-0.43.1}/plain/internal/middleware/https.py +0 -0
  71. {plain-0.42.2 → plain-0.43.1}/plain/internal/middleware/slash.py +0 -0
  72. {plain-0.42.2 → plain-0.43.1}/plain/json.py +0 -0
  73. {plain-0.42.2 → plain-0.43.1}/plain/logs/README.md +0 -0
  74. {plain-0.42.2 → plain-0.43.1}/plain/logs/__init__.py +0 -0
  75. {plain-0.42.2 → plain-0.43.1}/plain/logs/configure.py +0 -0
  76. {plain-0.42.2 → plain-0.43.1}/plain/logs/loggers.py +0 -0
  77. {plain-0.42.2 → plain-0.43.1}/plain/logs/utils.py +0 -0
  78. {plain-0.42.2 → plain-0.43.1}/plain/packages/README.md +0 -0
  79. {plain-0.42.2 → plain-0.43.1}/plain/packages/__init__.py +0 -0
  80. {plain-0.42.2 → plain-0.43.1}/plain/packages/config.py +0 -0
  81. {plain-0.42.2 → plain-0.43.1}/plain/packages/registry.py +0 -0
  82. {plain-0.42.2 → plain-0.43.1}/plain/paginator.py +0 -0
  83. {plain-0.42.2 → plain-0.43.1}/plain/preflight/README.md +0 -0
  84. {plain-0.42.2 → plain-0.43.1}/plain/preflight/__init__.py +0 -0
  85. {plain-0.42.2 → plain-0.43.1}/plain/preflight/files.py +0 -0
  86. {plain-0.42.2 → plain-0.43.1}/plain/preflight/messages.py +0 -0
  87. {plain-0.42.2 → plain-0.43.1}/plain/preflight/registry.py +0 -0
  88. {plain-0.42.2 → plain-0.43.1}/plain/preflight/security.py +0 -0
  89. {plain-0.42.2 → plain-0.43.1}/plain/preflight/urls.py +0 -0
  90. {plain-0.42.2 → plain-0.43.1}/plain/runtime/README.md +0 -0
  91. {plain-0.42.2 → plain-0.43.1}/plain/runtime/user_settings.py +0 -0
  92. {plain-0.42.2 → plain-0.43.1}/plain/signals/README.md +0 -0
  93. {plain-0.42.2 → plain-0.43.1}/plain/signals/__init__.py +0 -0
  94. {plain-0.42.2 → plain-0.43.1}/plain/signals/dispatch/__init__.py +0 -0
  95. {plain-0.42.2 → plain-0.43.1}/plain/signals/dispatch/dispatcher.py +0 -0
  96. {plain-0.42.2 → plain-0.43.1}/plain/signals/dispatch/license.txt +0 -0
  97. {plain-0.42.2 → plain-0.43.1}/plain/signing.py +0 -0
  98. {plain-0.42.2 → plain-0.43.1}/plain/templates/README.md +0 -0
  99. {plain-0.42.2 → plain-0.43.1}/plain/templates/__init__.py +0 -0
  100. {plain-0.42.2 → plain-0.43.1}/plain/templates/core.py +0 -0
  101. {plain-0.42.2 → plain-0.43.1}/plain/templates/jinja/__init__.py +0 -0
  102. {plain-0.42.2 → plain-0.43.1}/plain/templates/jinja/environments.py +0 -0
  103. {plain-0.42.2 → plain-0.43.1}/plain/templates/jinja/extensions.py +0 -0
  104. {plain-0.42.2 → plain-0.43.1}/plain/templates/jinja/filters.py +0 -0
  105. {plain-0.42.2 → plain-0.43.1}/plain/templates/jinja/globals.py +0 -0
  106. {plain-0.42.2 → plain-0.43.1}/plain/test/README.md +0 -0
  107. {plain-0.42.2 → plain-0.43.1}/plain/test/__init__.py +0 -0
  108. {plain-0.42.2 → plain-0.43.1}/plain/test/client.py +0 -0
  109. {plain-0.42.2 → plain-0.43.1}/plain/test/encoding.py +0 -0
  110. {plain-0.42.2 → plain-0.43.1}/plain/test/exceptions.py +0 -0
  111. {plain-0.42.2 → plain-0.43.1}/plain/urls/README.md +0 -0
  112. {plain-0.42.2 → plain-0.43.1}/plain/urls/__init__.py +0 -0
  113. {plain-0.42.2 → plain-0.43.1}/plain/urls/converters.py +0 -0
  114. {plain-0.42.2 → plain-0.43.1}/plain/urls/exceptions.py +0 -0
  115. {plain-0.42.2 → plain-0.43.1}/plain/urls/patterns.py +0 -0
  116. {plain-0.42.2 → plain-0.43.1}/plain/urls/resolvers.py +0 -0
  117. {plain-0.42.2 → plain-0.43.1}/plain/urls/utils.py +0 -0
  118. {plain-0.42.2 → plain-0.43.1}/plain/utils/README.md +0 -0
  119. {plain-0.42.2 → plain-0.43.1}/plain/utils/__init__.py +0 -0
  120. {plain-0.42.2 → plain-0.43.1}/plain/utils/cache.py +0 -0
  121. {plain-0.42.2 → plain-0.43.1}/plain/utils/connection.py +0 -0
  122. {plain-0.42.2 → plain-0.43.1}/plain/utils/crypto.py +0 -0
  123. {plain-0.42.2 → plain-0.43.1}/plain/utils/datastructures.py +0 -0
  124. {plain-0.42.2 → plain-0.43.1}/plain/utils/dateparse.py +0 -0
  125. {plain-0.42.2 → plain-0.43.1}/plain/utils/deconstruct.py +0 -0
  126. {plain-0.42.2 → plain-0.43.1}/plain/utils/decorators.py +0 -0
  127. {plain-0.42.2 → plain-0.43.1}/plain/utils/duration.py +0 -0
  128. {plain-0.42.2 → plain-0.43.1}/plain/utils/encoding.py +0 -0
  129. {plain-0.42.2 → plain-0.43.1}/plain/utils/functional.py +0 -0
  130. {plain-0.42.2 → plain-0.43.1}/plain/utils/hashable.py +0 -0
  131. {plain-0.42.2 → plain-0.43.1}/plain/utils/html.py +0 -0
  132. {plain-0.42.2 → plain-0.43.1}/plain/utils/http.py +0 -0
  133. {plain-0.42.2 → plain-0.43.1}/plain/utils/inspect.py +0 -0
  134. {plain-0.42.2 → plain-0.43.1}/plain/utils/ipv6.py +0 -0
  135. {plain-0.42.2 → plain-0.43.1}/plain/utils/itercompat.py +0 -0
  136. {plain-0.42.2 → plain-0.43.1}/plain/utils/module_loading.py +0 -0
  137. {plain-0.42.2 → plain-0.43.1}/plain/utils/regex_helper.py +0 -0
  138. {plain-0.42.2 → plain-0.43.1}/plain/utils/safestring.py +0 -0
  139. {plain-0.42.2 → plain-0.43.1}/plain/utils/text.py +0 -0
  140. {plain-0.42.2 → plain-0.43.1}/plain/utils/timesince.py +0 -0
  141. {plain-0.42.2 → plain-0.43.1}/plain/utils/timezone.py +0 -0
  142. {plain-0.42.2 → plain-0.43.1}/plain/utils/tree.py +0 -0
  143. {plain-0.42.2 → plain-0.43.1}/plain/validators.py +0 -0
  144. {plain-0.42.2 → plain-0.43.1}/plain/views/README.md +0 -0
  145. {plain-0.42.2 → plain-0.43.1}/plain/views/__init__.py +0 -0
  146. {plain-0.42.2 → plain-0.43.1}/plain/views/base.py +0 -0
  147. {plain-0.42.2 → plain-0.43.1}/plain/views/csrf.py +0 -0
  148. {plain-0.42.2 → plain-0.43.1}/plain/views/errors.py +0 -0
  149. {plain-0.42.2 → plain-0.43.1}/plain/views/exceptions.py +0 -0
  150. {plain-0.42.2 → plain-0.43.1}/plain/views/forms.py +0 -0
  151. {plain-0.42.2 → plain-0.43.1}/plain/views/objects.py +0 -0
  152. {plain-0.42.2 → plain-0.43.1}/plain/views/redirect.py +0 -0
  153. {plain-0.42.2 → plain-0.43.1}/plain/views/templates.py +0 -0
  154. {plain-0.42.2 → plain-0.43.1}/plain/wsgi.py +0 -0
  155. {plain-0.42.2 → plain-0.43.1}/tests/.gitignore +0 -0
  156. {plain-0.42.2 → plain-0.43.1}/tests/app/.gitignore +0 -0
  157. {plain-0.42.2 → plain-0.43.1}/tests/app/settings.py +0 -0
  158. {plain-0.42.2 → plain-0.43.1}/tests/app/test/__init__.py +0 -0
  159. {plain-0.42.2 → plain-0.43.1}/tests/app/test/default_settings.py +0 -0
  160. {plain-0.42.2 → plain-0.43.1}/tests/app/urls.py +0 -0
  161. {plain-0.42.2 → plain-0.43.1}/tests/conftest.py +0 -0
  162. {plain-0.42.2 → plain-0.43.1}/tests/test_cli.py +0 -0
  163. {plain-0.42.2 → plain-0.43.1}/tests/test_runtime.py +0 -0
  164. {plain-0.42.2 → plain-0.43.1}/tests/test_wsgi.py +0 -0
@@ -13,3 +13,5 @@ plain*/tests/.plain
13
13
  .aider*
14
14
 
15
15
  /llms-full.txt
16
+
17
+ /.plain
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: plain
3
- Version: 0.42.2
3
+ Version: 0.43.1
4
4
  Summary: A web framework for building products with Python.
5
5
  Author-email: Dave Gaeddert <dave.gaeddert@dropseed.dev>
6
6
  License-File: LICENSE
@@ -2,7 +2,7 @@ import gzip
2
2
  import os
3
3
  import shutil
4
4
 
5
- from plain.runtime import settings
5
+ from plain.runtime import PLAIN_TEMP_PATH
6
6
 
7
7
  from .finders import iter_assets
8
8
  from .fingerprints import AssetsFingerprintsManifest, get_file_fingerprint
@@ -46,7 +46,7 @@ def get_compiled_path():
46
46
 
47
47
  There's no reason currently for this to be a user-facing setting.
48
48
  """
49
- return settings.PLAIN_TEMP_PATH / "assets" / "compiled"
49
+ return PLAIN_TEMP_PATH / "assets" / "compiled"
50
50
 
51
51
 
52
52
  def compile_assets(*, target_dir, keep_original, fingerprint, compress):
@@ -2,7 +2,7 @@ import hashlib
2
2
  import json
3
3
  from functools import cache
4
4
 
5
- from plain.runtime import settings
5
+ from plain.runtime import PLAIN_TEMP_PATH
6
6
 
7
7
  FINGERPRINT_LENGTH = 7
8
8
 
@@ -13,7 +13,7 @@ class AssetsFingerprintsManifest(dict):
13
13
  """
14
14
 
15
15
  def __init__(self):
16
- self.path = settings.PLAIN_TEMP_PATH / "assets" / "fingerprints.json"
16
+ self.path = PLAIN_TEMP_PATH / "assets" / "fingerprints.json"
17
17
 
18
18
  def load(self):
19
19
  if self.path.exists():
@@ -13,6 +13,7 @@ except importlib.metadata.PackageNotFoundError:
13
13
 
14
14
  # Made available without setup or settings
15
15
  APP_PATH = Path.cwd() / "app"
16
+ PLAIN_TEMP_PATH = Path.cwd() / ".plain"
16
17
 
17
18
  # from plain.runtime import settings
18
19
  settings = Settings()
@@ -3,18 +3,12 @@ Default Plain settings. Override these with settings in the module pointed to
3
3
  by the PLAIN_SETTINGS_MODULE environment variable.
4
4
  """
5
5
 
6
- from pathlib import Path
7
-
8
- from plain.runtime import APP_PATH as default_app_path
9
-
10
6
  ####################
11
7
  # CORE #
12
8
  ####################
13
9
 
14
10
  DEBUG: bool = False
15
11
 
16
- PLAIN_TEMP_PATH: Path = default_app_path.parent / ".plain"
17
-
18
12
  # Hosts/domain names that are valid for this site.
19
13
  # "*" matches anything, ".example.com" matches example.com and all subdomains
20
14
  ALLOWED_HOSTS: list[str] = []
@@ -23,7 +23,7 @@ class Router:
23
23
 
24
24
 
25
25
  def include(
26
- route: str | re.Pattern, router_or_urls: list | tuple | str | Router
26
+ route: str | re.Pattern, router_or_urls: list | tuple | str | type[Router]
27
27
  ) -> URLResolver:
28
28
  """
29
29
  Include URLs from another module or a nested list of URL patterns.
@@ -57,7 +57,7 @@ def include(
57
57
  )
58
58
 
59
59
 
60
- def path(route: str | re.Pattern, view: "View", *, name: str = "") -> URLPattern:
60
+ def path(route: str | re.Pattern, view: type["View"], *, name: str = "") -> URLPattern:
61
61
  """
62
62
  Standard URL with a view.
63
63
  """
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "plain"
3
- version = "0.42.2"
3
+ version = "0.43.1"
4
4
  description = "A web framework for building products with Python."
5
5
  authors = [{name = "Dave Gaeddert", email = "dave.gaeddert@dropseed.dev"}]
6
6
  readme = "README.md"
@@ -1 +0,0 @@
1
- {"paths": {}, "version": "1.1", "hash": "d75171398898"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes