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.
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/__init__.py +146 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/cli.py +1281 -721
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components/debug/AutoDebug.py +15 -15
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components/debug/DebugIcon.py +6 -6
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components/debug/DebugIconFixed.py +6 -6
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/conf.py +28 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/core/component_renderer.py +912 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/core/component_router.py +16 -22
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/core/renderer.py +527 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/core/router.py +63 -22
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/jsx_preprocessor.py +81 -4
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/jsx_transformer.py +3 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/main.py +62 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/__init__.py +106 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/components/component.py +2329 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/core/__init__.py +153 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/core/ast_nodes.py +343 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/core/evaluator.py +424 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/core/parser.py +718 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/core/runtime.py +1022 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/devtools/language_server.py +663 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/devtools/language_server_lsp.py +427 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/devtools/psx_formatter.py +259 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/devtools/server_client_components.py +292 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/devtools/setup.py +305 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/hydration/__init__.py +25 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/hydration/decorators.py +598 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/hydration/engine.py +1381 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/hydration/integration.py +212 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/renderer/renderer.py +100 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/tests/test_full_integration.py +173 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/utils/helpers.py +240 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/psx/vdom/vnode.py +519 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/security.py +1 -1
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/server/app.py +188 -33
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/source/conf.py +28 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/tests/setup_complete.py +320 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/tests/test_colors.py +38 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/tests/test_demo_mode.py +79 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/tests/test_demo_server.py +74 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/tests/test_final.py +82 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/tests/test_server.py +78 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/tests/test_server_working.py +57 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/tests/test_tailwind.py +125 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/tests/test_tailwind_full.py +186 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/tests/test_tailwind_integration.py +205 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy/vscode-extension/node_modules/flatted/python/flatted.py +144 -0
- nextpy_framework-3.6.1/.nextpy_framework/nextpy_framework.egg-info/PKG-INFO +906 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy_framework.egg-info/SOURCES.txt +39 -6
- nextpy_framework-3.6.1/PKG-INFO +906 -0
- nextpy_framework-3.6.1/README.md +865 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/pyproject.toml +1 -1
- nextpy_framework-2.4.9/.nextpy_framework/nextpy/__init__.py +0 -120
- nextpy_framework-2.4.9/.nextpy_framework/nextpy/core/component_renderer.py +0 -389
- nextpy_framework-2.4.9/.nextpy_framework/nextpy/core/renderer.py +0 -252
- nextpy_framework-2.4.9/.nextpy_framework/nextpy/main.py +0 -47
- nextpy_framework-2.4.9/.nextpy_framework/nextpy_framework.egg-info/PKG-INFO +0 -1589
- nextpy_framework-2.4.9/PKG-INFO +0 -1589
- nextpy_framework-2.4.9/README.md +0 -1548
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/auth.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/builder.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components/__init__.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components/feedback.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components/form.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components/head.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components/hooks_provider.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components/image.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components/layout.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components/link.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components/loader.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components/navigation.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components/toast.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components/ui.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components/visual.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/components.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/config.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/core/__init__.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/core/builder.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/core/data_fetching.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/core/demo_pages_simple.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/core/demo_router.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/core/sync.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/db.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/dev_server.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/dev_tools.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/errors.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/hooks.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/hooks_provider.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/hooks_provider_new.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/jsx.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/performance.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/plugins/__init__.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/plugins/base.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/plugins/builtin.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/plugins/config.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/plugins.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/py.typed +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/server/__init__.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/server/debug.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/server/middleware.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1/.nextpy_framework/nextpy}/tests/test_jsx_edgecases.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1/.nextpy_framework/nextpy}/tests/test_jsx_preprocessor.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1/.nextpy_framework/nextpy}/tests/test_routing.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1/.nextpy_framework/nextpy}/tests/test_server_features.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1/.nextpy_framework/nextpy}/tests/test_tailwind_up_to_date.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/true_jsx.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/utils/__init__.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/utils/cache.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/utils/email.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/utils/file_upload.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/utils/logging.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/utils/search.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/utils/seo.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/utils/validators.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy/websocket.py +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy_framework.egg-info/dependency_links.txt +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy_framework.egg-info/entry_points.txt +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy_framework.egg-info/requires.txt +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/.nextpy_framework/nextpy_framework.egg-info/top_level.txt +0 -0
- {nextpy_framework-2.4.9 → nextpy_framework-3.6.1}/LICENSE +0 -0
- {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"
|