Pyjoyment 0.1.0__tar.gz → 0.3.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 (1440) hide show
  1. pyjoyment-0.3.0/.gitignore +68 -0
  2. pyjoyment-0.3.0/PKG-INFO +491 -0
  3. pyjoyment-0.3.0/Pyjo/App/ASGI.py +739 -0
  4. pyjoyment-0.3.0/Pyjo/App/Lambda.py +988 -0
  5. pyjoyment-0.3.0/Pyjo/Asset/File.py +377 -0
  6. pyjoyment-0.3.0/Pyjo/Asset/Memory.py +235 -0
  7. pyjoyment-0.3.0/Pyjo/Collection.py +606 -0
  8. pyjoyment-0.3.0/Pyjo/Content/__init__.py +817 -0
  9. pyjoyment-0.3.0/Pyjo/DOM/CSS.py +1070 -0
  10. pyjoyment-0.3.0/Pyjo/DOM/HTML.py +605 -0
  11. pyjoyment-0.3.0/Pyjo/DOM/__init__.py +1379 -0
  12. pyjoyment-0.3.0/Pyjo/Date.py +331 -0
  13. pyjoyment-0.3.0/Pyjo/EventEmitter.py +529 -0
  14. pyjoyment-0.3.0/Pyjo/File.py +1059 -0
  15. pyjoyment-0.3.0/Pyjo/GetOpt.py +614 -0
  16. pyjoyment-0.3.0/Pyjo/INI.py +400 -0
  17. pyjoyment-0.3.0/Pyjo/IOLoop/Datagram.py +989 -0
  18. pyjoyment-0.3.0/Pyjo/IOLoop/Messages.py +669 -0
  19. pyjoyment-0.3.0/Pyjo/IOLoop/Stream.py +652 -0
  20. pyjoyment-0.3.0/Pyjo/IOLoop/certs/README.md +58 -0
  21. pyjoyment-0.3.0/Pyjo/IOLoop/certs/ca.crt +20 -0
  22. pyjoyment-0.3.0/Pyjo/IOLoop/certs/client.crt +20 -0
  23. pyjoyment-0.3.0/Pyjo/IOLoop/certs/client.key +28 -0
  24. pyjoyment-0.3.0/Pyjo/IOLoop/certs/server.crt +21 -0
  25. pyjoyment-0.3.0/Pyjo/IOLoop/certs/server.key +28 -0
  26. pyjoyment-0.3.0/Pyjo/Iterator.py +662 -0
  27. pyjoyment-0.3.0/Pyjo/JSON/__init__.py +587 -0
  28. pyjoyment-0.3.0/Pyjo/Loader.py +342 -0
  29. pyjoyment-0.3.0/Pyjo/Log.py +767 -0
  30. pyjoyment-0.3.0/Pyjo/Message/Request.py +722 -0
  31. pyjoyment-0.3.0/Pyjo/Message/__init__.py +837 -0
  32. pyjoyment-0.3.0/Pyjo/Promise.py +907 -0
  33. pyjoyment-0.3.0/Pyjo/Prove.py +1337 -0
  34. pyjoyment-0.3.0/Pyjo/Reactor/Asyncio.py +875 -0
  35. pyjoyment-0.3.0/Pyjo/Reactor/__init__.py +555 -0
  36. pyjoyment-0.3.0/Pyjo/Server/ASGI.py +486 -0
  37. pyjoyment-0.3.0/Pyjo/Server/CGI.py +261 -0
  38. pyjoyment-0.3.0/Pyjo/Server/Daemon.py +1024 -0
  39. pyjoyment-0.3.0/Pyjo/Server/Lambda.py +641 -0
  40. pyjoyment-0.3.0/Pyjo/Server/Reload/__init__.py +483 -0
  41. pyjoyment-0.3.0/Pyjo/Server/WSGI.py +349 -0
  42. pyjoyment-0.3.0/Pyjo/Steps.py +352 -0
  43. pyjoyment-0.3.0/Pyjo/String/Bytes.py +650 -0
  44. pyjoyment-0.3.0/Pyjo/String/Unicode.py +671 -0
  45. pyjoyment-0.3.0/Pyjo/TOML.py +253 -0
  46. pyjoyment-0.3.0/Pyjo/Template.py +1288 -0
  47. pyjoyment-0.3.0/Pyjo/Test/__init__.py +1290 -0
  48. pyjoyment-0.3.0/Pyjo/Transaction/WebSocket.py +713 -0
  49. pyjoyment-0.3.0/Pyjo/Transaction/__init__.py +434 -0
  50. pyjoyment-0.3.0/Pyjo/URL/Template.py +459 -0
  51. pyjoyment-0.3.0/Pyjo/UserAgent/__init__.py +1342 -0
  52. pyjoyment-0.3.0/Pyjo/Util.py +3741 -0
  53. pyjoyment-0.3.0/Pyjo/YAML.py +1245 -0
  54. pyjoyment-0.3.0/Pyjo/__init__.py +558 -0
  55. pyjoyment-0.3.0/Pyjo/__main__.py +38 -0
  56. pyjoyment-0.3.0/Pyjoyment/Command/Author/generate/app.py +299 -0
  57. pyjoyment-0.3.0/Pyjoyment/Command/Author/generate/dockerfile.py +281 -0
  58. pyjoyment-0.3.0/Pyjoyment/Command/Author/generate/kubernetes.py +514 -0
  59. pyjoyment-0.3.0/Pyjoyment/Command/Author/generate/lambda_zip.py +412 -0
  60. pyjoyment-0.3.0/Pyjoyment/Command/Author/generate/plugin.py +267 -0
  61. pyjoyment-0.3.0/Pyjoyment/Command/Author/inflate.py +101 -0
  62. pyjoyment-0.3.0/Pyjoyment/Command/__init__.py +334 -0
  63. pyjoyment-0.3.0/Pyjoyment/Command/asgi.py +92 -0
  64. pyjoyment-0.3.0/Pyjoyment/Command/cgi.py +90 -0
  65. pyjoyment-0.3.0/Pyjoyment/Command/daemon.py +161 -0
  66. pyjoyment-0.3.0/Pyjoyment/Command/eval.py +128 -0
  67. pyjoyment-0.3.0/Pyjoyment/Command/fastcgi.py +99 -0
  68. pyjoyment-0.3.0/Pyjoyment/Command/get.py +306 -0
  69. pyjoyment-0.3.0/Pyjoyment/Command/lambda.py +117 -0
  70. pyjoyment-0.3.0/Pyjoyment/Command/prefork.py +182 -0
  71. pyjoyment-0.3.0/Pyjoyment/Command/prethread.py +127 -0
  72. pyjoyment-0.3.0/Pyjoyment/Command/routes.py +133 -0
  73. pyjoyment-0.3.0/Pyjoyment/Command/stdio.py +92 -0
  74. pyjoyment-0.3.0/Pyjoyment/Command/wsgi.py +93 -0
  75. pyjoyment-0.3.0/Pyjoyment/Commands.py +546 -0
  76. pyjoyment-0.3.0/Pyjoyment/Controller.py +1305 -0
  77. pyjoyment-0.3.0/Pyjoyment/Plugin/Config.py +244 -0
  78. pyjoyment-0.3.0/Pyjoyment/Plugin/INIConfig.py +164 -0
  79. pyjoyment-0.3.0/Pyjoyment/Plugin/PyRenderer.py +208 -0
  80. pyjoyment-0.3.0/Pyjoyment/Plugins.py +218 -0
  81. pyjoyment-0.3.0/Pyjoyment/Static.py +421 -0
  82. pyjoyment-0.3.0/Pyjoyment/resources/templates/pyjo/debug.html.ep +346 -0
  83. pyjoyment-0.3.0/README.md +449 -0
  84. pyjoyment-0.3.0/docs/api/Pyjo_INI.rst +2 -0
  85. pyjoyment-0.3.0/docs/api/Pyjo_Iterator.rst +3 -0
  86. pyjoyment-0.3.0/docs/api/Pyjo_Steps.rst +3 -0
  87. pyjoyment-0.3.0/docs/api/Pyjoyment_Plugin_INIConfig.rst +2 -0
  88. pyjoyment-0.3.0/docs/conf.py +138 -0
  89. pyjoyment-0.3.0/docs/distributions.rst +66 -0
  90. pyjoyment-0.3.0/docs/examples.rst +253 -0
  91. pyjoyment-0.3.0/docs/guides/contributing.rst +186 -0
  92. pyjoyment-0.3.0/docs/guides/cookbook.rst +2635 -0
  93. pyjoyment-0.3.0/docs/guides/faq.rst +345 -0
  94. pyjoyment-0.3.0/docs/guides/growing.rst +623 -0
  95. pyjoyment-0.3.0/docs/guides/index.rst +423 -0
  96. pyjoyment-0.3.0/docs/guides/oneliners/config.yaml +5 -0
  97. pyjoyment-0.3.0/docs/guides/oneliners/deployment.yaml +19 -0
  98. pyjoyment-0.3.0/docs/guides/oneliners.rst +313 -0
  99. pyjoyment-0.3.0/docs/guides/tutorial/user_agent.py +35 -0
  100. pyjoyment-0.3.0/docs/index.rst +19 -0
  101. pyjoyment-0.3.0/docs/installation.rst +26 -0
  102. pyjoyment-0.3.0/docs/intro.rst +286 -0
  103. pyjoyment-0.3.0/docs/status.rst +17 -0
  104. pyjoyment-0.3.0/examples/lambda/README.md +113 -0
  105. pyjoyment-0.3.0/examples/lambda/alb.tf +81 -0
  106. pyjoyment-0.3.0/examples/lambda/function/app.py +82 -0
  107. pyjoyment-0.3.0/examples/lambda/function.tf +83 -0
  108. pyjoyment-0.3.0/examples/lambda/layers.tf +15 -0
  109. pyjoyment-0.3.0/examples/lambda/network.tf +25 -0
  110. pyjoyment-0.3.0/examples/lambda/outputs.tf +26 -0
  111. pyjoyment-0.3.0/examples/lambda/variables.tf +50 -0
  112. pyjoyment-0.3.0/examples/lambda/versions.tf +27 -0
  113. pyjoyment-0.3.0/examples/lambda_stream/README.md +94 -0
  114. pyjoyment-0.3.0/examples/lambda_stream/function.tf +91 -0
  115. pyjoyment-0.3.0/examples/lambda_stream/layers.tf +15 -0
  116. pyjoyment-0.3.0/examples/lambda_stream/variables.tf +29 -0
  117. pyjoyment-0.3.0/examples/lambda_stream/versions.tf +27 -0
  118. pyjoyment-0.3.0/examples/lambda_zip/README.md +95 -0
  119. pyjoyment-0.3.0/examples/lambda_zip/function.tf +105 -0
  120. pyjoyment-0.3.0/examples/lambda_zip/layers.tf +15 -0
  121. pyjoyment-0.3.0/examples/lambda_zip/variables.tf +51 -0
  122. pyjoyment-0.3.0/examples/lambda_zip/versions.tf +27 -0
  123. pyjoyment-0.3.0/examples/mount/compose.py +15 -0
  124. pyjoyment-0.3.0/examples/pyjo/url.pl +10 -0
  125. pyjoyment-0.3.0/examples/pyjo/url.py +10 -0
  126. pyjoyment-0.3.0/examples/ua/entities.py +9 -0
  127. pyjoyment-0.3.0/pyjoyment-0.3.0.spdx.json +1 -0
  128. pyjoyment-0.3.0/pyproject.toml +421 -0
  129. pyjoyment-0.3.0/t/Pyjo/App_ASGI.py +858 -0
  130. pyjoyment-0.3.0/t/Pyjo/App_FastCGI.py +780 -0
  131. pyjoyment-0.3.0/t/Pyjo/DOM.py +3391 -0
  132. pyjoyment-0.3.0/t/Pyjo/File.py +521 -0
  133. pyjoyment-0.3.0/t/Pyjo/GetOpt.py +344 -0
  134. pyjoyment-0.3.0/t/Pyjo/INI.py +298 -0
  135. pyjoyment-0.3.0/t/Pyjo/IOLoop.py +725 -0
  136. pyjoyment-0.3.0/t/Pyjo/IOLoop_Stdio.py +244 -0
  137. pyjoyment-0.3.0/t/Pyjo/Iterator.py +366 -0
  138. pyjoyment-0.3.0/t/Pyjo/Iterator_types.py +67 -0
  139. pyjoyment-0.3.0/t/Pyjo/JSON.py +474 -0
  140. pyjoyment-0.3.0/t/Pyjo/JSON_RPC.py +816 -0
  141. pyjoyment-0.3.0/t/Pyjo/Log.py +393 -0
  142. pyjoyment-0.3.0/t/Pyjo/Message_Response.py +1197 -0
  143. pyjoyment-0.3.0/t/Pyjo/Prove.py +910 -0
  144. pyjoyment-0.3.0/t/Pyjo/Reactor_Asyncio.py +470 -0
  145. pyjoyment-0.3.0/t/Pyjo/Reactor_Poll.py +466 -0
  146. pyjoyment-0.3.0/t/Pyjo/Server_ASGI.py +492 -0
  147. pyjoyment-0.3.0/t/Pyjo/Steps.py +236 -0
  148. pyjoyment-0.3.0/t/Pyjo/String.py +231 -0
  149. pyjoyment-0.3.0/t/Pyjo/TOML.py +165 -0
  150. pyjoyment-0.3.0/t/Pyjo/Test.py +618 -0
  151. pyjoyment-0.3.0/t/Pyjo/URL_Template.py +356 -0
  152. pyjoyment-0.3.0/t/Pyjo/UserAgent.py +819 -0
  153. pyjoyment-0.3.0/t/Pyjo/UserAgent_online.py +326 -0
  154. pyjoyment-0.3.0/t/Pyjo/Util.py +989 -0
  155. pyjoyment-0.3.0/t/Pyjo/YAML.py +543 -0
  156. pyjoyment-0.3.0/t/Pyjo/init.py +203 -0
  157. pyjoyment-0.3.0/t/Pyjoyment/Command.py +120 -0
  158. pyjoyment-0.3.0/t/Pyjoyment/Commands.py +1019 -0
  159. pyjoyment-0.3.0/t/Pyjoyment/byte_order_mark.py +59 -0
  160. pyjoyment-0.3.0/t/Pyjoyment/health_lite_app.py +294 -0
  161. pyjoyment-0.3.0/t/Pyjoyment/ini_config_lite_app.ini +9 -0
  162. pyjoyment-0.3.0/t/Pyjoyment/ini_config_lite_app.py +102 -0
  163. pyjoyment-0.3.0/t/Pyjoyment/ini_config_lite_app_abs.development.ini +1 -0
  164. pyjoyment-0.3.0/t/Pyjoyment/ini_config_lite_app_abs.ini +1 -0
  165. pyjoyment-0.3.0/t/certs/README.md +63 -0
  166. pyjoyment-0.3.0/t/certs/bad.crt +21 -0
  167. pyjoyment-0.3.0/t/certs/bad.key +28 -0
  168. pyjoyment-0.3.0/t/certs/ca.crt +21 -0
  169. pyjoyment-0.3.0/t/certs/client.crt +21 -0
  170. pyjoyment-0.3.0/t/certs/client.key +28 -0
  171. pyjoyment-0.3.0/t/certs/mojo_server.crt +21 -0
  172. pyjoyment-0.3.0/t/certs/mojo_server.key +28 -0
  173. pyjoyment-0.3.0/t/certs/server.crt +22 -0
  174. pyjoyment-0.3.0/t/certs/server.key +28 -0
  175. pyjoyment-0.3.0/t/docs/Collection.py +246 -0
  176. pyjoyment-0.3.0/t/docs/DOM.py +618 -0
  177. pyjoyment-0.3.0/t/docs/DOM_CSS.py +270 -0
  178. pyjoyment-0.3.0/t/docs/Date.py +171 -0
  179. pyjoyment-0.3.0/t/docs/EventEmitter.py +213 -0
  180. pyjoyment-0.3.0/t/docs/File.py +389 -0
  181. pyjoyment-0.3.0/t/docs/INI.py +90 -0
  182. pyjoyment-0.3.0/t/docs/IOLoop_Datagram.py +309 -0
  183. pyjoyment-0.3.0/t/docs/IOLoop_Messages.py +265 -0
  184. pyjoyment-0.3.0/t/docs/IOLoop_Stream.py +264 -0
  185. pyjoyment-0.3.0/t/docs/Iterator.py +201 -0
  186. pyjoyment-0.3.0/t/docs/JSON.py +102 -0
  187. pyjoyment-0.3.0/t/docs/Pyjo_init.py +342 -0
  188. pyjoyment-0.3.0/t/docs/Pyjoyment_Plugin_INIConfig.py +96 -0
  189. pyjoyment-0.3.0/t/docs/Server_Hot.py +276 -0
  190. pyjoyment-0.3.0/t/docs/Server_Reload.py +268 -0
  191. pyjoyment-0.3.0/t/docs/Steps.py +160 -0
  192. pyjoyment-0.3.0/t/docs/TOML.py +35 -0
  193. pyjoyment-0.3.0/t/docs/Test.py +707 -0
  194. pyjoyment-0.3.0/t/docs/Test_Pyjo.py +914 -0
  195. pyjoyment-0.3.0/t/docs/URL_Template.py +110 -0
  196. pyjoyment-0.3.0/t/docs/UserAgent.py +632 -0
  197. pyjoyment-0.3.0/t/docs/Util.py +391 -0
  198. pyjoyment-0.3.0/t/docs/YAML.py +122 -0
  199. pyjoyment-0.3.0/t/docs/guides_cookbook.py +1064 -0
  200. pyjoyment-0.3.0/t/docs/guides_oneliners.py +172 -0
  201. pyjoyment-0.3.0/t/docs/guides_tutorial.py +343 -0
  202. pyjoyment-0.3.0/t/docs/skills_async.py +69 -0
  203. pyjoyment-0.3.0/t/docs/skills_mount.py +61 -0
  204. pyjoyment-0.3.0/t/examples/mount/compose.py +37 -0
  205. pyjoyment-0.3.0/t/examples/pyjo/url.py +20 -0
  206. pyjoyment-0.3.0/t/examples/ua/loopback.py +26 -0
  207. pyjoyment-0.3.0/t/lib/FakeUV.py +86 -0
  208. pyjoyment-0.3.0/t/lib/OneLiner.py +77 -0
  209. pyjoyment-0.3.0/t/lib/ServerStart.py +123 -0
  210. pyjoyment-0.3.0/t/lib/oneliner/sitecustomize.py +16 -0
  211. pyjoyment-0.3.0/t/servers/ASGI.py +192 -0
  212. pyjoyment-0.3.0/t/servers/HelloWorld.py +46 -0
  213. pyjoyment-0.3.0/t/servers/INI_botocore.py +63 -0
  214. pyjoyment-0.3.0/t/servers/Mount.py +640 -0
  215. pyjoyment-0.3.0/t/servers/aws_s3.py +135 -0
  216. pyjoyment-0.3.0/t/stdlib/Date.py +67 -0
  217. pyjoyment-0.3.0/t/stdlib/File.py +160 -0
  218. pyjoyment-0.3.0/t/stdlib/IOLoop.py +123 -0
  219. pyjoyment-0.3.0/t/stdlib/IOLoop_Client.py +229 -0
  220. pyjoyment-0.3.0/t/stdlib/IOLoop_Stream.py +134 -0
  221. pyjoyment-0.3.0/t/stdlib/IOLoop_TLS.py +134 -0
  222. pyjoyment-0.3.0/t/stdlib/IOLoop_gc.py +154 -0
  223. pyjoyment-0.3.0/t/stdlib/Promise.py +287 -0
  224. pyjoyment-0.3.0/t/stdlib/Reactor_Asyncio.py +406 -0
  225. pyjoyment-0.3.0/t/stdlib/Server_ASGI.py +80 -0
  226. pyjoyment-0.3.0/t/stdlib/Server_Daemon.py +328 -0
  227. pyjoyment-0.3.0/t/stdlib/Server_WSGI.py +122 -0
  228. pyjoyment-0.3.0/t/stdlib/UserAgent.py +269 -0
  229. pyjoyment-0.3.0/t/stdlib/annotations.py +76 -0
  230. pyjoyment-0.1.0/.gitignore +0 -67
  231. pyjoyment-0.1.0/PKG-INFO +0 -376
  232. pyjoyment-0.1.0/Pyjo/App/ASGI.py +0 -735
  233. pyjoyment-0.1.0/Pyjo/App/Lambda.py +0 -987
  234. pyjoyment-0.1.0/Pyjo/Asset/File.py +0 -377
  235. pyjoyment-0.1.0/Pyjo/Asset/Memory.py +0 -235
  236. pyjoyment-0.1.0/Pyjo/Collection.py +0 -570
  237. pyjoyment-0.1.0/Pyjo/Content/__init__.py +0 -806
  238. pyjoyment-0.1.0/Pyjo/DOM/CSS.py +0 -1019
  239. pyjoyment-0.1.0/Pyjo/DOM/HTML.py +0 -550
  240. pyjoyment-0.1.0/Pyjo/DOM/__init__.py +0 -1329
  241. pyjoyment-0.1.0/Pyjo/Date.py +0 -294
  242. pyjoyment-0.1.0/Pyjo/EventEmitter.py +0 -522
  243. pyjoyment-0.1.0/Pyjo/File.py +0 -959
  244. pyjoyment-0.1.0/Pyjo/GetOpt.py +0 -605
  245. pyjoyment-0.1.0/Pyjo/IOLoop/Datagram.py +0 -982
  246. pyjoyment-0.1.0/Pyjo/IOLoop/Messages.py +0 -664
  247. pyjoyment-0.1.0/Pyjo/IOLoop/Stream.py +0 -644
  248. pyjoyment-0.1.0/Pyjo/IOLoop/certs/README.md +0 -41
  249. pyjoyment-0.1.0/Pyjo/IOLoop/certs/ca.crt +0 -20
  250. pyjoyment-0.1.0/Pyjo/IOLoop/certs/server.crt +0 -21
  251. pyjoyment-0.1.0/Pyjo/IOLoop/certs/server.key +0 -28
  252. pyjoyment-0.1.0/Pyjo/JSON/__init__.py +0 -573
  253. pyjoyment-0.1.0/Pyjo/Loader.py +0 -342
  254. pyjoyment-0.1.0/Pyjo/Log.py +0 -723
  255. pyjoyment-0.1.0/Pyjo/Message/Request.py +0 -725
  256. pyjoyment-0.1.0/Pyjo/Message/__init__.py +0 -830
  257. pyjoyment-0.1.0/Pyjo/Promise.py +0 -894
  258. pyjoyment-0.1.0/Pyjo/Prove.py +0 -1305
  259. pyjoyment-0.1.0/Pyjo/Reactor/Asyncio.py +0 -854
  260. pyjoyment-0.1.0/Pyjo/Reactor/__init__.py +0 -525
  261. pyjoyment-0.1.0/Pyjo/Server/ASGI.py +0 -486
  262. pyjoyment-0.1.0/Pyjo/Server/CGI.py +0 -259
  263. pyjoyment-0.1.0/Pyjo/Server/Daemon.py +0 -1007
  264. pyjoyment-0.1.0/Pyjo/Server/Lambda.py +0 -641
  265. pyjoyment-0.1.0/Pyjo/Server/Reload/__init__.py +0 -482
  266. pyjoyment-0.1.0/Pyjo/Server/WSGI.py +0 -349
  267. pyjoyment-0.1.0/Pyjo/String/Bytes.py +0 -532
  268. pyjoyment-0.1.0/Pyjo/String/Unicode.py +0 -553
  269. pyjoyment-0.1.0/Pyjo/TOML.py +0 -232
  270. pyjoyment-0.1.0/Pyjo/Template.py +0 -1290
  271. pyjoyment-0.1.0/Pyjo/Test/__init__.py +0 -1233
  272. pyjoyment-0.1.0/Pyjo/Transaction/WebSocket.py +0 -709
  273. pyjoyment-0.1.0/Pyjo/Transaction/__init__.py +0 -429
  274. pyjoyment-0.1.0/Pyjo/URL/Template.py +0 -459
  275. pyjoyment-0.1.0/Pyjo/UserAgent/__init__.py +0 -1243
  276. pyjoyment-0.1.0/Pyjo/Util.py +0 -3567
  277. pyjoyment-0.1.0/Pyjo/YAML.py +0 -1167
  278. pyjoyment-0.1.0/Pyjo/__init__.py +0 -441
  279. pyjoyment-0.1.0/Pyjo/__main__.py +0 -35
  280. pyjoyment-0.1.0/Pyjoyment/Command/Author/generate/app.py +0 -299
  281. pyjoyment-0.1.0/Pyjoyment/Command/Author/generate/dockerfile.py +0 -281
  282. pyjoyment-0.1.0/Pyjoyment/Command/Author/generate/kubernetes.py +0 -514
  283. pyjoyment-0.1.0/Pyjoyment/Command/Author/generate/lambda_zip.py +0 -372
  284. pyjoyment-0.1.0/Pyjoyment/Command/Author/generate/plugin.py +0 -267
  285. pyjoyment-0.1.0/Pyjoyment/Command/Author/inflate.py +0 -101
  286. pyjoyment-0.1.0/Pyjoyment/Command/__init__.py +0 -332
  287. pyjoyment-0.1.0/Pyjoyment/Command/asgi.py +0 -92
  288. pyjoyment-0.1.0/Pyjoyment/Command/cgi.py +0 -90
  289. pyjoyment-0.1.0/Pyjoyment/Command/daemon.py +0 -160
  290. pyjoyment-0.1.0/Pyjoyment/Command/eval.py +0 -128
  291. pyjoyment-0.1.0/Pyjoyment/Command/fastcgi.py +0 -99
  292. pyjoyment-0.1.0/Pyjoyment/Command/get.py +0 -305
  293. pyjoyment-0.1.0/Pyjoyment/Command/lambda.py +0 -117
  294. pyjoyment-0.1.0/Pyjoyment/Command/prefork.py +0 -181
  295. pyjoyment-0.1.0/Pyjoyment/Command/prethread.py +0 -126
  296. pyjoyment-0.1.0/Pyjoyment/Command/routes.py +0 -133
  297. pyjoyment-0.1.0/Pyjoyment/Command/stdio.py +0 -92
  298. pyjoyment-0.1.0/Pyjoyment/Command/wsgi.py +0 -93
  299. pyjoyment-0.1.0/Pyjoyment/Commands.py +0 -546
  300. pyjoyment-0.1.0/Pyjoyment/Controller.py +0 -1307
  301. pyjoyment-0.1.0/Pyjoyment/Plugin/Config.py +0 -248
  302. pyjoyment-0.1.0/Pyjoyment/Plugin/PyRenderer.py +0 -209
  303. pyjoyment-0.1.0/Pyjoyment/Plugins.py +0 -215
  304. pyjoyment-0.1.0/Pyjoyment/Static.py +0 -421
  305. pyjoyment-0.1.0/Pyjoyment/resources/templates/pyjo/debug.html.ep +0 -346
  306. pyjoyment-0.1.0/README.md +0 -334
  307. pyjoyment-0.1.0/docs/conf.py +0 -138
  308. pyjoyment-0.1.0/docs/distributions.rst +0 -34
  309. pyjoyment-0.1.0/docs/examples.rst +0 -219
  310. pyjoyment-0.1.0/docs/guides/contributing.rst +0 -186
  311. pyjoyment-0.1.0/docs/guides/cookbook.rst +0 -2602
  312. pyjoyment-0.1.0/docs/guides/faq.rst +0 -344
  313. pyjoyment-0.1.0/docs/guides/growing.rst +0 -623
  314. pyjoyment-0.1.0/docs/guides/index.rst +0 -414
  315. pyjoyment-0.1.0/docs/guides/tutorial/user_agent.py +0 -35
  316. pyjoyment-0.1.0/docs/index.rst +0 -20
  317. pyjoyment-0.1.0/docs/installation.rst +0 -21
  318. pyjoyment-0.1.0/docs/intro.rst +0 -53
  319. pyjoyment-0.1.0/docs/status.rst +0 -22
  320. pyjoyment-0.1.0/examples/lambda/README.md +0 -94
  321. pyjoyment-0.1.0/examples/lambda/alb.tf +0 -67
  322. pyjoyment-0.1.0/examples/lambda/function/app.py +0 -71
  323. pyjoyment-0.1.0/examples/lambda/function.tf +0 -73
  324. pyjoyment-0.1.0/examples/lambda/network.tf +0 -21
  325. pyjoyment-0.1.0/examples/lambda/outputs.tf +0 -26
  326. pyjoyment-0.1.0/examples/lambda/variables.tf +0 -44
  327. pyjoyment-0.1.0/examples/lambda/versions.tf +0 -23
  328. pyjoyment-0.1.0/examples/lambda_stream/README.md +0 -75
  329. pyjoyment-0.1.0/examples/lambda_stream/function.tf +0 -81
  330. pyjoyment-0.1.0/examples/lambda_stream/variables.tf +0 -23
  331. pyjoyment-0.1.0/examples/lambda_stream/versions.tf +0 -23
  332. pyjoyment-0.1.0/examples/lambda_zip/README.md +0 -73
  333. pyjoyment-0.1.0/examples/lambda_zip/function.tf +0 -84
  334. pyjoyment-0.1.0/examples/lambda_zip/variables.tf +0 -39
  335. pyjoyment-0.1.0/examples/lambda_zip/versions.tf +0 -23
  336. pyjoyment-0.1.0/examples/pyjo/url.pl +0 -10
  337. pyjoyment-0.1.0/examples/pyjo/url.py +0 -10
  338. pyjoyment-0.1.0/examples/ua/entities.py +0 -9
  339. pyjoyment-0.1.0/pyjoyment-0.1.0.spdx.json +0 -1
  340. pyjoyment-0.1.0/pyproject.toml +0 -416
  341. pyjoyment-0.1.0/t/Pyjo/App_ASGI.py +0 -811
  342. pyjoyment-0.1.0/t/Pyjo/App_FastCGI.py +0 -782
  343. pyjoyment-0.1.0/t/Pyjo/DOM.py +0 -3311
  344. pyjoyment-0.1.0/t/Pyjo/File.py +0 -500
  345. pyjoyment-0.1.0/t/Pyjo/GetOpt.py +0 -339
  346. pyjoyment-0.1.0/t/Pyjo/IOLoop.py +0 -716
  347. pyjoyment-0.1.0/t/Pyjo/IOLoop_Stdio.py +0 -237
  348. pyjoyment-0.1.0/t/Pyjo/JSON.py +0 -464
  349. pyjoyment-0.1.0/t/Pyjo/JSON_RPC.py +0 -813
  350. pyjoyment-0.1.0/t/Pyjo/Log.py +0 -371
  351. pyjoyment-0.1.0/t/Pyjo/Message_Response.py +0 -1145
  352. pyjoyment-0.1.0/t/Pyjo/Prove.py +0 -877
  353. pyjoyment-0.1.0/t/Pyjo/Reactor_Asyncio.py +0 -465
  354. pyjoyment-0.1.0/t/Pyjo/Reactor_Poll.py +0 -461
  355. pyjoyment-0.1.0/t/Pyjo/Server_ASGI.py +0 -491
  356. pyjoyment-0.1.0/t/Pyjo/String.py +0 -178
  357. pyjoyment-0.1.0/t/Pyjo/TOML.py +0 -158
  358. pyjoyment-0.1.0/t/Pyjo/Test.py +0 -513
  359. pyjoyment-0.1.0/t/Pyjo/URL_Template.py +0 -356
  360. pyjoyment-0.1.0/t/Pyjo/UserAgent.py +0 -792
  361. pyjoyment-0.1.0/t/Pyjo/UserAgent_online.py +0 -250
  362. pyjoyment-0.1.0/t/Pyjo/Util.py +0 -902
  363. pyjoyment-0.1.0/t/Pyjo/YAML.py +0 -489
  364. pyjoyment-0.1.0/t/Pyjo/ojo.py +0 -150
  365. pyjoyment-0.1.0/t/Pyjoyment/Command.py +0 -105
  366. pyjoyment-0.1.0/t/Pyjoyment/Commands.py +0 -932
  367. pyjoyment-0.1.0/t/Pyjoyment/health_lite_app.py +0 -281
  368. pyjoyment-0.1.0/t/certs/README.md +0 -57
  369. pyjoyment-0.1.0/t/certs/bad.crt +0 -21
  370. pyjoyment-0.1.0/t/certs/bad.key +0 -28
  371. pyjoyment-0.1.0/t/certs/ca.crt +0 -21
  372. pyjoyment-0.1.0/t/certs/client.crt +0 -21
  373. pyjoyment-0.1.0/t/certs/client.key +0 -28
  374. pyjoyment-0.1.0/t/certs/mojo_server.crt +0 -21
  375. pyjoyment-0.1.0/t/certs/mojo_server.key +0 -28
  376. pyjoyment-0.1.0/t/certs/server.crt +0 -22
  377. pyjoyment-0.1.0/t/certs/server.key +0 -28
  378. pyjoyment-0.1.0/t/docs/Collection.py +0 -206
  379. pyjoyment-0.1.0/t/docs/DOM.py +0 -594
  380. pyjoyment-0.1.0/t/docs/DOM_CSS.py +0 -264
  381. pyjoyment-0.1.0/t/docs/Date.py +0 -146
  382. pyjoyment-0.1.0/t/docs/EventEmitter.py +0 -201
  383. pyjoyment-0.1.0/t/docs/File.py +0 -376
  384. pyjoyment-0.1.0/t/docs/IOLoop_Datagram.py +0 -287
  385. pyjoyment-0.1.0/t/docs/IOLoop_Messages.py +0 -248
  386. pyjoyment-0.1.0/t/docs/IOLoop_Stream.py +0 -249
  387. pyjoyment-0.1.0/t/docs/JSON.py +0 -99
  388. pyjoyment-0.1.0/t/docs/Pyjo_init.py +0 -284
  389. pyjoyment-0.1.0/t/docs/Server_Hot.py +0 -269
  390. pyjoyment-0.1.0/t/docs/Server_Reload.py +0 -243
  391. pyjoyment-0.1.0/t/docs/TOML.py +0 -32
  392. pyjoyment-0.1.0/t/docs/Test.py +0 -673
  393. pyjoyment-0.1.0/t/docs/Test_Pyjo.py +0 -909
  394. pyjoyment-0.1.0/t/docs/URL_Template.py +0 -110
  395. pyjoyment-0.1.0/t/docs/UserAgent.py +0 -600
  396. pyjoyment-0.1.0/t/docs/Util.py +0 -381
  397. pyjoyment-0.1.0/t/docs/YAML.py +0 -87
  398. pyjoyment-0.1.0/t/docs/guides_cookbook.py +0 -1063
  399. pyjoyment-0.1.0/t/docs/guides_tutorial.py +0 -321
  400. pyjoyment-0.1.0/t/docs/skills_async.py +0 -57
  401. pyjoyment-0.1.0/t/docs/skills_mount.py +0 -60
  402. pyjoyment-0.1.0/t/examples/pyjo/url.py +0 -20
  403. pyjoyment-0.1.0/t/examples/ua/loopback.py +0 -21
  404. pyjoyment-0.1.0/t/lib/FakeUV.py +0 -85
  405. pyjoyment-0.1.0/t/lib/ServerStart.py +0 -105
  406. pyjoyment-0.1.0/t/servers/ASGI.py +0 -191
  407. pyjoyment-0.1.0/t/servers/HelloWorld.py +0 -46
  408. pyjoyment-0.1.0/t/servers/Mount.py +0 -635
  409. pyjoyment-0.1.0/t/servers/aws_s3.py +0 -134
  410. pyjoyment-0.1.0/t/stdlib/Date.py +0 -42
  411. pyjoyment-0.1.0/t/stdlib/File.py +0 -115
  412. pyjoyment-0.1.0/t/stdlib/IOLoop.py +0 -123
  413. pyjoyment-0.1.0/t/stdlib/IOLoop_Client.py +0 -229
  414. pyjoyment-0.1.0/t/stdlib/IOLoop_Stream.py +0 -114
  415. pyjoyment-0.1.0/t/stdlib/IOLoop_TLS.py +0 -125
  416. pyjoyment-0.1.0/t/stdlib/IOLoop_gc.py +0 -87
  417. pyjoyment-0.1.0/t/stdlib/Promise.py +0 -256
  418. pyjoyment-0.1.0/t/stdlib/Reactor_Asyncio.py +0 -369
  419. pyjoyment-0.1.0/t/stdlib/Server_ASGI.py +0 -79
  420. pyjoyment-0.1.0/t/stdlib/Server_Daemon.py +0 -252
  421. pyjoyment-0.1.0/t/stdlib/Server_WSGI.py +0 -91
  422. pyjoyment-0.1.0/t/stdlib/UserAgent.py +0 -233
  423. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/.proverc +0 -0
  424. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/LICENSE +0 -0
  425. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/App/CGI.py +0 -0
  426. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/App/FastCGI.py +0 -0
  427. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/App/WSGI.py +0 -0
  428. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/App/__init__.py +0 -0
  429. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/Asset/__init__.py +0 -0
  430. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/Base.py +0 -0
  431. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/Cache.py +0 -0
  432. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/Content/MultiPart.py +0 -0
  433. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/Content/Single.py +0 -0
  434. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/Cookie/Request.py +0 -0
  435. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/Cookie/Response.py +0 -0
  436. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/Cookie/__init__.py +0 -0
  437. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/Exception.py +0 -0
  438. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/Headers.py +0 -0
  439. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/HelloWorld.py +0 -0
  440. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/Home.py +0 -0
  441. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/IOLoop/ChildProcess.py +0 -0
  442. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/IOLoop/Client.py +0 -0
  443. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/IOLoop/Server.py +0 -0
  444. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/IOLoop/Stdio.py +0 -0
  445. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/IOLoop/Subprocess.py +0 -0
  446. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/IOLoop/TLS.py +0 -0
  447. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/IOLoop/__init__.py +0 -0
  448. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/JSON/Pointer.py +0 -0
  449. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/JSON/RPC.py +0 -0
  450. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/JSON/Schema.py +0 -0
  451. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/Message/Response.py +0 -0
  452. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/Parameters.py +0 -0
  453. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/Path.py +0 -0
  454. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/Reactor/Poll.py +0 -0
  455. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/SSE.py +0 -0
  456. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/Server/FastCGI.py +0 -0
  457. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/Server/Hot/__init__.py +0 -0
  458. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/Server/Hot/__main__.py +0 -0
  459. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/Server/Prefork.py +0 -0
  460. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/Server/Prethread.py +0 -0
  461. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/Server/Reload/Backend/Poll.py +0 -0
  462. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/Server/Reload/Backend/__init__.py +0 -0
  463. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/Server/Reload/__main__.py +0 -0
  464. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/Server/Stdio.py +0 -0
  465. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/Server/__init__.py +0 -0
  466. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/String/HTML.py +0 -0
  467. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/String/Mixin.py +0 -0
  468. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/String/Template.py +0 -0
  469. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/String/__init__.py +0 -0
  470. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/Test/Pyjo.py +0 -0
  471. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/Test/pytest_plugin.py +0 -0
  472. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/Transaction/HTTP.py +0 -0
  473. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/URL/__init__.py +0 -0
  474. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/Upload.py +0 -0
  475. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/UserAgent/CookieJar.py +0 -0
  476. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/UserAgent/Proxy.py +0 -0
  477. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/UserAgent/Server.py +0 -0
  478. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/UserAgent/Transactor.py +0 -0
  479. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/WebSocket.py +0 -0
  480. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjo/py.typed +0 -0
  481. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/Command/Author/__init__.py +0 -0
  482. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/Command/Author/generate/__init__.py +0 -0
  483. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/Command/Author/generate/lite_app.py +0 -0
  484. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/Command/Author/generate/pyproject.py +0 -0
  485. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/Command/version.py +0 -0
  486. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/HelloWorld.py +0 -0
  487. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/Lite.py +0 -0
  488. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/Plugin/AllowedHosts.py +0 -0
  489. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/Plugin/DefaultHelpers.py +0 -0
  490. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/Plugin/EPLRenderer.py +0 -0
  491. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/Plugin/EPRenderer.py +0 -0
  492. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/Plugin/HeaderCondition.py +0 -0
  493. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/Plugin/Health.py +0 -0
  494. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/Plugin/JSONConfig.py +0 -0
  495. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/Plugin/Mount.py +0 -0
  496. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/Plugin/TOMLConfig.py +0 -0
  497. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/Plugin/TagHelpers.py +0 -0
  498. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/Plugin/YAMLConfig.py +0 -0
  499. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/Plugin/__init__.py +0 -0
  500. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/Renderer.py +0 -0
  501. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/Routes/Match.py +0 -0
  502. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/Routes/Pattern.py +0 -0
  503. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/Routes/Route.py +0 -0
  504. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/Routes/__init__.py +0 -0
  505. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/Sessions.py +0 -0
  506. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/Types.py +0 -0
  507. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/Validator/Validation.py +0 -0
  508. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/Validator/__init__.py +0 -0
  509. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/__init__.py +0 -0
  510. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/__main__.py +0 -0
  511. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/py.typed +0 -0
  512. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/public/favicon.ico +0 -0
  513. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/public/favicon.svg +0 -0
  514. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/public/pyjo/bootstrap/LICENSE +0 -0
  515. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/public/pyjo/bootstrap/bootstrap.bundle.min.js.map +0 -0
  516. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/public/pyjo/bootstrap/bootstrap.css +0 -0
  517. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/public/pyjo/bootstrap/bootstrap.js +0 -0
  518. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/public/pyjo/bootstrap/bootstrap.min.css.map +0 -0
  519. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/public/pyjo/failunicat.png +0 -0
  520. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/public/pyjo/failunicat.svg +0 -0
  521. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/public/pyjo/highlight.js/LICENSE +0 -0
  522. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/public/pyjo/highlight.js/highlight-mojo-dark.css +0 -0
  523. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/public/pyjo/highlight.js/highlight.min.js +0 -0
  524. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/public/pyjo/highlight.js/pyjoyment.min.js +0 -0
  525. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/public/pyjo/logo-black-4x.png +0 -0
  526. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/public/pyjo/logo-black-4x.svg +0 -0
  527. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/public/pyjo/logo-white-2x.png +0 -0
  528. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/public/pyjo/logo-white-2x.svg +0 -0
  529. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/public/pyjo/logo-white-4x.png +0 -0
  530. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/public/pyjo/logo-white-4x.svg +0 -0
  531. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/public/pyjo/logo-white.png +0 -0
  532. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/public/pyjo/logo-white.svg +0 -0
  533. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/public/pyjo/logo.png +0 -0
  534. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/public/pyjo/logo.svg +0 -0
  535. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/public/pyjo/notfound.png +0 -0
  536. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/public/pyjo/notfound.svg +0 -0
  537. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/public/pyjo/nounicat.png +0 -0
  538. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/public/pyjo/nounicat.svg +0 -0
  539. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/public/pyjo/pinstripe-dark.png +0 -0
  540. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/public/pyjo/pinstripe-dark.svg +0 -0
  541. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/public/pyjo/pinstripe-light.png +0 -0
  542. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/public/pyjo/pinstripe-light.svg +0 -0
  543. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/public/pyjo/pyjo.css +0 -0
  544. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/templates/pyjo/exception.html.ep +0 -0
  545. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/Pyjoyment/resources/templates/pyjo/not_found.html.ep +0 -0
  546. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/.gitignore +0 -0
  547. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/Makefile +0 -0
  548. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/_static/mermaid.css +0 -0
  549. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo.rst +0 -0
  550. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_App.rst +0 -0
  551. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_App_ASGI.rst +0 -0
  552. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_App_CGI.rst +0 -0
  553. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_App_FastCGI.rst +0 -0
  554. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_App_Lambda.rst +0 -0
  555. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_App_WSGI.rst +0 -0
  556. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Asset.rst +0 -0
  557. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Asset_File.rst +0 -0
  558. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Asset_Memory.rst +0 -0
  559. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Base.rst +0 -0
  560. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Cache.rst +0 -0
  561. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Collection.rst +0 -0
  562. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Content.rst +0 -0
  563. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Content_MultiPart.rst +0 -0
  564. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Content_Single.rst +0 -0
  565. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Cookie.rst +0 -0
  566. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Cookie_Request.rst +0 -0
  567. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Cookie_Response.rst +0 -0
  568. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_DOM.rst +0 -0
  569. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_DOM_CSS.rst +0 -0
  570. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_DOM_HTML.rst +0 -0
  571. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Date.rst +0 -0
  572. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_EventEmitter.rst +0 -0
  573. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Exception.rst +0 -0
  574. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_File.rst +0 -0
  575. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_GetOpt.rst +0 -0
  576. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Headers.rst +0 -0
  577. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_HelloWorld.rst +0 -0
  578. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Home.rst +0 -0
  579. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_IOLoop.rst +0 -0
  580. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_IOLoop_ChildProcess.rst +0 -0
  581. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_IOLoop_Client.rst +0 -0
  582. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_IOLoop_Datagram.rst +0 -0
  583. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_IOLoop_Messages.rst +0 -0
  584. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_IOLoop_Server.rst +0 -0
  585. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_IOLoop_Stdio.rst +0 -0
  586. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_IOLoop_Stream.rst +0 -0
  587. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_IOLoop_Subprocess.rst +0 -0
  588. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_IOLoop_TLS.rst +0 -0
  589. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_JSON.rst +0 -0
  590. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_JSON_Pointer.rst +0 -0
  591. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_JSON_RPC.rst +0 -0
  592. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_JSON_Schema.rst +0 -0
  593. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Loader.rst +0 -0
  594. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Log.rst +0 -0
  595. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Message.rst +0 -0
  596. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Message_Request.rst +0 -0
  597. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Message_Response.rst +0 -0
  598. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Parameters.rst +0 -0
  599. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Path.rst +0 -0
  600. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Promise.rst +0 -0
  601. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Prove.rst +0 -0
  602. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Reactor.rst +0 -0
  603. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Reactor_Asyncio.rst +0 -0
  604. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Reactor_Poll.rst +0 -0
  605. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_SSE.rst +0 -0
  606. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Server.rst +0 -0
  607. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Server_ASGI.rst +0 -0
  608. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Server_CGI.rst +0 -0
  609. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Server_Daemon.rst +0 -0
  610. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Server_FastCGI.rst +0 -0
  611. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Server_Hot.rst +0 -0
  612. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Server_Lambda.rst +0 -0
  613. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Server_Prefork.rst +0 -0
  614. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Server_Prethread.rst +0 -0
  615. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Server_Reload.rst +0 -0
  616. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Server_Reload_Backend.rst +0 -0
  617. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Server_Reload_Backend_Poll.rst +0 -0
  618. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Server_Stdio.rst +0 -0
  619. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Server_WSGI.rst +0 -0
  620. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_String_Bytes.rst +0 -0
  621. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_String_HTML.rst +0 -0
  622. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_String_Mixin.rst +0 -0
  623. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_String_Template.rst +0 -0
  624. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_String_Unicode.rst +0 -0
  625. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_TOML.rst +0 -0
  626. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Template.rst +0 -0
  627. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Test.rst +0 -0
  628. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Test_Pyjo.rst +0 -0
  629. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Test_pytest_plugin.rst +0 -0
  630. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Transaction.rst +0 -0
  631. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Transaction_HTTP.rst +0 -0
  632. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Transaction_WebSocket.rst +0 -0
  633. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_URL.rst +0 -0
  634. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_URL_Template.rst +0 -0
  635. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Upload.rst +0 -0
  636. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_UserAgent.rst +0 -0
  637. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_UserAgent_CookieJar.rst +0 -0
  638. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_UserAgent_Proxy.rst +0 -0
  639. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_UserAgent_Server.rst +0 -0
  640. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_UserAgent_Transactor.rst +0 -0
  641. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_Util.rst +0 -0
  642. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_WebSocket.rst +0 -0
  643. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjo_YAML.rst +0 -0
  644. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment.rst +0 -0
  645. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Command.rst +0 -0
  646. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Command_Author.rst +0 -0
  647. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Command_Author_generate.rst +0 -0
  648. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Command_Author_generate_app.rst +0 -0
  649. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Command_Author_generate_dockerfile.rst +0 -0
  650. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Command_Author_generate_kubernetes.rst +0 -0
  651. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Command_Author_generate_lambda_zip.rst +0 -0
  652. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Command_Author_generate_lite_app.rst +0 -0
  653. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Command_Author_generate_plugin.rst +0 -0
  654. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Command_Author_generate_pyproject.rst +0 -0
  655. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Command_Author_inflate.rst +0 -0
  656. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Command_asgi.rst +0 -0
  657. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Command_cgi.rst +0 -0
  658. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Command_daemon.rst +0 -0
  659. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Command_eval.rst +0 -0
  660. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Command_fastcgi.rst +0 -0
  661. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Command_get.rst +0 -0
  662. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Command_lambda.rst +0 -0
  663. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Command_prefork.rst +0 -0
  664. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Command_prethread.rst +0 -0
  665. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Command_routes.rst +0 -0
  666. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Command_stdio.rst +0 -0
  667. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Command_version.rst +0 -0
  668. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Command_wsgi.rst +0 -0
  669. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Commands.rst +0 -0
  670. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Controller.rst +0 -0
  671. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_HelloWorld.rst +0 -0
  672. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Lite.rst +0 -0
  673. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Plugin.rst +0 -0
  674. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Plugin_AllowedHosts.rst +0 -0
  675. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Plugin_Config.rst +0 -0
  676. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Plugin_DefaultHelpers.rst +0 -0
  677. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Plugin_EPLRenderer.rst +0 -0
  678. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Plugin_EPRenderer.rst +0 -0
  679. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Plugin_HeaderCondition.rst +0 -0
  680. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Plugin_Health.rst +0 -0
  681. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Plugin_JSONConfig.rst +0 -0
  682. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Plugin_Mount.rst +0 -0
  683. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Plugin_PyRenderer.rst +0 -0
  684. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Plugin_TOMLConfig.rst +0 -0
  685. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Plugin_TagHelpers.rst +0 -0
  686. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Plugin_YAMLConfig.rst +0 -0
  687. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Plugins.rst +0 -0
  688. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Renderer.rst +0 -0
  689. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Routes.rst +0 -0
  690. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Routes_Match.rst +0 -0
  691. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Routes_Pattern.rst +0 -0
  692. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Routes_Route.rst +0 -0
  693. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Sessions.rst +0 -0
  694. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Static.rst +0 -0
  695. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Types.rst +0 -0
  696. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Validator.rst +0 -0
  697. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/Pyjoyment_Validator_Validation.rst +0 -0
  698. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/api/index.rst +0 -0
  699. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/backend.py +0 -0
  700. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/background.py +0 -0
  701. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/basic_auth.py +0 -0
  702. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/blocking.py +0 -0
  703. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/commands/MyApp/Command/spy.py +0 -0
  704. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/commands/MyApp/__init__.py +0 -0
  705. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/commands/MyApp/__main__.py +0 -0
  706. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/commands/Pyjoyment/Command/spy.py +0 -0
  707. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/config/myapp.conf +0 -0
  708. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/config/myapp.py +0 -0
  709. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/counter.py +0 -0
  710. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/delayed.py +0 -0
  711. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/echo.py +0 -0
  712. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/errors.py +0 -0
  713. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/health.py +0 -0
  714. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/hello.py +0 -0
  715. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/hosts.py +0 -0
  716. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/hosts_under.py +0 -0
  717. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/hot.py +0 -0
  718. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/installable/MyApp/__init__.py +0 -0
  719. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/installable/pyproject.toml +0 -0
  720. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/json_inline.py +0 -0
  721. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/jsonp.py +0 -0
  722. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/lambda/gateway.py +0 -0
  723. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/lambda/myapp.py +0 -0
  724. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/livelog.py +0 -0
  725. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/plugin/MyApp/Plugin/MyHelpers.py +0 -0
  726. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/plugin/myapp.py +0 -0
  727. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/proxy.py +0 -0
  728. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/sleepy.py +0 -0
  729. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/sort.py +0 -0
  730. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/stdio/client.py +0 -0
  731. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/stdio/lines.py +0 -0
  732. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/stdio/rpc.py +0 -0
  733. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/synchronizing.py +0 -0
  734. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/titles.py +0 -0
  735. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/upload.py +0 -0
  736. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/worker.py +0 -0
  737. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/wsgi/myapp.py +0 -0
  738. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/wsgi/myapp_wsgi.py +0 -0
  739. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/cookbook/wsgi/welcome.py +0 -0
  740. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/growing/foundation/myapp.py +0 -0
  741. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/growing/hybrid/MyApp/__init__.py +0 -0
  742. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/growing/hybrid/myapp.py +0 -0
  743. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/growing/login/MyApp/Controller/Login.py +0 -0
  744. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/growing/login/MyApp/Model/Users.py +0 -0
  745. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/growing/login/MyApp/__init__.py +0 -0
  746. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/growing/login/MyApp/__main__.py +0 -0
  747. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/growing/login/t/login.py +0 -0
  748. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/growing/login/templates/layouts/default.html.ep +0 -0
  749. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/growing/login/templates/login/index.html.ep +0 -0
  750. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/growing/login/templates/login/protected.html.ep +0 -0
  751. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/growing/model/myapp.py +0 -0
  752. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/growing/prototype/myapp.py +0 -0
  753. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/growing/prototype/t/login.py +0 -0
  754. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/mounting/api.py +0 -0
  755. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/mounting/legacy.py +0 -0
  756. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/mounting/myapp.py +0 -0
  757. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/mounting.rst +0 -0
  758. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/alert_assets/Pyjoyment/Plugin/AlertAssets/public/alertassets.js +0 -0
  759. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/alert_assets/Pyjoyment/Plugin/AlertAssets/templates/alertassets.html.ep +0 -0
  760. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/alert_assets/Pyjoyment/Plugin/AlertAssets.py +0 -0
  761. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/alert_assets_data/Pyjoyment/Plugin/AlertAssets.py +0 -0
  762. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/alert_me.py +0 -0
  763. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/before_render.py +0 -0
  764. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/blocks.py +0 -0
  765. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/cache_control.py +0 -0
  766. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/chunked.py +0 -0
  767. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/clock.py +0 -0
  768. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/compressed.py +0 -0
  769. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/content_for.py +0 -0
  770. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/csrf.py +0 -0
  771. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/debug_helper.py +0 -0
  772. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/debug_helper_plugin/Pyjoyment/Plugin/DebugHelper.py +0 -0
  773. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/debug_plugin.py +0 -0
  774. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/divide.py +0 -0
  775. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/exception_format.py +0 -0
  776. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/exception_template.py +0 -0
  777. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/favicon.py +0 -0
  778. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/form.py +0 -0
  779. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/heart.py +0 -0
  780. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/inheritance.py +0 -0
  781. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/layout.py +0 -0
  782. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/layout_title.py +0 -0
  783. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/leak_asset.py +0 -0
  784. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/leak_rendered.py +0 -0
  785. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/mine.py +0 -0
  786. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/mustache.py +0 -0
  787. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/my_renderer/Pyjoyment/Plugin/MyRenderer.py +0 -0
  788. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/partial.py +0 -0
  789. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/pickled.py +0 -0
  790. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/public/foo/bar.png +0 -0
  791. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/public/index.html +0 -0
  792. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/range_check.py +0 -0
  793. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/static_files.py +0 -0
  794. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/streaming.py +0 -0
  795. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/streaming_finish.py +0 -0
  796. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/trim_newline.py +0 -0
  797. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering/validation.py +0 -0
  798. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/rendering.rst +0 -0
  799. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/routing/app_plugin/EmbeddedApp.py +0 -0
  800. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/routing/app_plugin/MyApp/__init__.py +0 -0
  801. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/routing/app_plugin/Pyjoyment/Plugin/MyEmbeddedApp.py +0 -0
  802. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/routing/embed/MyApp/Controller/Bar.py +0 -0
  803. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/routing/embed_lite/MyApp/Controller/Bar.py +0 -0
  804. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/routing/hooks/MyApp/__init__.py +0 -0
  805. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/routing/minimal/MyApp/Controller/Foo.py +0 -0
  806. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/routing/minimal/MyApp/__init__.py +0 -0
  807. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/routing/special/MyApp/Controller/Foo.py +0 -0
  808. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/routing/special/MyApp/__init__.py +0 -0
  809. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/routing/websockets/MyApp/Controller/Foo.py +0 -0
  810. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/routing/werewolf/MyApp/__init__.py +0 -0
  811. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/routing/werewolf/Pyjoyment/Plugin/WerewolfCondition.py +0 -0
  812. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/routing.rst +0 -0
  813. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/testing/TestLocation.py +0 -0
  814. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/testing/celestial.py +0 -0
  815. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/testing/echo.py +0 -0
  816. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/testing/login.py +0 -0
  817. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/testing/weather/MyApp/__init__.py +0 -0
  818. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/testing.rst +0 -0
  819. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/blocks.py +0 -0
  820. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/conditions.py +0 -0
  821. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/content_negotiation.py +0 -0
  822. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/exception_pages.py +0 -0
  823. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/external_templates.py +0 -0
  824. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/file_uploads.py +0 -0
  825. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/formats.py +0 -0
  826. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/hello_world.py +0 -0
  827. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/helpers.py +0 -0
  828. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/home.py +0 -0
  829. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/http_methods.py +0 -0
  830. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/json_reverse.py +0 -0
  831. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/json_rpc.py +0 -0
  832. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/layouts.py +0 -0
  833. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/mode.py +0 -0
  834. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/optional_formats.py +0 -0
  835. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/optional_placeholders.py +0 -0
  836. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/parameters.py +0 -0
  837. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/placeholders.py +0 -0
  838. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/plugins.py +0 -0
  839. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/relaxed_placeholders.py +0 -0
  840. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/request_response.py +0 -0
  841. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/restrictive_placeholders.py +0 -0
  842. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/restrictive_regex.py +0 -0
  843. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/route_names.py +0 -0
  844. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/routes.py +0 -0
  845. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/sessions.py +0 -0
  846. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/stash.py +0 -0
  847. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/static_files.py +0 -0
  848. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/under_authentication.py +0 -0
  849. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/under_group.py +0 -0
  850. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/under_prefix.py +0 -0
  851. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/websockets.py +0 -0
  852. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial/wildcard_placeholders.py +0 -0
  853. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/guides/tutorial.rst +0 -0
  854. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/license.rst +0 -0
  855. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/make.bat +0 -0
  856. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/docs/requirements.txt +0 -0
  857. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/README.md +0 -0
  858. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/aws/s3.py +0 -0
  859. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/lambda/function/phpinfo.php +0 -0
  860. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/lambda/url.tf +0 -0
  861. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/lambda_stream/function/app.py +0 -0
  862. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/lambda_stream/function/wrapper.py +0 -0
  863. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/lambda_stream/outputs.tf +0 -0
  864. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/lambda_stream/url.tf +0 -0
  865. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/lambda_zip/function/app.py +0 -0
  866. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/lambda_zip/outputs.tf +0 -0
  867. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/lambda_zip/url.tf +0 -0
  868. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/mount/cgi-bin/hello.py +0 -0
  869. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/mount/hello_asgi.py +0 -0
  870. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/mount/hello_lambda.py +0 -0
  871. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/mount/hello_mangum.py +0 -0
  872. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/mount/hello_wsgi.py +0 -0
  873. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/mount/mount_asgi.py +0 -0
  874. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/mount/mount_asgi_inception.py +0 -0
  875. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/mount/mount_cgi.py +0 -0
  876. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/mount/mount_cgi_php.py +0 -0
  877. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/mount/mount_fastcgi_php.py +0 -0
  878. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/mount/mount_lambda.py +0 -0
  879. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/mount/mount_lambda_inception.py +0 -0
  880. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/mount/mount_lambda_mangum.py +0 -0
  881. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/mount/mount_mcp.py +0 -0
  882. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/mount/mount_wsgi.py +0 -0
  883. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/mount/mount_wsgi_inception.py +0 -0
  884. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/mount/php/index.php +0 -0
  885. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/mount/php/php-fpm.conf +0 -0
  886. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/mount/php/phpinfo.php +0 -0
  887. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjo/base.pl +0 -0
  888. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjo/base.py +0 -0
  889. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjo/eventemitter.pl +0 -0
  890. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjo/eventemitter.py +0 -0
  891. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjo/eventemitter_imper.py +0 -0
  892. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjo/eventemitter_profile.py +0 -0
  893. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjo/http_benchmark.pl +0 -0
  894. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjo/http_benchmark.py +0 -0
  895. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjo/http_benchmark_imper.py +0 -0
  896. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjo/ioloop.pl +0 -0
  897. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjo/ioloop.py +0 -0
  898. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjo/ioloop_imper.py +0 -0
  899. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjo/microhttp.pl +0 -0
  900. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjo/microhttp.py +0 -0
  901. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjo/microhttp_imper.py +0 -0
  902. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjo/microhttpd.pl +0 -0
  903. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjo/microhttpd.py +0 -0
  904. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjo/microhttpd_imper.py +0 -0
  905. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjo/resolv_dns.pl +0 -0
  906. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjo/resolv_dns.py +0 -0
  907. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjo/tcp_proxy.py +0 -0
  908. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjo/timers.pl +0 -0
  909. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjo/timers.py +0 -0
  910. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjo/timers_lambda.py +0 -0
  911. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjo/timers_obj.py +0 -0
  912. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjo/timers_obj_imper.py +0 -0
  913. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjo/url_utf8.pl +0 -0
  914. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjo/url_utf8.py +0 -0
  915. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjoyment/hello.pl +0 -0
  916. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjoyment/hello.py +0 -0
  917. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjoyment/json_rpc.py +0 -0
  918. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjoyment/json_schema.py +0 -0
  919. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjoyment/json_schema_examples/LICENSE +0 -0
  920. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjoyment/json_schema_examples/README.md +0 -0
  921. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjoyment/json_schema_examples/address.json +0 -0
  922. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjoyment/json_schema_examples/address.schema.json +0 -0
  923. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjoyment/json_schema_examples/blog-post.json +0 -0
  924. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjoyment/json_schema_examples/blog-post.schema.json +0 -0
  925. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjoyment/json_schema_examples/calendar.json +0 -0
  926. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjoyment/json_schema_examples/calendar.schema.json +0 -0
  927. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjoyment/json_schema_examples/device.json +0 -0
  928. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjoyment/json_schema_examples/device.schema.json +0 -0
  929. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjoyment/json_schema_examples/ecommerce.json +0 -0
  930. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjoyment/json_schema_examples/ecommerce.schema.json +0 -0
  931. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjoyment/json_schema_examples/geographical-location.json +0 -0
  932. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjoyment/json_schema_examples/geographical-location.schema.json +0 -0
  933. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjoyment/json_schema_examples/health-record.json +0 -0
  934. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjoyment/json_schema_examples/health-record.schema.json +0 -0
  935. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjoyment/json_schema_examples/job-posting.json +0 -0
  936. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjoyment/json_schema_examples/job-posting.schema.json +0 -0
  937. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjoyment/json_schema_examples/laptop.schema.json +0 -0
  938. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjoyment/json_schema_examples/movie.json +0 -0
  939. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjoyment/json_schema_examples/movie.schema.json +0 -0
  940. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjoyment/json_schema_examples/smartphone.schema.json +0 -0
  941. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjoyment/json_schema_examples/user-profile.json +0 -0
  942. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjoyment/json_schema_examples/user-profile.schema.json +0 -0
  943. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjoyment/title.pl +0 -0
  944. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/pyjoyment/title.py +0 -0
  945. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/servers/bootstrap +0 -0
  946. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/servers/hello_world.py +0 -0
  947. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/servers/hello_world_lambda.py +0 -0
  948. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/servers/hello_world_uvicorn.py +0 -0
  949. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/servers/hello_world_werkzeug.py +0 -0
  950. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/servers/http_server.py +0 -0
  951. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/servers/server_asgi_on_request.py +0 -0
  952. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/servers/server_cgi_on_request.pl +0 -0
  953. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/servers/server_cgi_on_request.py +0 -0
  954. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/servers/server_daemon_on_request.pl +0 -0
  955. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/servers/server_daemon_on_request.py +0 -0
  956. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/servers/server_psgi_on_request.pl +0 -0
  957. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/servers/server_wsgi_on_request.py +0 -0
  958. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/ua/entities.pl +0 -0
  959. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/ua/get.pl +0 -0
  960. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/ua/get.py +0 -0
  961. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/ua/loopback.py +0 -0
  962. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/examples/ua/user_agent.py +0 -0
  963. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/App.py +0 -0
  964. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/App_CGI.py +0 -0
  965. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/App_Lambda.py +0 -0
  966. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/App_WSGI.py +0 -0
  967. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Asset.py +0 -0
  968. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Base.py +0 -0
  969. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Cache.py +0 -0
  970. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Collection.py +0 -0
  971. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Content.py +0 -0
  972. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Cookie.py +0 -0
  973. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Date.py +0 -0
  974. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/EventEmitter.py +0 -0
  975. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Exception.py +0 -0
  976. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/File_download.py +0 -0
  977. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Headers.py +0 -0
  978. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Home.py +0 -0
  979. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/IOLoop_ChildProcess.py +0 -0
  980. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/IOLoop_Datagram.py +0 -0
  981. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/IOLoop_IPv6.py +0 -0
  982. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/IOLoop_Messages.py +0 -0
  983. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/IOLoop_TLS.py +0 -0
  984. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/JSON_Pointer.py +0 -0
  985. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/JSON_Schema.py +0 -0
  986. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/JSON_Schema_lazy.py +0 -0
  987. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/JSON_Schema_suite.py +0 -0
  988. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/JSON_Schema_validate.py +0 -0
  989. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/JSON_Schema_zod.py +0 -0
  990. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/JSON_stdlib.py +0 -0
  991. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Loader.py +0 -0
  992. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Message_Request.py +0 -0
  993. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Message_Request_CGI.py +0 -0
  994. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Parameters.py +0 -0
  995. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Path.py +0 -0
  996. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Promise.py +0 -0
  997. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Promise_async_await.py +0 -0
  998. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Reactor_detect.py +0 -0
  999. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/SSE.py +0 -0
  1000. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Server_CGI.py +0 -0
  1001. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Server_Daemon.py +0 -0
  1002. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Server_Daemon_IPv6_TLS.py +0 -0
  1003. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Server_FastCGI.py +0 -0
  1004. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Server_Hot.py +0 -0
  1005. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Server_Lambda.py +0 -0
  1006. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Server_Prefork.py +0 -0
  1007. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Server_Prethread.py +0 -0
  1008. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Server_Reload.py +0 -0
  1009. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Server_Stdio.py +0 -0
  1010. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Server_WSGI.py +0 -0
  1011. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/String_HTML.py +0 -0
  1012. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/String_Mixin.py +0 -0
  1013. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/String_Template.py +0 -0
  1014. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/String_Template_native.py +0 -0
  1015. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Subprocess.py +0 -0
  1016. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/TLS.py +0 -0
  1017. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Template.py +0 -0
  1018. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Test_Pyjo.py +0 -0
  1019. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/Test_pytest_plugin.py +0 -0
  1020. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/URL.py +0 -0
  1021. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/UserAgent_CookieJar.py +0 -0
  1022. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/UserAgent_Proxy.py +0 -0
  1023. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/UserAgent_TLS.py +0 -0
  1024. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/UserAgent_Transactor.py +0 -0
  1025. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/UserAgent_socks.py +0 -0
  1026. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/UserAgent_unix.py +0 -0
  1027. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/WebSocket.py +0 -0
  1028. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/WebSocket_frames.py +0 -0
  1029. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/WebSocket_proxy.py +0 -0
  1030. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjo/WebSocket_proxy_TLS.py +0 -0
  1031. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/Dispatch.py +0 -0
  1032. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/Pattern.py +0 -0
  1033. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/Renderer.py +0 -0
  1034. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/Routes.py +0 -0
  1035. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/Types.py +0 -0
  1036. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/allowed_hosts_lite_app.py +0 -0
  1037. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/app.py +0 -0
  1038. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/asgi_lite_app.py +0 -0
  1039. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/charset_lite_app.py +0 -0
  1040. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/dispatcher_lite_app.py +0 -0
  1041. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/embedded_app.py +0 -0
  1042. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/embedded_lite_app.json +0 -0
  1043. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/embedded_lite_app.py +0 -0
  1044. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/exception_lite_app.py +0 -0
  1045. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/external_app.py +0 -0
  1046. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/external_lite_app.py +0 -0
  1047. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/group_lite_app.py +0 -0
  1048. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/helper_types_lite_app.py +0 -0
  1049. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/hints_lite_app.py +0 -0
  1050. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/json_config_lite_app.json +0 -0
  1051. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/json_config_lite_app.py +0 -0
  1052. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/json_config_lite_app_abs.development.json +0 -0
  1053. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/json_config_lite_app_abs.json +0 -0
  1054. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/json_config_mode_lite_app.json +0 -0
  1055. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/json_config_mode_lite_app.py +0 -0
  1056. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/json_config_mode_lite_app.testing.json +0 -0
  1057. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/layouted_lite_app.py +0 -0
  1058. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/lite_app.py +0 -0
  1059. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/log_lite_app.py +0 -0
  1060. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/longpolling_lite_app.py +0 -0
  1061. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/mount_lite_app.py +0 -0
  1062. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/multipath_lite_app.py +0 -0
  1063. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/production_app.py +0 -0
  1064. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/proxy_app.py +0 -0
  1065. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/public/assets/foo/bar/baz.123.js +0 -0
  1066. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/public/assets/foo/bar/baz.development.js +0 -0
  1067. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/public/assets/foo/bar/test.ab1234cd5678ef.min.js +0 -0
  1068. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/public/assets/foo/bar/yada.css +0 -0
  1069. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/public/assets/foo/bar.321.js +0 -0
  1070. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/public/assets/foo.ab1234cd5678ef.css +0 -0
  1071. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/public/assets/foo.ab1234cd5678ef.js +0 -0
  1072. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/public/hello.txt +0 -0
  1073. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/public/hello2.txt +0 -0
  1074. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/public/hello4.txt +0 -0
  1075. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/public2/hello.txt +0 -0
  1076. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/public2/hello3.txt +0 -0
  1077. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/public_dev/another/file +0 -0
  1078. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/public_dev/hello.txt +0 -0
  1079. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/py_lite_app.py +0 -0
  1080. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/py_native_lite_app.py +0 -0
  1081. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/pyjoyment_config_test.whatever.conf +0 -0
  1082. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/rebased_lite_app.py +0 -0
  1083. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/restful_lite_app.py +0 -0
  1084. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/secret.txt +0 -0
  1085. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/session_lite_app.py +0 -0
  1086. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/signatures_lite_app.py +0 -0
  1087. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/single_file_test_app.conf +0 -0
  1088. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/sse_lite_app.py +0 -0
  1089. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/static_lite_app.py +0 -0
  1090. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/static_prefix_lite_app.py +0 -0
  1091. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/tag_helper_lite_app.py +0 -0
  1092. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/templates/23.html.epl +0 -0
  1093. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/templates/WithGreenLayout.html.epl +0 -0
  1094. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/templates/dies_too.html.ep +0 -0
  1095. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/templates/encoding.koi8-r.ep +0 -0
  1096. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/templates/exception.html.epl +0 -0
  1097. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/templates/exception.testing.html.ep +0 -0
  1098. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/templates/foo/bar/index.html.epl +0 -0
  1099. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/templates/foo/bar/test.html.ep +0 -0
  1100. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/templates/foo/bar.rss.ep +0 -0
  1101. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/templates/foo/index.html.xpl +0 -0
  1102. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/templates/foo/yada.html.ep +0 -0
  1103. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/templates/layouts/default.html.epl +0 -0
  1104. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/templates/layouts/green.html.epl +0 -0
  1105. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/templates/not_found.testing.html.ep +0 -0
  1106. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/templates/syntaxerror.html.epl +0 -0
  1107. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/templates/withblock.txt.epl +0 -0
  1108. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/templates2/42.html+test.ep +0 -0
  1109. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/templates2/42.html.ep +0 -0
  1110. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/templates2/foo/yada.html.epl +0 -0
  1111. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/testing_app.py +0 -0
  1112. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/tls_lite_app.py +0 -0
  1113. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/toml_config_lite_app.py +0 -0
  1114. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/toml_config_lite_app.toml +0 -0
  1115. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/toml_config_lite_app_abs.development.toml +0 -0
  1116. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/toml_config_lite_app_abs.toml +0 -0
  1117. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/twinkle_lite_app.conf +0 -0
  1118. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/twinkle_lite_app.py +0 -0
  1119. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/upload_lite_app.py +0 -0
  1120. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/upload_stream_lite_app.py +0 -0
  1121. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/validation_lite_app.py +0 -0
  1122. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/websocket_lite_app.py +0 -0
  1123. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/wsgi_lite_app.py +0 -0
  1124. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/yaml_config_lite_app.py +0 -0
  1125. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/yaml_config_lite_app.yaml +0 -0
  1126. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/yaml_config_lite_app.yml +0 -0
  1127. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/yaml_config_lite_app_abs.development.yml +0 -0
  1128. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/Pyjoyment/yaml_config_lite_app_abs.yml +0 -0
  1129. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/README.md +0 -0
  1130. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/cookies/curl.txt +0 -0
  1131. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/App.py +0 -0
  1132. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/App_ASGI.py +0 -0
  1133. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/App_CGI.py +0 -0
  1134. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/App_FastCGI.py +0 -0
  1135. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/App_Lambda.py +0 -0
  1136. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/App_WSGI.py +0 -0
  1137. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Asset.py +0 -0
  1138. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Asset_File.py +0 -0
  1139. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Asset_Memory.py +0 -0
  1140. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Base.py +0 -0
  1141. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Cache.py +0 -0
  1142. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Content.py +0 -0
  1143. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Content_MultiPart.py +0 -0
  1144. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Content_Single.py +0 -0
  1145. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Cookie.py +0 -0
  1146. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Cookie_Request.py +0 -0
  1147. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Cookie_Response.py +0 -0
  1148. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/DOM_HTML.py +0 -0
  1149. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Exception.py +0 -0
  1150. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/GetOpt.py +0 -0
  1151. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Headers.py +0 -0
  1152. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/HelloWorld.py +0 -0
  1153. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Home.py +0 -0
  1154. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/IOLoop.py +0 -0
  1155. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/IOLoop_ChildProcess.py +0 -0
  1156. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/IOLoop_Client.py +0 -0
  1157. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/IOLoop_Server.py +0 -0
  1158. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/IOLoop_Stdio.py +0 -0
  1159. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/IOLoop_Subprocess.py +0 -0
  1160. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/IOLoop_TLS.py +0 -0
  1161. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/JSON_Pointer.py +0 -0
  1162. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/JSON_RPC.py +0 -0
  1163. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/JSON_Schema.py +0 -0
  1164. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Loader.py +0 -0
  1165. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Log.py +0 -0
  1166. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Message.py +0 -0
  1167. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Message_Request.py +0 -0
  1168. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Message_Response.py +0 -0
  1169. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Parameters.py +0 -0
  1170. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Path.py +0 -0
  1171. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Promise.py +0 -0
  1172. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Prove.py +0 -0
  1173. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Command.py +0 -0
  1174. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Command_Author_generate.py +0 -0
  1175. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Command_Author_generate_app.py +0 -0
  1176. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Command_Author_generate_dockerfile.py +0 -0
  1177. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Command_Author_generate_kubernetes.py +0 -0
  1178. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Command_Author_generate_lambda_zip.py +0 -0
  1179. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Command_Author_generate_lite_app.py +0 -0
  1180. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Command_Author_generate_plugin.py +0 -0
  1181. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Command_Author_generate_pyproject.py +0 -0
  1182. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Command_Author_inflate.py +0 -0
  1183. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Command_asgi.py +0 -0
  1184. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Command_cgi.py +0 -0
  1185. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Command_daemon.py +0 -0
  1186. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Command_eval.py +0 -0
  1187. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Command_fastcgi.py +0 -0
  1188. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Command_get.py +0 -0
  1189. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Command_lambda.py +0 -0
  1190. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Command_prefork.py +0 -0
  1191. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Command_prethread.py +0 -0
  1192. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Command_routes.py +0 -0
  1193. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Command_stdio.py +0 -0
  1194. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Command_version.py +0 -0
  1195. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Command_wsgi.py +0 -0
  1196. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Commands.py +0 -0
  1197. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Controller.py +0 -0
  1198. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_HelloWorld.py +0 -0
  1199. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Lite.py +0 -0
  1200. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Plugin.py +0 -0
  1201. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Plugin_AllowedHosts.py +0 -0
  1202. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Plugin_Config.py +0 -0
  1203. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Plugin_DefaultHelpers.py +0 -0
  1204. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Plugin_EPLRenderer.py +0 -0
  1205. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Plugin_EPRenderer.py +0 -0
  1206. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Plugin_HeaderCondition.py +0 -0
  1207. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Plugin_Health.py +0 -0
  1208. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Plugin_JSONConfig.py +0 -0
  1209. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Plugin_Mount.py +0 -0
  1210. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Plugin_PyRenderer.py +0 -0
  1211. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Plugin_TOMLConfig.py +0 -0
  1212. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Plugin_TagHelpers.py +0 -0
  1213. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Plugin_YAMLConfig.py +0 -0
  1214. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Plugins.py +0 -0
  1215. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Renderer.py +0 -0
  1216. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Routes.py +0 -0
  1217. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Routes_Match.py +0 -0
  1218. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Routes_Pattern.py +0 -0
  1219. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Routes_Route.py +0 -0
  1220. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Sessions.py +0 -0
  1221. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Static.py +0 -0
  1222. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Types.py +0 -0
  1223. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Validator.py +0 -0
  1224. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_Validator_Validation.py +0 -0
  1225. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Pyjoyment_init.py +0 -0
  1226. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Reactor.py +0 -0
  1227. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Reactor_Asyncio.py +0 -0
  1228. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Reactor_Poll.py +0 -0
  1229. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/SSE.py +0 -0
  1230. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Server.py +0 -0
  1231. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Server_ASGI.py +0 -0
  1232. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Server_CGI.py +0 -0
  1233. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Server_Daemon.py +0 -0
  1234. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Server_FastCGI.py +0 -0
  1235. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Server_Lambda.py +0 -0
  1236. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Server_Prefork.py +0 -0
  1237. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Server_Prethread.py +0 -0
  1238. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Server_Reload_Backend.py +0 -0
  1239. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Server_Reload_Backend_Poll.py +0 -0
  1240. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Server_Stdio.py +0 -0
  1241. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Server_WSGI.py +0 -0
  1242. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/String_Bytes.py +0 -0
  1243. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/String_HTML.py +0 -0
  1244. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/String_Mixin.py +0 -0
  1245. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/String_Template.py +0 -0
  1246. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/String_Unicode.py +0 -0
  1247. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Template.py +0 -0
  1248. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Test_pytest_plugin.py +0 -0
  1249. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Transaction.py +0 -0
  1250. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Transaction_HTTP.py +0 -0
  1251. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Transaction_WebSocket.py +0 -0
  1252. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/URL.py +0 -0
  1253. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/Upload.py +0 -0
  1254. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/UserAgent_CookieJar.py +0 -0
  1255. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/UserAgent_Proxy.py +0 -0
  1256. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/UserAgent_Server.py +0 -0
  1257. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/UserAgent_Transactor.py +0 -0
  1258. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/WebSocket.py +0 -0
  1259. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/guides_faq.py +0 -0
  1260. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/guides_growing.py +0 -0
  1261. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/guides_index.py +0 -0
  1262. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/guides_mounting.py +0 -0
  1263. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/guides_rendering.py +0 -0
  1264. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/guides_routing.py +0 -0
  1265. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/guides_testing.py +0 -0
  1266. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/skills.py +0 -0
  1267. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/skills_api.py +0 -0
  1268. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/skills_app.py +0 -0
  1269. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/skills_deploy.py +0 -0
  1270. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/skills_event_loop.py +0 -0
  1271. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/skills_lite.py +0 -0
  1272. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/skills_migration.py +0 -0
  1273. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/skills_mojolicious.py +0 -0
  1274. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/skills_plugins.py +0 -0
  1275. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/skills_scraping.py +0 -0
  1276. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/skills_templates.py +0 -0
  1277. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/skills_tests.py +0 -0
  1278. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/docs/usages.py +0 -0
  1279. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/examples/lambda/app.py +0 -0
  1280. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/examples/lambda_stream/app.py +0 -0
  1281. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/examples/lambda_zip/app.py +0 -0
  1282. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/examples/mount/mount_asgi.py +0 -0
  1283. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/examples/mount/mount_asgi_inception.py +0 -0
  1284. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/examples/mount/mount_cgi.py +0 -0
  1285. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/examples/mount/mount_lambda.py +0 -0
  1286. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/examples/mount/mount_lambda_inception.py +0 -0
  1287. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/examples/mount/mount_wsgi.py +0 -0
  1288. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/examples/mount/mount_wsgi_inception.py +0 -0
  1289. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/examples/pyjo/base.py +0 -0
  1290. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/examples/pyjo/eventemitter.py +0 -0
  1291. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/examples/pyjo/eventemitter_imper.py +0 -0
  1292. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/examples/pyjo/http_benchmark.py +0 -0
  1293. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/examples/pyjo/ioloop.py +0 -0
  1294. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/examples/pyjo/ioloop_imper.py +0 -0
  1295. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/examples/pyjo/timers.py +0 -0
  1296. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/examples/pyjo/timers_lambda.py +0 -0
  1297. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/examples/pyjo/timers_obj.py +0 -0
  1298. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/examples/pyjo/timers_obj_imper.py +0 -0
  1299. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/examples/pyjo/url_utf8.py +0 -0
  1300. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/examples/pyjoyment/hello.py +0 -0
  1301. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/examples/pyjoyment/json_rpc.py +0 -0
  1302. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/examples/pyjoyment/json_schema.py +0 -0
  1303. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/examples/pyjoyment/title.py +0 -0
  1304. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/examples/servers/bootstrap.py +0 -0
  1305. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/examples/servers/hello_world_lambda.py +0 -0
  1306. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/examples/servers/http_server.py +0 -0
  1307. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/examples/ua/user_agent.py +0 -0
  1308. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/lib/ASGIClient.py +0 -0
  1309. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/lib/RuntimeAPI.py +0 -0
  1310. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/lib/ServerProcess.py +0 -0
  1311. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/lib/Skills.py +0 -0
  1312. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/lib/SocksServer.py +0 -0
  1313. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/lib/TestConnectProxy.py +0 -0
  1314. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/lib/TestReactor.py +0 -0
  1315. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/servers/CGI.py +0 -0
  1316. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/servers/JSON_Schema_pydantic.py +0 -0
  1317. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/servers/WSGI.py +0 -0
  1318. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/App.py +0 -0
  1319. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/Asset.py +0 -0
  1320. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/Base.py +0 -0
  1321. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/Cache.py +0 -0
  1322. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/Collection.py +0 -0
  1323. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/Content.py +0 -0
  1324. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/Cookie.py +0 -0
  1325. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/DOM.py +0 -0
  1326. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/EventEmitter.py +0 -0
  1327. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/Exception.py +0 -0
  1328. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/Headers.py +0 -0
  1329. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/Home.py +0 -0
  1330. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/IOLoop_Datagram.py +0 -0
  1331. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/IOLoop_Server.py +0 -0
  1332. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/IOLoop_Subprocess.py +0 -0
  1333. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/IOLoop_threading.py +0 -0
  1334. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/JSON.py +0 -0
  1335. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/Loader.py +0 -0
  1336. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/Log.py +0 -0
  1337. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/Message.py +0 -0
  1338. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/Parameters.py +0 -0
  1339. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/Path.py +0 -0
  1340. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/Reactor_Poll.py +0 -0
  1341. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/SSE.py +0 -0
  1342. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/Server.py +0 -0
  1343. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/Server_CGI.py +0 -0
  1344. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/Server_Hot.py +0 -0
  1345. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/Server_Prefork.py +0 -0
  1346. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/Server_Prethread.py +0 -0
  1347. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/Server_Reload.py +0 -0
  1348. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/String_Mixin.py +0 -0
  1349. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/String_Template.py +0 -0
  1350. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/Template.py +0 -0
  1351. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/Test_Pyjo.py +0 -0
  1352. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/Transaction.py +0 -0
  1353. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/URL.py +0 -0
  1354. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/Upload.py +0 -0
  1355. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/UserAgent_CookieJar.py +0 -0
  1356. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/UserAgent_Proxy.py +0 -0
  1357. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/UserAgent_Server.py +0 -0
  1358. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/UserAgent_Transactor.py +0 -0
  1359. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/Util.py +0 -0
  1360. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/stdlib/WebSocket.py +0 -0
  1361. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/templates/exception.ep +0 -0
  1362. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/templates/test.ep +0 -0
  1363. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/t/templates/utf8_exception.ep +0 -0
  1364. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/README.md +0 -0
  1365. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/docker-smoke/Caddyfile +0 -0
  1366. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/docker-smoke/Dockerfile.caddy +0 -0
  1367. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/docker-smoke/Dockerfile.lambda +0 -0
  1368. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/docker-smoke/Dockerfile.lambda-stream +0 -0
  1369. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/docker-smoke/app.sh +0 -0
  1370. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/docker-smoke/events/payload-1.0.json +0 -0
  1371. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/docker-smoke/events/payload-2.0.json +0 -0
  1372. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/docker-smoke/fastcgi.sh +0 -0
  1373. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/docker-smoke/invoke.py +0 -0
  1374. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/docker-smoke/kubernetes.sh +0 -0
  1375. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/docker-smoke/lambda-image.sh +0 -0
  1376. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/docker-smoke/lambda-stream.sh +0 -0
  1377. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/docker-smoke/lambda-zip.sh +0 -0
  1378. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/docker-smoke/lambda.sh +0 -0
  1379. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/docker-smoke/lib.sh +0 -0
  1380. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/docker-smoke/lite-pep723.sh +0 -0
  1381. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/docker-smoke/lite.sh +0 -0
  1382. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/docker-smoke/smoke.sh +0 -0
  1383. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/external/lib/MyApp.py +0 -0
  1384. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/external/my_app.conf +0 -0
  1385. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/external/my_app.testing.conf +0 -0
  1386. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/external/myapp.conf +0 -0
  1387. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/external/myapp.py +0 -0
  1388. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/external/myapp.testing.conf +0 -0
  1389. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/external/myapp2.py +0 -0
  1390. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/external/public/index.html +0 -0
  1391. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/external/script/my_app +0 -0
  1392. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/external/templates/index.html.ep +0 -0
  1393. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/lib/AroundPlugin.py +0 -0
  1394. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/lib/EmbeddedTestApp.py +0 -0
  1395. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/lib/MyTestApp/Test1.py +0 -0
  1396. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/lib/MyTestApp/Test2.py +0 -0
  1397. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/lib/MyTestApp/__init__.py +0 -0
  1398. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/lib/PluginWithEmbeddedApp/App.py +0 -0
  1399. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/lib/PluginWithEmbeddedApp/__init__.py +0 -0
  1400. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/lib/PyjoymentConfigTest.py +0 -0
  1401. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/lib/PyjoymentTest/Baz.py +0 -0
  1402. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/lib/PyjoymentTest/Command/__init__.py +0 -0
  1403. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/lib/PyjoymentTest/Command/_test2_command.py +0 -0
  1404. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/lib/PyjoymentTest/Command/test_command.py +0 -0
  1405. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/lib/PyjoymentTest/Controller/Foo/Bar.py +0 -0
  1406. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/lib/PyjoymentTest/Exceptional.py +0 -0
  1407. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/lib/PyjoymentTest/Foo.py +0 -0
  1408. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/lib/PyjoymentTest/Plugin/DeploymentPlugin.py +0 -0
  1409. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/lib/PyjoymentTest/Plugin/Test/SomePlugin2.py +0 -0
  1410. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/lib/PyjoymentTest/Plugin/UPPERCASETestPlugin.py +0 -0
  1411. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/lib/PyjoymentTest/Plugin/__init__.py +0 -0
  1412. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/lib/PyjoymentTest/SideEffects/Test.py +0 -0
  1413. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/lib/PyjoymentTest/__init__.py +0 -0
  1414. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/lib/PyjoymentTest2/Foo.py +0 -0
  1415. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/lib/PyjoymentTest3/Bar.py +0 -0
  1416. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/lib/PyjoymentTest3/Baz.py +0 -0
  1417. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/lib/SingleFileTestApp.py +0 -0
  1418. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/lib/TestApp.py +0 -0
  1419. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/pytest/myapp.py +0 -0
  1420. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/pytest/pyproject.toml +0 -0
  1421. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/pytest/t/died.py +0 -0
  1422. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/pytest/t/fail.py +0 -0
  1423. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/pytest/t/pass.py +0 -0
  1424. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/pytest/t/requires.py +0 -0
  1425. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/pytest/t/skip.py +0 -0
  1426. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/pytest/t/test_named.py +0 -0
  1427. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/pytest/tests/conftest.py +0 -0
  1428. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/pytest/tests/test_app.py +0 -0
  1429. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/pytest/tests/test_functions.py +0 -0
  1430. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/pytest/xt/bail.py +0 -0
  1431. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/pytest/xt/sleep.py +0 -0
  1432. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/pytest/xt/test_bail.py +0 -0
  1433. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/templates/files/dies.html.py +0 -0
  1434. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/templates/files/hello.html.py +0 -0
  1435. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/templates/files/item.html.py +0 -0
  1436. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/templates/files/items.html.py +0 -0
  1437. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/templates/files/no_render.html.py +0 -0
  1438. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/templates/files/text.txt.py +0 -0
  1439. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/templates/layouts/files.html.py +0 -0
  1440. {pyjoyment-0.1.0 → pyjoyment-0.3.0}/tt/templates_native/native.html.py +0 -0
