reactpy_django 5.0.0__tar.gz → 5.1.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 (133) hide show
  1. {reactpy_django-5.0.0/src/reactpy_django.egg-info → reactpy_django-5.1.0}/PKG-INFO +6 -3
  2. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/README.md +1 -1
  3. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/setup.py +4 -2
  4. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/__init__.py +1 -1
  5. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/config.py +5 -1
  6. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/decorators.py +2 -6
  7. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/hooks.py +3 -3
  8. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/http/views.py +2 -0
  9. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/pyscript/layout_handler.py +1 -1
  10. reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/client.js +158 -0
  11. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/codemirror-BEtcgaoQ.js → reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/codemirror-CAEZ6Sg7.js +2 -2
  12. reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/codemirror-CAEZ6Sg7.js.map +1 -0
  13. reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/codemirror_commands-BPM8HxXO.js +2 -0
  14. reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/codemirror_commands-BPM8HxXO.js.map +1 -0
  15. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/codemirror_lang-python-CnWnFqxD.js → reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/codemirror_lang-python-DvjhpaK2.js +2 -2
  16. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/codemirror_lang-python-CnWnFqxD.js.map → reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/codemirror_lang-python-DvjhpaK2.js.map +1 -1
  17. reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/codemirror_language-4kk4Aqm3.js +2 -0
  18. reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/codemirror_language-4kk4Aqm3.js.map +1 -0
  19. reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/codemirror_state-1d1uncXx.js +2 -0
  20. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/codemirror_state-D1qTXrff.js.map → reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/codemirror_state-1d1uncXx.js.map +1 -1
  21. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/codemirror_view-DVb8uYMr.js → reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/codemirror_view-aIuSN42d.js +2 -2
  22. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/codemirror_view-DVb8uYMr.js.map → reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/codemirror_view-aIuSN42d.js.map +1 -1
  23. reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/core-Dwn9Kajy.js +2 -0
  24. reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/core-Dwn9Kajy.js.map +1 -0
  25. reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/core.js +2 -0
  26. reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/deprecations-manager-DIHNZWz_.js +2 -0
  27. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/deprecations-manager-pFtn19mE.js.map → reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/deprecations-manager-DIHNZWz_.js.map +1 -1
  28. reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/donkey-Kizedq97.js +2 -0
  29. reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/donkey-Kizedq97.js.map +1 -0
  30. reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/error-BfyeLDjZ.js +2 -0
  31. reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/error-BfyeLDjZ.js.map +1 -0
  32. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/index-S1Do43bx.js → reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/index-DqgFLybq.js +2 -2
  33. reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/index-DqgFLybq.js.map +1 -0
  34. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/mpy-DovD7Qjy.js → reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/mpy-CxE3qRrh.js +2 -2
  35. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/mpy-DovD7Qjy.js.map → reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/mpy-CxE3qRrh.js.map +1 -1
  36. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/py-BUsUWVJg.js → reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/py-DiOXdevv.js +2 -2
  37. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/py-BUsUWVJg.js.map → reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/py-DiOXdevv.js.map +1 -1
  38. reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/py-editor-Cv0G1Dg0.js +2 -0
  39. reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/py-editor-Cv0G1Dg0.js.map +1 -0
  40. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/py-terminal-CH_wV7wQ.js → reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/py-terminal-BiLONerl.js +2 -2
  41. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/py-terminal-CH_wV7wQ.js.map → reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/py-terminal-BiLONerl.js.map +1 -1
  42. reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/storage.js +2 -0
  43. reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/storage.js.map +1 -0
  44. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/static/reactpy_django/pyscript/toml-CvAfdf9_.js.map +1 -1
  45. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/static/reactpy_django/pyscript/toml-DiUM0_qs.js.map +1 -1
  46. reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/xterm-readline-CZfBw7ic.js.map +1 -0
  47. reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/zip-Bf48tRr5.js +2 -0
  48. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/zip-DrwYHuF9.js.map → reactpy_django-5.1.0/src/reactpy_django/static/reactpy_django/pyscript/zip-Bf48tRr5.js.map +1 -1
  49. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/utils.py +1 -1
  50. {reactpy_django-5.0.0 → reactpy_django-5.1.0/src/reactpy_django.egg-info}/PKG-INFO +6 -3
  51. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django.egg-info/SOURCES.txt +32 -30
  52. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django.egg-info/requires.txt +1 -1
  53. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/client.js +0 -1
  54. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/codemirror-BEtcgaoQ.js.map +0 -1
  55. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/codemirror_commands-DDxffOmd.js +0 -2
  56. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/codemirror_commands-DDxffOmd.js.map +0 -1
  57. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/codemirror_language-CjmvX4ix.js +0 -2
  58. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/codemirror_language-CjmvX4ix.js.map +0 -1
  59. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/codemirror_state-D1qTXrff.js +0 -2
  60. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/core-CjO3FOKB.js +0 -2
  61. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/core-CjO3FOKB.js.map +0 -1
  62. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/core.js +0 -2
  63. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/deprecations-manager-pFtn19mE.js +0 -2
  64. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/error-tq-z48YI.js +0 -2
  65. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/error-tq-z48YI.js.map +0 -1
  66. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/index-S1Do43bx.js.map +0 -1
  67. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/py-editor-CeySmmer.js +0 -2
  68. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/py-editor-CeySmmer.js.map +0 -1
  69. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/storage.js +0 -2
  70. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/storage.js.map +0 -1
  71. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/xterm-readline-CZfBw7ic.js.map +0 -1
  72. reactpy_django-5.0.0/src/reactpy_django/static/reactpy_django/pyscript/zip-DrwYHuF9.js +0 -2
  73. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/LICENSE.md +0 -0
  74. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/MANIFEST.in +0 -0
  75. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/pyproject.toml +0 -0
  76. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/setup.cfg +0 -0
  77. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/apps.py +0 -0
  78. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/checks.py +0 -0
  79. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/clean.py +0 -0
  80. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/components.py +0 -0
  81. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/database.py +0 -0
  82. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/exceptions.py +0 -0
  83. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/html.py +0 -0
  84. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/http/__init__.py +0 -0
  85. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/http/urls.py +0 -0
  86. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/management/__init__.py +0 -0
  87. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/management/commands/__init__.py +0 -0
  88. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/management/commands/clean_reactpy.py +0 -0
  89. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/migrations/0001_initial.py +0 -0
  90. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/migrations/0002_rename_created_at_componentparams_last_accessed.py +0 -0
  91. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/migrations/0003_componentsession_delete_componentparams.py +0 -0
  92. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/migrations/0004_config.py +0 -0
  93. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/migrations/0005_alter_componentsession_last_accessed.py +0 -0
  94. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/migrations/0006_userdatamodel.py +0 -0
  95. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/migrations/__init__.py +0 -0
  96. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/models.py +0 -0
  97. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/py.typed +0 -0
  98. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/pyscript/__init__.py +0 -0
  99. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/pyscript/component_template.py +0 -0
  100. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/router/__init__.py +0 -0
  101. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/router/converters.py +0 -0
  102. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/router/resolvers.py +0 -0
  103. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/static/reactpy_django/morphdom/morphdom-esm.js +0 -0
  104. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/static/reactpy_django/morphdom/morphdom-factory.js +0 -0
  105. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/static/reactpy_django/morphdom/morphdom-umd.js +0 -0
  106. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/static/reactpy_django/morphdom/morphdom-umd.min.js +0 -0
  107. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/static/reactpy_django/morphdom/morphdom.js +0 -0
  108. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/static/reactpy_django/pyscript/core.css +0 -0
  109. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/static/reactpy_django/pyscript/core.js.map +0 -0
  110. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/static/reactpy_django/pyscript/toml-CvAfdf9_.js +0 -0
  111. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/static/reactpy_django/pyscript/toml-DiUM0_qs.js +0 -0
  112. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/static/reactpy_django/pyscript/xterm-BY7uk_OU.js +0 -0
  113. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/static/reactpy_django/pyscript/xterm-BY7uk_OU.js.map +0 -0
  114. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/static/reactpy_django/pyscript/xterm-readline-CZfBw7ic.js +0 -0
  115. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/static/reactpy_django/pyscript/xterm.css +0 -0
  116. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/static/reactpy_django/pyscript/xterm_addon-fit--gyF3PcZ.js +0 -0
  117. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/static/reactpy_django/pyscript/xterm_addon-fit--gyF3PcZ.js.map +0 -0
  118. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/static/reactpy_django/pyscript/xterm_addon-web-links-Cnej-nJ6.js +0 -0
  119. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/static/reactpy_django/pyscript/xterm_addon-web-links-Cnej-nJ6.js.map +0 -0
  120. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/static/reactpy_django/pyscript-custom.css +0 -0
  121. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/static/reactpy_django/pyscript-hide-debug.css +0 -0
  122. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/templates/reactpy/component.html +0 -0
  123. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/templates/reactpy/pyscript_component.html +0 -0
  124. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/templates/reactpy/pyscript_setup.html +0 -0
  125. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/templatetags/__init__.py +0 -0
  126. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/templatetags/reactpy.py +0 -0
  127. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/types.py +0 -0
  128. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/websocket/__init__.py +0 -0
  129. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/websocket/consumer.py +0 -0
  130. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django/websocket/paths.py +0 -0
  131. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django.egg-info/dependency_links.txt +0 -0
  132. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django.egg-info/not-zip-safe +0 -0
  133. {reactpy_django-5.0.0 → reactpy_django-5.1.0}/src/reactpy_django.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: reactpy_django
