nextpy-framework 2.4.9__tar.gz → 3.6.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. nextpy_framework-3.6.1/.nextpy_framework/nextpy/__init__.py +146 -0
  2. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/cli.py +1281 -721
  3. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components/debug/AutoDebug.py +15 -15
  4. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components/debug/DebugIcon.py +6 -6
  5. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components/debug/DebugIconFixed.py +6 -6
  6. nextpy_framework-3.6.1/.nextpy_framework/nextpy/conf.py +28 -0
  7. nextpy_framework-3.6.1/.nextpy_framework/nextpy/core/component_renderer.py +912 -0
  8. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/core/component_router.py +16 -22
  9. nextpy_framework-3.6.1/.nextpy_framework/nextpy/core/renderer.py +527 -0
  10. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/core/router.py +63 -22
  11. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/jsx_preprocessor.py +81 -4
  12. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/jsx_transformer.py +3 -0
  13. nextpy_framework-3.6.1/.nextpy_framework/nextpy/main.py +62 -0
  14. nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/__init__.py +106 -0
  15. nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/components/component.py +2329 -0
  16. nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/core/__init__.py +153 -0
  17. nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/core/ast_nodes.py +343 -0
  18. nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/core/evaluator.py +424 -0
  19. nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/core/parser.py +718 -0
  20. nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/core/runtime.py +1022 -0
  21. nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/devtools/language_server.py +663 -0
  22. nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/devtools/language_server_lsp.py +427 -0
  23. nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/devtools/psx_formatter.py +259 -0
  24. nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/devtools/server_client_components.py +292 -0
  25. nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/devtools/setup.py +305 -0
  26. nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/hydration/__init__.py +25 -0
  27. nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/hydration/decorators.py +598 -0
  28. nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/hydration/engine.py +1381 -0
  29. nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/hydration/integration.py +212 -0
  30. nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/renderer/renderer.py +100 -0
  31. nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/tests/test_full_integration.py +173 -0
  32. nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/utils/helpers.py +240 -0
  33. nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/vdom/vnode.py +519 -0
  34. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/security.py +1 -1
  35. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/server/app.py +188 -33
  36. nextpy_framework-3.6.1/.nextpy_framework/nextpy/source/conf.py +28 -0
  37. nextpy_framework-3.6.1/.nextpy_framework/nextpy/tests/setup_complete.py +320 -0
  38. nextpy_framework-3.6.1/.nextpy_framework/nextpy/tests/test_colors.py +38 -0
  39. nextpy_framework-3.6.1/.nextpy_framework/nextpy/tests/test_demo_mode.py +79 -0
  40. nextpy_framework-3.6.1/.nextpy_framework/nextpy/tests/test_demo_server.py +74 -0
  41. nextpy_framework-3.6.1/.nextpy_framework/nextpy/tests/test_final.py +82 -0
  42. nextpy_framework-3.6.1/.nextpy_framework/nextpy/tests/test_server.py +78 -0
  43. nextpy_framework-3.6.1/.nextpy_framework/nextpy/tests/test_server_working.py +57 -0
  44. nextpy_framework-3.6.1/.nextpy_framework/nextpy/tests/test_tailwind.py +125 -0
  45. nextpy_framework-3.6.1/.nextpy_framework/nextpy/tests/test_tailwind_full.py +186 -0
  46. nextpy_framework-3.6.1/.nextpy_framework/nextpy/tests/test_tailwind_integration.py +205 -0
  47. nextpy_framework-3.6.1/.nextpy_framework/nextpy/vscode-extension/node_modules/flatted/python/flatted.py +144 -0
  48. nextpy_framework-3.6.1/.nextpy_framework/nextpy_framework.egg-info/PKG-INFO +906 -0
  49. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy_framework.egg-info/SOURCES.txt +39 -6
  50. nextpy_framework-3.6.1/PKG-INFO +906 -0
  51. nextpy_framework-3.6.1/README.md +865 -0
  52. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/pyproject.toml +1 -1
  53. nextpy_framework-2.4.9/.nextpy_framework/nextpy/__init__.py +0 -120
  54. nextpy_framework-2.4.9/.nextpy_framework/nextpy/core/component_renderer.py +0 -389
  55. nextpy_framework-2.4.9/.nextpy_framework/nextpy/core/renderer.py +0 -252
  56. nextpy_framework-2.4.9/.nextpy_framework/nextpy/main.py +0 -47
  57. nextpy_framework-2.4.9/.nextpy_framework/nextpy_framework.egg-info/PKG-INFO +0 -1589
  58. nextpy_framework-2.4.9/PKG-INFO +0 -1589
  59. nextpy_framework-2.4.9/README.md +0 -1548
  60. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/auth.py +0 -0
  61. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/builder.py +0 -0
  62. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components/__init__.py +0 -0
  63. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components/feedback.py +0 -0
  64. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components/form.py +0 -0
  65. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components/head.py +0 -0
  66. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components/hooks_provider.py +0 -0
  67. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components/image.py +0 -0
  68. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components/layout.py +0 -0
  69. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components/link.py +0 -0
  70. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components/loader.py +0 -0
  71. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components/navigation.py +0 -0
  72. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components/toast.py +0 -0
  73. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components/ui.py +0 -0
  74. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components/visual.py +0 -0
  75. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components.py +0 -0
  76. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/config.py +0 -0
  77. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/core/__init__.py +0 -0
  78. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/core/builder.py +0 -0
  79. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/core/data_fetching.py +0 -0
  80. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/core/demo_pages_simple.py +0 -0
  81. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/core/demo_router.py +0 -0
  82. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/core/sync.py +0 -0
  83. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/db.py +0 -0
  84. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/dev_server.py +0 -0
  85. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/dev_tools.py +0 -0
  86. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/errors.py +0 -0
  87. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/hooks.py +0 -0
  88. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/hooks_provider.py +0 -0
  89. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/hooks_provider_new.py +0 -0
  90. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/jsx.py +0 -0
  91. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/performance.py +0 -0
  92. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/plugins/__init__.py +0 -0
  93. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/plugins/base.py +0 -0
  94. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/plugins/builtin.py +0 -0
  95. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/plugins/config.py +0 -0
  96. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/plugins.py +0 -0
  97. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/py.typed +0 -0
  98. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/server/__init__.py +0 -0
  99. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/server/debug.py +0 -0
  100. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/server/middleware.py +0 -0
  101. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1/.nextpy_framework/nextpy}/tests/test_jsx_edgecases.py +0 -0
  102. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1/.nextpy_framework/nextpy}/tests/test_jsx_preprocessor.py +0 -0
  103. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1/.nextpy_framework/nextpy}/tests/test_routing.py +0 -0
  104. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1/.nextpy_framework/nextpy}/tests/test_server_features.py +0 -0
  105. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1/.nextpy_framework/nextpy}/tests/test_tailwind_up_to_date.py +0 -0
  106. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/true_jsx.py +0 -0
  107. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/utils/__init__.py +0 -0
  108. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/utils/cache.py +0 -0
  109. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/utils/email.py +0 -0
  110. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/utils/file_upload.py +0 -0
  111. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/utils/logging.py +0 -0
  112. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/utils/search.py +0 -0
  113. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/utils/seo.py +0 -0
  114. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/utils/validators.py +0 -0
  115. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/websocket.py +0 -0
  116. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy_framework.egg-info/dependency_links.txt +0 -0
  117. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy_framework.egg-info/entry_points.txt +0 -0
  118. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy_framework.egg-info/requires.txt +0 -0
  119. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy_framework.egg-info/top_level.txt +0 -0
  120. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/LICENSE +0 -0
  121. {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/setup.cfg +0 -0
@@ -0,0 +1,146 @@
1
+ """
2
+ NextPy - A Python web framework inspired by Next.js
3
+ File-based routing, SSR, SSG, and more with FastAPI + PSX (True JSX)
4
+ """
5
+
6
+ __version__ = "3.6.1"
7
+
8
+ from nextpy.core.router import Router, Route, DynamicRoute
9
+ from nextpy.core.renderer import Renderer
10
+ from nextpy.core.data_fetching import (
11
+ get_server_side_props,
12
+ get_static_props,
13
+ get_static_paths,
14
+ )
15
+ from nextpy.components.head import Head
16
+ from nextpy.components.link import Link
17
+ from nextpy.server.app import create_app
18
+
19
+ # Import all PSX features for easy access
20
+ from nextpy.psx import (
21
+ # Core PSX
22
+ PSXElement, PSXParser, psx, render_psx, fragment, key,
23
+ process_python_logic, runtime, SafeExpressionEngine,
24
+
25
+ # VDOM
26
+ VNode, create_element, render, update, get_vdom_metrics,
27
+
28
+ # Renderer
29
+ PSXRenderer, renderer, render_psx_component,
30
+
31
+ # Components
32
+ PSXComponent, component, class_component, ChildrenComponent,
33
+ register_component, clsx,
34
+
35
+ # React Hooks
36
+ useState, useEffect, useContext, useReducer, useRef,
37
+ useMemo, useCallback, useImperativeHandle, useLayoutEffect,
38
+ useDebugValue, useTransition, useDeferredValue, useId,
39
+
40
+ # Custom Hooks
41
+ useCounter, useToggle, useLocalStorage, useFetch, useDebounce,
42
+ useInterval, usePrevious, useAsync, useMediaQuery, useGeolocation, usePerformance,
43
+
44
+ # Event Handlers
45
+ create_onclick, create_ondblclick, create_onmousedown, create_onmouseup,
46
+ create_onmouseover, create_onmouseout, create_onmouseenter, create_onmouseleave, create_onmousemove,
47
+ create_onchange, create_onsubmit, create_onreset, create_onfocus, create_onblur,
48
+ create_oninput, create_oninvalid, create_onselect,
49
+ create_onkeydown, create_onkeyup, create_onkeypress,
50
+ create_ontouchstart, create_ontouchend, create_ontouchmove, create_ontouchcancel,
51
+ create_onload, create_onunload, create_onresize, create_onscroll,
52
+ create_ondrag, create_ondragstart, create_ondragend, create_ondragenter,
53
+ create_ondragleave, create_ondragover, create_ondrop,
54
+ create_onplay, create_onpause, create_onended, create_onvolumechange,
55
+ create_ontimeupdate, create_onseeking, create_onseeked,
56
+ create_onloadstart, create_onprogress, create_onerror, create_onabort,
57
+ create_onanimationstart, create_onanimationend, create_onanimationiteration,
58
+ create_ontransitionend, create_ontransitionrun, create_ontransitionstart,
59
+ create_onwheel, create_oncopy, create_oncut, create_onpaste,
60
+ create_onbeforeprint, create_onafterprint, create_onstorage,
61
+ create_onopen, create_onmessage, create_onclose, create_oninstall, create_onactivate,
62
+
63
+ # Utils
64
+ compile_psx, compile_psx_file, is_psx_file, PSXCompiler,
65
+ )
66
+
67
+ # Legacy hooks for backward compatibility
68
+ from nextpy.hooks import (
69
+ useState as legacy_useState,
70
+ useEffect as legacy_useEffect,
71
+ useContext as legacy_useContext,
72
+ useReducer as legacy_useReducer,
73
+ useCallback as legacy_useCallback,
74
+ useMemo as legacy_useMemo,
75
+ useRef as legacy_useRef,
76
+ useCounter as legacy_useCounter,
77
+ useToggle as legacy_useToggle,
78
+ useLocalStorage as legacy_useLocalStorage,
79
+ useFetch as legacy_useFetch,
80
+ useDebounce as legacy_useDebounce,
81
+ )
82
+
83
+ # Export everything for easy access
84
+ __all__ = [
85
+ # Core NextPy
86
+ 'Router', 'Route', 'DynamicRoute', 'Renderer', 'create_app',
87
+ 'get_server_side_props', 'get_static_props', 'get_static_paths',
88
+ 'Head', 'Link',
89
+
90
+ # PSX Core
91
+ 'PSXElement', 'PSXParser', 'psx', 'render_psx', 'fragment', 'key',
92
+ 'process_python_logic', 'runtime', 'SafeExpressionEngine',
93
+
94
+ # PSX VDOM
95
+ 'VNode', 'create_element', 'render', 'update', 'get_vdom_metrics',
96
+
97
+ # PSX Renderer
98
+ 'PSXRenderer', 'renderer', 'render_psx_component',
99
+
100
+ # PSX Components
101
+ 'PSXComponent', 'component', 'class_component', 'ChildrenComponent',
102
+ 'register_component', 'clsx',
103
+
104
+ # PSX React Hooks
105
+ 'useState', 'useEffect', 'useContext', 'useReducer', 'useRef',
106
+ 'useMemo', 'useCallback', 'useImperativeHandle', 'useLayoutEffect',
107
+ 'useDebugValue', 'useTransition', 'useDeferredValue', 'useId',
108
+
109
+ # PSX Custom Hooks
110
+ 'useCounter', 'useToggle', 'useLocalStorage', 'useFetch', 'useDebounce',
111
+ 'useInterval', 'usePrevious', 'useAsync', 'useMediaQuery', 'useGeolocation', 'usePerformance',
112
+
113
+ # PSX Event Handlers
114
+ 'create_onclick', 'create_ondblclick', 'create_onmousedown', 'create_onmouseup',
115
+ 'create_onmouseover', 'create_onmouseout', 'create_onmouseenter', 'create_onmouseleave', 'create_onmousemove',
116
+ 'create_onchange', 'create_onsubmit', 'create_onreset', 'create_onfocus', 'create_onblur',
117
+ 'create_oninput', 'create_oninvalid', 'create_onselect',
118
+ 'create_onkeydown', 'create_onkeyup', 'create_onkeypress',
119
+ 'create_ontouchstart', 'create_ontouchend', 'create_ontouchmove', 'create_ontouchcancel',
120
+ 'create_onload', 'create_onunload', 'create_onresize', 'create_onscroll',
121
+ 'create_ondrag', 'create_ondragstart', 'create_ondragend', 'create_ondragenter',
122
+ 'create_ondragleave', 'create_ondragover', 'create_ondrop',
123
+ 'create_onplay', 'create_onpause', 'create_onended', 'create_onvolumechange',
124
+ 'create_ontimeupdate', 'create_onseeking', 'create_onseeked',
125
+ 'create_onloadstart', 'create_onprogress', 'create_onerror', 'create_onabort',
126
+ 'create_onanimationstart', 'create_onanimationend', 'create_onanimationiteration',
127
+ 'create_ontransitionend', 'create_ontransitionrun', 'create_ontransitionstart',
128
+ 'create_onwheel', 'create_oncopy', 'create_oncut', 'create_onpaste',
129
+ 'create_onbeforeprint', 'create_onafterprint', 'create_onstorage',
130
+ 'create_onopen', 'create_onmessage', 'create_onclose', 'create_oninstall', 'create_onactivate',
131
+
132
+ # PSX Utils
133
+ 'compile_psx', 'compile_psx_file', 'is_psx_file', 'PSXCompiler',
134
+
135
+ # Legacy hooks
136
+ 'legacy_useState', 'legacy_useEffect', 'legacy_useContext', 'legacy_useReducer',
137
+ 'legacy_useCallback', 'legacy_useMemo', 'legacy_useRef', 'legacy_useCounter',
138
+ 'legacy_useToggle', 'legacy_useLocalStorage', 'legacy_useFetch', 'legacy_useDebounce',
139
+ ]
140
+
141
+
142
+ maintainers = [
143
+ {"name": "NextPy Team", "email": "team@nextpy.dev"}
144
+ ]
145
+
146
+ main = "nextpy.server.app:create_app"