@@ -0,0 +1,68 @@
1
+ # The parts of https://www.toptal.com/developers/gitignore/api/python,node,macos,visualstudiocode
2
+ # that apply here; a path is anchored where it could match a directory of the
3
+ # project, as "lib/" of the template would match t/lib. hatchling builds the
4
+ # packages without the files that this file ignores.
5
+
6
+ # Python
7
+ __pycache__/
8
+ *.py[cod]
9
+ *$py.class
10
+ *.so
11
+ *.egg-info/
12
+ .eggs/
13
+ /build/
14
+ /dist/
15
+
16
+ # The SBOM of a release, which the workflow Release creates for the sdist
17
+ /pyjoyment-*.spdx.json
18
+
19
+ # Virtual environments of uv, of the tests of the servers and of the benchmarks
20
+ .venv
21
+ .venv-*
22
+ benchmarks/venv/
23
+
24
+ # Caches of the tools
25
+ .ruff_cache/
26
+
27
+ # The working directories of OpenTofu, with the archives of the functions, the locks
28
+ # of the providers, which are not locked, the states and the variables of each one
29
+ .terraform/
30
+ .terraform.lock.hcl
31
+ *.tfstate
32
+ *.tfstate.*
33
+ *.tfvars
34
+
35
+ # The ZIP files of the functions that "generate lambda-zip" writes for OpenTofu
36
+ examples/*/function/dist/
37
+
38
+ # Logs, as the one of TF_LOG_PATH of OpenTofu
39
+ *.log
40
+
41
+ # The packages of npm, which npm run bundle copies from
42
+ node_modules/
43
+ npm-debug.log*
44
+
45
+ # macOS
46
+ .DS_Store
47
+ ._*
48
+
49
+ # Editors
50
+ .idea/
51
+ .vscode/
52
+
53
+ # Secrets, as in the rules of .claude/settings.json
54
+ .env
55
+ .env.*
56
+ .envrc
57
+ .pypirc
58
+ *.jks
59
+ *.keystore
60
+ *.p12
61
+ *.pfx
62
+ *.pem
63
+ *.key
64
+ # The keys of the default certificates for TLS servers, like in Mojo, and clients
65
+ !/Pyjo/IOLoop/certs/server.key
66
+ !/Pyjo/IOLoop/certs/client.key
67
+ # Certificates of the tests, like t/mojo/certs in Mojo
68
+ !/t/certs/*.key
@@ -0,0 +1,491 @@
1
+ Metadata-Version: 2.5
2
+ Name: Pyjoyment
3
+ Version: 0.3.0
4
+ Summary: Glue, run and ship Python applications. Zero dependencies.
5
+ Project-URL: Homepage, https://github.com/pyjoyment/Pyjoyment
6
+ Project-URL: Documentation, https://pyjoyment.readthedocs.io/
7
+ Project-URL: Source, https://github.com/pyjoyment/Pyjoyment
8
+ Project-URL: Issues, https://github.com/pyjoyment/Pyjoyment/issues
9
+ Project-URL: Changelog, https://github.com/pyjoyment/Pyjoyment/releases
10
+ Author-email: Piotr Roszatycki <piotr.roszatycki@gmail.com>
11
+ License-Expression: Artistic-2.0
12
+ License-File: LICENSE
13
+ Keywords: asgi,async,asyncio,aws-lambda,framework,html,http,json-rpc,json-schema,mojo,mojolicious,pyjo,pyjoyment,tap,test,web,websocket,wsgi
14
+ Classifier: Development Status :: 3 - Alpha
15
+ Classifier: Environment :: Web Environment
16
+ Classifier: Framework :: AsyncIO
17
+ Classifier: Framework :: Pytest
18
+ Classifier: Intended Audience :: Developers
19
+ Classifier: Operating System :: OS Independent
20
+ Classifier: Programming Language :: Python :: 3
21
+ Classifier: Programming Language :: Python :: 3 :: Only
22
+ Classifier: Programming Language :: Python :: 3.12
23
+ Classifier: Programming Language :: Python :: 3.13
24
+ Classifier: Programming Language :: Python :: 3.14
25
+ Classifier: Programming Language :: Python :: 3.15
26
+ Classifier: Programming Language :: Python :: Free Threading :: 2 - Beta
27
+ Classifier: Programming Language :: Python :: Implementation :: CPython
28
+ Classifier: Programming Language :: Python :: Implementation :: PyPy
29
+ Classifier: Topic :: File Formats :: JSON :: JSON Schema
30
+ Classifier: Topic :: Internet :: WWW/HTTP
31
+ Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
32
+ Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
33
+ Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
34
+ Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
35
+ Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Server
36
+ Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
37
+ Classifier: Topic :: Software Development :: Testing
38
+ Classifier: Topic :: Text Processing :: Markup :: HTML
39
+ Classifier: Typing :: Typed
40
+ Requires-Python: >=3.12
41
+ Description-Content-Type: text/markdown
42
+
43
+ [![Home](https://img.shields.io/badge/%F0%9F%8F%A0-Pyjoyment-02a7a0)](https://github.com/pyjoyment/Pyjoyment)
44
+ [![GitHub](https://img.shields.io/github/stars/pyjoyment/Pyjoyment?style=flat&label=GitHub%20%E2%AD%90&logo=github)](https://github.com/pyjoyment/Pyjoyment)
45
+ [![Documentation](https://img.shields.io/badge/docs-Read_the_Docs-blue?logo=readthedocs&logoColor=white)](https://pyjoyment.readthedocs.io/en/stable/)
46
+ [![DeepWiki](https://img.shields.io/badge/Ask-DeepWiki-blue)](https://deepwiki.com/pyjoyment/Pyjoyment)
47
+ [![License](https://img.shields.io/github/license/pyjoyment/Pyjoyment.svg)](https://github.com/pyjoyment/Pyjoyment/blob/main/LICENSE)
48
+ [![PyPI](https://img.shields.io/pypi/v/Pyjoyment?logo=pypi&logoColor=white)](https://pypi.org/project/Pyjoyment/)
49
+ [![Tests](https://github.com/pyjoyment/Pyjoyment/actions/workflows/tests.yaml/badge.svg?branch=main)](https://github.com/pyjoyment/Pyjoyment/actions/workflows/tests.yaml)
50
+ [![Trunk Check](https://github.com/pyjoyment/Pyjoyment/actions/workflows/trunk-check.yaml/badge.svg?branch=main)](https://github.com/pyjoyment/Pyjoyment/actions/workflows/trunk-check.yaml)
51
+
52
+ # Pyjoyment
53
+
54
+ <p align="center">
55
+ <picture>
56
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/pyjoyment/Pyjoyment/main/Pyjoyment/resources/public/pyjo/logo-white-4x.png">
57
+ <img src="https://raw.githubusercontent.com/pyjoyment/Pyjoyment/main/Pyjoyment/resources/public/pyjo/logo-black-4x.png" alt="Pyjoyment" width="322">
58
+ </picture>
59
+ </p>
60
+
61
+ **Glue, run and ship Python applications. Zero dependencies.**
62
+
63
+ Pyjoyment is one environment for the whole life of a Python service: the
64
+ toolkit it is made of, the framework that puts its parts together with the
65
+ applications of other frameworks, the servers that run them, the files that
66
+ deploy them, and the clients that connect them to the services around them.
67
+
68
+ ## Zero dependencies
69
+
70
+ Pyjoyment has no runtime dependencies. The HTTP and WebSocket server and
71
+ client, the event loop, the parsers of HTML, JSON, YAML, TOML and INI,
72
+ JSON Schema, the templates and the test harness are all in its package, on
73
+ top of the Python standard library. An application that installs Pyjoyment
74
+ adds one package to its supply chain, and nothing that the package would
75
+ pull in after it. Each release comes with the attestations of its build and an SBOM.
76
+
77
+ ## Next to other frameworks
78
+
79
+ Pyjoyment does not compete with Flask, Django or FastAPI: it complements
80
+ them. It mounts their applications next to its own routes, on the same
81
+ server, glues them to other services, and runs and deploys them together.
82
+
83
+ ## Foundation
84
+
85
+ `Pyjo` is the toolkit, which every other part is made of, and which works on
86
+ its own, without the framework:
87
+
88
+ - HTTP and WebSocket client and server, with TLS.
89
+ - Event loop with promises and `async`/`await`, with TCP, UDP and UNIX
90
+ domain sockets, timers and child processes.
91
+ - HTML/XML parser with CSS selectors.
92
+ - JSON with JSON Pointers and JSON Schema, from type hints and validated,
93
+ YAML, TOML and INI, all loaded and dumped.
94
+ - JSON-RPC 2.0, its server and its client, over HTTP or any other transport.
95
+ - Templates and template strings, with automatic escaping.
96
+ - Containers for URLs, paths, query strings, headers, cookies and HTTP
97
+ messages.
98
+ - Collections and lazy iterators, whose chains run with `for` and `async for`
99
+ alike.
100
+ - Command line options, event emitter, logger and utility functions.
101
+ - Test library and test harness.
102
+
103
+ A script uses the toolkit without a server: the user agent requests the HTML
104
+ specification, and the CSS selectors of its DOM pick the rows of the table of
105
+ the named character references, whose names and code points the script
106
+ prints, as `Aacute; U+000C1`.
107
+
108
+ The processing is concurrent. The request blocks here, as a script expects,
109
+ and the same request is non-blocking with `get_p`, whose promise is awaited
110
+ or chained, so that a script or an application runs many of them at once in
111
+ its event loop and processes each response as it comes. The DOM is searched
112
+ with `iterate`, a lazy chain, which passes the elements on one by one, so that
113
+ the first row is printed before the last one is picked:
114
+
115
+ ```python
116
+ import Pyjo.UserAgent
117
+
118
+ from Pyjo.String.Unicode import u
119
+
120
+
121
+ # Extract named character references from HTML spec
122
+ tx = Pyjo.UserAgent.new().get('https://html.spec.whatwg.org')
123
+ for n in tx.res.dom().iterate('#named-character-references-table tbody > tr'):
124
+ u(n.at('td > code').text + ' ' + n.children('td')[1].text).trim().say()
125
+ ```
126
+
127
+ ### Event loop
128
+
129
+ The event loop of Pyjoyment is the one of asyncio by default, so the
130
+ coroutines and the tasks of the libraries of asyncio run in the same loop as
131
+ its servers and clients. A reactor is where the event loop is replaced, when
132
+ an application needs another I/O library: `Pyjo.Reactor.Poll` runs without
133
+ asyncio, on `select.poll`, and on `select.select` on Windows, with a standard
134
+ installation of Python and nothing else. On PyPy, whose JIT compiles it, it
135
+ serves requests as fast as the servers of Python whose event loop and HTTP
136
+ parser are compiled from C or Rust. A distribution of its own adds another
137
+ reactor, as `Pyjo.Reactor.Twisted`, which `PYJO_REACTOR` selects, with no
138
+ change of the application.
139
+
140
+ ### Tests
141
+
142
+ `Pyjo.Test` is a library of assertions and `Pyjo.Prove` a harness for test
143
+ scripts that print the [Test Anything Protocol](https://testanything.org/)
144
+ (TAP), modelled on `Test::More` and `prove`, the standard ones of Perl, and
145
+ `Pyjo.Test.Pyjo` tests an application with its requests, without a server.
146
+ The framework itself is tested with them.
147
+
148
+ An application is tested with any test framework, as an assertion of
149
+ `Pyjo.Test` raises `AssertionError` once `raise_failures()` is called, and
150
+ pytest is integrated out of the box: Pyjoyment comes with a plugin of pytest,
151
+ which pytest loads where Pyjoyment is installed, and which runs the test
152
+ scripts of `Pyjo.Test` as tests of pytest, and gives the tests of pytest the
153
+ fixture `t`, the `Pyjo.Test.Pyjo` of the application.
154
+
155
+ ## Composition
156
+
157
+ `Pyjoyment` is the framework: routes, controllers, the renderer with
158
+ templates and template strings, plugins, configuration in Python, JSON, YAML,
159
+ TOML and INI files, the commands, and `Pyjoyment.Lite`, where a single file
160
+ is a whole application:
161
+
162
+ ```python
163
+ from Pyjoyment.Lite import *
164
+
165
+
166
+ get('/', {'text': 'I ♥ Pyjoyment!'})
167
+
168
+ app.start()
169
+ ```
170
+
171
+ The applications of other frameworks are its components. The plugin `Mount`
172
+ puts each under a path or a host, next to the routes of the application, in
173
+ the same process and on the same server:
174
+
175
+ - WSGI applications, as those of Flask and Django;
176
+ - ASGI applications, as those of Starlette and FastAPI and the servers of the
177
+ MCP SDK, whose responses stream at the pace of the client, with their
178
+ WebSockets;
179
+ - FastCGI applications, as PHP on php-fpm, which it connects to;
180
+ - CGI programs, which it runs, as a web server does;
181
+ - event functions of AWS Lambda, which it runs in a process of their own, as
182
+ Lambda does;
183
+ - other applications of Pyjoyment.
184
+
185
+ ```python
186
+ import Pyjo.App.Lambda
187
+
188
+ from Pyjo.File import curfile
189
+ from Pyjoyment.Lite import *
190
+
191
+
192
+ # The WSGI application of hello_wsgi.py, the ASGI application of hello_asgi.py and the event function of AWS Lambda of
193
+ # hello_lambda.py, next to this script, on one server, next to the routes of this application
194
+ plugin('Mount', {'/wsgi': 'hello_wsgi:app'})
195
+ plugin('Mount', {'/asgi': 'hello_asgi:app'})
196
+ plugin('Mount', {'/lambda': Pyjo.App.Lambda.new(function='hello_lambda.handler', task_root=curfile().dirname())})
197
+
198
+ get('/', {'text': 'I ♥ Pyjoyment!'})
199
+
200
+ app.start()
201
+ ```
202
+
203
+ ## Both sides of the interface
204
+
205
+ Pyjoyment works in two roles for each interface that Python and the web
206
+ servers have: it hosts the applications of that interface, and it is one of
207
+ them, on the server of another.
208
+
209
+ | Interface | Pyjoyment hosts | Pyjoyment runs on |
210
+ | ---------- | ---------------------------------------------- | ------------------------------------------------ |
211
+ | WSGI | Flask, Django, any WSGI application | any WSGI server, as gunicorn |
212
+ | ASGI | Starlette, FastAPI, any ASGI application | any ASGI server, as uvicorn |
213
+ | FastCGI | PHP on php-fpm, any FastCGI application | a web server in front of it, as Caddy |
214
+ | CGI | CGI programs, as Python or PHP scripts | a web server that runs CGI programs |
215
+ | AWS Lambda | event functions, as the runtime of Lambda does | Lambda, as an event function or a custom runtime |
216
+
217
+ `Pyjo.HelloWorld`, the application that answers `Your Pyjo is working!`, on
218
+ uvicorn, as the ASGI application that `Pyjo.Server.ASGI` makes of it:
219
+
220
+ ```python
221
+ import Pyjo.HelloWorld
222
+ import Pyjo.Server.ASGI
223
+
224
+ import uvicorn
225
+
226
+
227
+ app = Pyjo.Server.ASGI.new(app=Pyjo.HelloWorld.new()).to_asgi_app()
228
+
229
+ uvicorn.run(app, port=3000)
230
+ ```
231
+
232
+ ## Runtime
233
+
234
+ The servers of Pyjoyment run an application on its event loop, from one
235
+ process to many:
236
+
237
+ - `daemon`, the non-blocking HTTP and WebSocket server, with TLS;
238
+ - `prefork`, with worker processes, for Linux, macOS and other systems with
239
+ `fork`;
240
+ - `prethread`, with worker threads, for Windows, and for the free-threaded
241
+ build of Python anywhere;
242
+ - `pyjo-hot`, with worker processes and deployment without downtime, which
243
+ `HUP` starts, for systems with `fork`;
244
+ - `pyjo-reload`, for development, which restarts the server when a file
245
+ changes.
246
+
247
+ Each stops gracefully on `TERM`, finishing the requests in progress, and runs
248
+ the hooks of the application around its life, `before_server_start` and
249
+ `after_server_stop`, in each process and thread. The plugin `Health` answers
250
+ the probes of liveness, readiness and startup, whose readiness fails as soon as
251
+ the server starts to stop.
252
+
253
+ ```console
254
+ $ pyjo-reload hello.py
255
+ Web application available at http://127.0.0.1:3000
256
+ ```
257
+
258
+ ## Deployment
259
+
260
+ The commands of an application write what deploys it:
261
+
262
+ ```sh
263
+ ./myapp.py generate pyproject # the project, for uv
264
+ ./myapp.py generate dockerfile # the image of a container
265
+ ./myapp.py generate kubernetes # the manifests of Kubernetes, with Kustomize
266
+ ./myapp.py generate lambda-zip # the ZIP files of an event function of AWS Lambda
267
+ ```
268
+
269
+ The server listens on the port of `PORT`, as Knative, Cloud Run, Render,
270
+ Koyeb and Heroku set it, and stops gracefully on the `TERM` of its container.
271
+ On AWS Lambda, an application is an event function, which answers the events
272
+ of API Gateway, Function URLs and Application Load Balancers:
273
+
274
+ ```python
275
+ import Pyjo.HelloWorld
276
+ import Pyjo.Server.Lambda
277
+
278
+
279
+ # The handler "hello_world_lambda.handler" of an event function of AWS Lambda
280
+ handler = Pyjo.Server.Lambda.new(app=Pyjo.HelloWorld.new()).to_lambda_app()
281
+ ```
282
+
283
+ On a custom runtime, as `provided.al2023`, its `bootstrap` runs it with the
284
+ runtime client of Pyjoyment:
285
+
286
+ ```sh
287
+ #!/bin/sh
288
+ # The bootstrap of a custom runtime of AWS Lambda, as provided.al2023, which runs the handler of the function, as
289
+ # "hello_world_lambda.handler" of _HANDLER, with the runtime client of Pyjoyment
290
+ exec python3 -m Pyjo.Server.Lambda
291
+ ```
292
+
293
+ The public layers of
294
+ [Pyjoyment-Lambda-Layers](https://github.com/pyjoyment/Pyjoyment-Lambda-Layers)
295
+ bring Python, of any version, and Pyjoyment to such a function, which carries
296
+ its application only, as `generate lambda-zip --function-only` writes it.
297
+
298
+ ## Integration
299
+
300
+ An application talks to the services around it from the same event loop that
301
+ serves its requests, without blocking it:
302
+
303
+ - the user agent of HTTP and WebSocket, with promises and `async`/`await`;
304
+ - the client of JSON-RPC 2.0;
305
+ - event functions of AWS Lambda, which it runs as the runtime of Lambda does,
306
+ as components of the application;
307
+ - the libraries of asyncio, as the asynchronous AWS SDK, whose coroutines run
308
+ in the same event loop.
309
+
310
+ A page of the application opens a WebSocket to it and sends it a URL, which
311
+ the application requests with its user agent, without blocking the other
312
+ connections, and sends back the title of the page. The template of the page is
313
+ in the docstring of the script, after the line `__DATA__`:
314
+
315
+ ```python
316
+ """
317
+ __DATA__
318
+
319
+ @@ index.html.ep
320
+ % url = url_for('title')
321
+ <script>
322
+ const ws = new WebSocket('<%= url.to_abs() %>');
323
+ ws.onmessage = function (event) { document.body.innerHTML += event.data };
324
+ ws.onopen = function (event) { ws.send('https://mojolicious.org') };
325
+ </script>
326
+ """
327
+
328
+ from Pyjoyment.Lite import *
329
+
330
+
331
+ # Render template "index.html.ep" from the DATA section
332
+ @get('/')
333
+ def index(c):
334
+ c.render(template='index')
335
+
336
+
337
+ # WebSocket service used by the template to extract the title from a website
338
+ @websocket('/title')
339
+ def title(c):
340
+ @c.on('message')
341
+ def message(c, msg):
342
+ c.ua().get_p(msg).then(lambda tx: c.send(tx.result.dom().at('title').text))
343
+
344
+
345
+ app.start()
346
+ ```
347
+
348
+ ### Model Context Protocol
349
+
350
+ [Pyjo-MCP](https://pyjoyment.readthedocs.io/projects/pyjo-mcp/en/stable/) is
351
+ the [Model Context Protocol](https://modelcontextprotocol.io) made of the
352
+ parts of Pyjoyment: its server is a route of an application, whose tools,
353
+ prompts and resources are functions with the schemas of their type hints, its
354
+ client is the user agent, and `Pyjo.MCP.Test` tests a server with the
355
+ requests of the client, without starting it. It depends on Pyjoyment and on
356
+ nothing else:
357
+
358
+ ```sh
359
+ pip install Pyjo-MCP
360
+ ```
361
+
362
+ ## Interoperability
363
+
364
+ The tests of Pyjoyment run it with the software on the other side of each
365
+ interface:
366
+
367
+ - **WSGI:** on Gunicorn, uWSGI, Waitress and Werkzeug, and Flask mounted in
368
+ Pyjoyment.
369
+ - **ASGI:** on uvicorn and Hypercorn, both on asyncio and on uvloop, on Daphne
370
+ and on Granian, and Starlette and the servers of the MCP SDK mounted in
371
+ Pyjoyment.
372
+ - **FastCGI:** behind Caddy, and PHP on php-fpm mounted in Pyjoyment.
373
+ - **CGI**, for the legacy applications: on the CGI server of `http.server`
374
+ and on uWSGI, and the CGI scripts of Python and of PHP on php-cgi mounted in
375
+ Pyjoyment.
376
+ - **AWS Lambda:** on the images of Lambda for Python and on the custom runtime
377
+ `provided.al2023`, with the emulator of the Runtime API, and Starlette on
378
+ Mangum as an event function that Pyjoyment runs.
379
+ - **Containers:** the image of `generate dockerfile` on Docker, and the
380
+ manifests of `generate kubernetes` on a cluster of kind.
381
+ - **Event loops:** asyncio, the loop of `Pyjo.Reactor.Poll`, and Twisted,
382
+ whose reactor passes the whole test suite of Pyjoyment.
383
+ - **Libraries:** pytest, with pytest-xdist, the asynchronous AWS SDK on the
384
+ event loop of the server, and the JSON Schemas of pydantic next to those of
385
+ the type hints of `Pyjo.JSON.Schema`.
386
+
387
+ Inside the application, the classes of `Pyjo` take the types of the Python
388
+ standard library and turn back into them, so that the code around Pyjoyment
389
+ needs no adapters:
390
+
391
+ - `Pyjo.URL` from and to the `SplitResult` of `urllib.parse`;
392
+ - `Pyjo.Date` from and to `datetime`, and `float(date)` is the epoch;
393
+ - `Pyjo.File` is a path-like object, and `to_path()` is a `pathlib.Path`;
394
+ - `Pyjo.Headers` from and to the `Message` of `email.message`;
395
+ - the requests and the responses of HTTP from and to those of
396
+ `urllib.request` and `http.client`;
397
+ - the cookies from the `Morsel` of `http.cookies`;
398
+ - `Pyjo.Collection` is a `list`, `Pyjo.String.Unicode` a `str`, and a promise
399
+ is awaited in a coroutine of asyncio.
400
+
401
+ The text files that Pyjoyment reads are Unicode, not only UTF-8: a byte order
402
+ mark of UTF-8, UTF-16 or UTF-32, as Windows PowerShell and the editors of
403
+ Windows write it, gives the encoding of a configuration file, a template or a
404
+ document of JSON or YAML, so that a file made on Windows loads as it is.
405
+
406
+ ## Installation
407
+
408
+ Pyjoyment is installed from [PyPI](https://pypi.org/project/Pyjoyment/):
409
+
410
+ ```sh
411
+ pip install Pyjoyment
412
+ ```
413
+
414
+ or, in a project managed with [uv](https://docs.astral.sh/uv/):
415
+
416
+ ```sh
417
+ uv add Pyjoyment
418
+ ```
419
+
420
+ A new project or script comes from its generator, which uv runs without
421
+ installing Pyjoyment first:
422
+
423
+ ```sh
424
+ uvx --from Pyjoyment pyjo generate app MyApp
425
+ uvx --from Pyjoyment pyjo generate lite-app myapp.py
426
+ ```
427
+
428
+ The skills for coding agents that write applications with Pyjoyment are a
429
+ plugin of [Claude Code](https://code.claude.com/docs/en/plugins), whose
430
+ `SKILL.md` files other agents read too:
431
+
432
+ ```text
433
+ /plugin install pyjoyment --marketplace pyjoyment/Pyjoyment
434
+ ```
435
+
436
+ or from the shell, as the extensions of the editors have no `/plugin`:
437
+
438
+ ```sh
439
+ claude plugin install pyjoyment --marketplace pyjoyment/Pyjoyment
440
+ ```
441
+
442
+ ## Status
443
+
444
+ Pyjoyment is an evolution of [Mojolicious](https://mojolicious.org), the
445
+ real-time web framework for Perl. It keeps the API of Mojolicious with Python
446
+ names, so its documentation and experience carry over, and the tests of
447
+ Mojolicious, ported with each module, are the specification that the code
448
+ follows. A ported module names the Mojolicious version it was ported from in
449
+ its documentation.
450
+
451
+ Pyjoyment requires Python 3.12 or newer and runs on PyPy on a best-effort
452
+ basis. It runs on Linux, macOS and Windows. On Windows, Python has no
453
+ `os.fork` and no UNIX domain sockets, so `Pyjo.Server.Prefork`,
454
+ `Pyjo.Server.Hot`, `Pyjo.Server.Reload` and `Pyjo.IOLoop.Subprocess` do not
455
+ run there, and `Pyjo.Server.Prethread` runs the workers in threads instead.
456
+ The event loop watches up to 512 sockets there, with the `select` of Windows,
457
+ and a server stops with Ctrl-C, gracefully, or with Ctrl-Break, immediately.
458
+
459
+ ## Distributions
460
+
461
+ What needs another library, or follows a specification that is revised more
462
+ often than Pyjoyment is released, is a distribution of its own, which adds a
463
+ module to a namespace of Pyjoyment, as `Pyjo.Reactor` for a reactor,
464
+ `Pyjoyment.Plugin` for a plugin or `Pyjo` for a protocol.
465
+
466
+ - [Pyjo.AWS - Amazon Web Services for Pyjoyment](https://github.com/pyjoyment/Pyjo-AWS)
467
+ - [Pyjo.GCP - Google Cloud for Pyjoyment](https://github.com/pyjoyment/Pyjo-GCP)
468
+ - [Pyjo.MCP - Model Context Protocol for Pyjoyment](https://github.com/pyjoyment/Pyjo-MCP)
469
+ - [Pyjo.Reactor.Gevent - Low-level event reactor on gevent](https://github.com/pyjoyment/Pyjo-Reactor-Gevent)
470
+ - [Pyjo.Reactor.Trio - Low-level event reactor on Trio](https://github.com/pyjoyment/Pyjo-Reactor-Trio)
471
+ - [Pyjo.Reactor.Twisted - Low-level event reactor with Twisted support](https://github.com/pyjoyment/Pyjo-Reactor-Twisted)
472
+ - [Pyjo.Reactor.Uvloop - Low-level event reactor on uvloop](https://github.com/pyjoyment/Pyjo-Reactor-Uvloop)
473
+ - [Pyjo.Reactor.Winloop - Low-level event reactor on Winloop](https://github.com/pyjoyment/Pyjo-Reactor-Winloop)
474
+
475
+ ## Documentation
476
+
477
+ The documentation is on [Read the Docs](https://pyjoyment.readthedocs.io/).
478
+
479
+ ## Copyright and license
480
+
481
+ Copyright (C) 2014-2026, Piotr Roszatycki.
482
+
483
+ Based on Mojolicious: Copyright (C) 2008-2025, Sebastian Riedel and others.
484
+
485
+ This program is free software, you can redistribute it and/or modify it under
486
+ the terms of the Artistic License version 2.0.
487
+
488
+ The pages of errors bundle [Bootstrap](https://getbootstrap.com), with
489
+ Popper, under the MIT License, and [highlight.js](https://highlightjs.org)
490
+ under the BSD 3-Clause License, whose texts are next to them in
491
+ `Pyjoyment/resources/public/pyjo`.