3
- Version: 5.0.0
3
+ Version: 5.1.0
4
4
  Summary: It's React, but in Python. Now with Django integration.
5
5
  Home-page: https://github.com/reactive-python/reactpy-django
6
6
  Author: Mark Bakhit
@@ -20,13 +20,16 @@ Classifier: Operating System :: OS Independent
20
20
  Classifier: Intended Audience :: Developers
21
21
  Classifier: Intended Audience :: Science/Research
22
22
  Classifier: Topic :: Multimedia :: Graphics
23
+ Classifier: Topic :: Software Development :: Widget Sets
24
+ Classifier: Topic :: Software Development :: User Interfaces
23
25
  Classifier: Environment :: Web Environment
26
+ Classifier: Typing :: Typed
24
27
  Requires-Python: >=3.9
25
28
  Description-Content-Type: text/markdown
26
29
  License-File: LICENSE.md
27
30
  Requires-Dist: channels>=4.0.0
28
31
  Requires-Dist: django>=4.2.0
29
- Requires-Dist: reactpy<1.1.0,>=1.0.2
32
+ Requires-Dist: reactpy<1.2.0,>=1.1.0
30
33
  Requires-Dist: reactpy-router<2.0.0,>=1.0.0
31
34
  Requires-Dist: dill>=0.3.5
32
35
  Requires-Dist: orjson>=3.6.0
@@ -63,7 +66,7 @@ Requires-Dist: typing_extensions
63
66
  - [Customizable reconnection behavior](https://reactive-python.github.io/reactpy-django/latest/reference/settings/#stability-settings)
64
67
  - [Customizable disconnection behavior](https://reactive-python.github.io/reactpy-django/latest/reference/template-tag)
65
68
  - [Multiple root components](https://reactive-python.github.io/reactpy-django/latest/reference/template-tag/)
66
- - [Cross-process communication/signaling (Channel Layers)](https://reactive-python.github.io/reactpy-django/latest/reference/hooks/#use-channel-layer)
69
+ - [Cross-process communication/signaling](https://reactive-python.github.io/reactpy-django/latest/reference/hooks/#use-channel-layer)
67
70
  - [Django view to ReactPy component conversion](https://reactive-python.github.io/reactpy-django/latest/reference/components/#view-to-component)
68
71
  - [Django static file access](https://reactive-python.github.io/reactpy-django/latest/reference/components/#django-css)
69
72
  - [Django database access](https://reactive-python.github.io/reactpy-django/latest/reference/hooks/#use-query)
@@ -28,7 +28,7 @@
28
28
  - [Customizable reconnection behavior](https://reactive-python.github.io/reactpy-django/latest/reference/settings/#stability-settings)
29
29
  - [Customizable disconnection behavior](https://reactive-python.github.io/reactpy-django/latest/reference/template-tag)
30
30
  - [Multiple root components](https://reactive-python.github.io/reactpy-django/latest/reference/template-tag/)
31
- - [Cross-process communication/signaling (Channel Layers)](https://reactive-python.github.io/reactpy-django/latest/reference/hooks/#use-channel-layer)
31
+ - [Cross-process communication/signaling](https://reactive-python.github.io/reactpy-django/latest/reference/hooks/#use-channel-layer)
32
32
  - [Django view to ReactPy component conversion](https://reactive-python.github.io/reactpy-django/latest/reference/components/#view-to-component)
33
33
  - [Django static file access](https://reactive-python.github.io/reactpy-django/latest/reference/components/#django-css)
34
34
  - [Django database access](https://reactive-python.github.io/reactpy-django/latest/reference/hooks/#use-query)
@@ -11,8 +11,6 @@ from setuptools import find_namespace_packages, setup
11
11
  from setuptools.command.develop import develop
12
12
  from setuptools.command.sdist import sdist
13
13
 
14
- log = getLogger(__name__)
15
-
16
14
  # -----------------------------------------------------------------------------
17
15
  # Basic Constants
18
16
  # -----------------------------------------------------------------------------
@@ -22,6 +20,7 @@ src_dir = root_dir / "src"
22
20
  js_dir = src_dir / "js"
23
21
  package_dir = src_dir / name
24
22
  static_dir = package_dir / "static" / name
23
+ log = getLogger(__name__)
25
24
 
26
25
 
27
26
  # -----------------------------------------------------------------------------
@@ -60,7 +59,10 @@ package = {
60
59
  "Intended Audience :: Developers",
61
60
  "Intended Audience :: Science/Research",
62
61
  "Topic :: Multimedia :: Graphics",
62
+ "Topic :: Software Development :: Widget Sets",
63
+ "Topic :: Software Development :: User Interfaces",
63
64
  "Environment :: Web Environment",
65
+ "Typing :: Typed",
64
66
  ],
65
67
  }
66
68
 
@@ -13,7 +13,7 @@ from reactpy_django import (
13
13
  )
14
14
  from reactpy_django.websocket.paths import REACTPY_WEBSOCKET_ROUTE
15
15
 
16
- __version__ = "5.0.0"
16
+ __version__ = "5.1.0"
17
17
  __all__ = [
18
18
  "REACTPY_WEBSOCKET_ROUTE",
19
19
  "html",
@@ -7,6 +7,7 @@ from django.conf import settings
7
7
  from django.core.cache import DEFAULT_CACHE_ALIAS
8
8
  from django.db import DEFAULT_DB_ALIAS
9
9
  from django.views import View
10
+ from reactpy.config import REACTPY_ASYNC_RENDERING as _REACTPY_ASYNC_RENDERING
10
11
  from reactpy.config import REACTPY_DEBUG_MODE as _REACTPY_DEBUG_MODE
11
12
  from reactpy.core.types import ComponentConstructor
12
13
 
@@ -17,13 +18,16 @@ from reactpy_django.types import (
17
18
  from reactpy_django.utils import import_dotted_path
18
19
 
19
20
  # Non-configurable values
20
- _REACTPY_DEBUG_MODE.set_current(getattr(settings, "DEBUG"))
21
21
  REACTPY_DEBUG_MODE = _REACTPY_DEBUG_MODE.current
22
22
  REACTPY_REGISTERED_COMPONENTS: dict[str, ComponentConstructor] = {}
23
23
  REACTPY_FAILED_COMPONENTS: set[str] = set()
24
24
  REACTPY_REGISTERED_IFRAME_VIEWS: dict[str, Callable | View] = {}
25
25
 
26
26
  # Configurable through Django settings.py
27
+ _REACTPY_DEBUG_MODE.set_current(getattr(settings, "DEBUG"))
28
+ _REACTPY_ASYNC_RENDERING.set_current(
29
+ getattr(settings, "REACTPY_ASYNC_RENDERING", _REACTPY_ASYNC_RENDERING.current)
30
+ )
27
31
  REACTPY_URL_PREFIX: str = getattr(
28
32
  settings,
29
33
  "REACTPY_URL_PREFIX",
@@ -13,8 +13,6 @@ if TYPE_CHECKING:
13
13
  from django.contrib.auth.models import AbstractUser
14
14
 
15
15
 
16
-
17
-
18
16
  def user_passes_test(
19
17
  test_func: Callable[[AbstractUser], bool],
20
18
  /,
@@ -59,7 +57,5 @@ def _user_passes_test(component_constructor, fallback, test_func, *args, **kwarg
59
57
  # Render the component.
60
58
  return user_component
61
59
 
62
- # Render the fallback component.
63
- # Returns an empty string if fallback is None, since ReactPy currently renders None as a string.
64
- # TODO: Remove this fallback when ReactPy can render None properly.
65
- return fallback(*args, **kwargs) if callable(fallback) else (fallback or "")
60
+ # Render the fallback content.
61
+ return fallback(*args, **kwargs) if callable(fallback) else (fallback or None)
@@ -150,7 +150,7 @@ def use_query(
150
150
  try:
151
151
  # Run the query
152
152
  if asyncio.iscoroutinefunction(query):
153
- new_data = await query(**kwargs)
153
+ new_data = await query(**kwargs) # type: ignore[call-arg]
154
154
  else:
155
155
  new_data = await database_sync_to_async(
156
156
  query, thread_sensitive=thread_sensitive
@@ -219,7 +219,7 @@ def use_mutation(
219
219
  ) -> Mutation[FuncParams]:
220
220
  """This hook is used to modify data in the background, typically to create/update/delete \
221
221
  data from the Django ORM.
222
-
222
+
223
223
  Mutation functions can `return False` to prevent executing your `refetch` function. All \
224
224
  other returns are ignored. Mutation functions can be sync or async.
225
225
 
@@ -318,7 +318,7 @@ def use_user_data(
318
318
  save_default_data: bool = False,
319
319
  ) -> UserData:
320
320
  """Get or set user data stored within the REACTPY_DATABASE.
321
-
321
+
322
322
  Kwargs:
323
323
  default_data: A dictionary containing `{key: default_value}` pairs. \
324
324
  For computationally intensive defaults, your `default_value` \
@@ -37,6 +37,8 @@ async def web_modules_file(request: HttpRequest, file: str) -> HttpResponse:
37
37
  await caches[REACTPY_CACHE].aset(
38
38
  cache_key, file_contents, timeout=604800, version=int(last_modified_time)
39
39
  )
40
+
41
+ # TODO: Convert this to a StreamingHttpResponse
40
42
  return HttpResponse(file_contents, content_type="text/javascript")
41
43
 
42
44
 
@@ -107,7 +107,7 @@ class ReactPyLayoutHandler:
107
107
  if value.startswith("user_workspace_")
108
108
  }
109
109
 
110
- # Delete the workspace if it exists at the moment when we check
110
+ # Delete any workspaces that are not being used
111
111
  for uuid in python_uuids - dom_uuids:
112
112
  task_name = f"task_{uuid}"
113
113
  if task_name in globals():