nextpy-framework 3.9.1__tar.gz → 5.0.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.
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/__init__.py +51 -8
- nextpy_framework-5.0.0/.nextpy_framework/nextpy/admin.py +1052 -0
- nextpy_framework-5.0.0/.nextpy_framework/nextpy/api.py +38 -0
- nextpy_framework-5.0.0/.nextpy_framework/nextpy/auth.py +303 -0
- nextpy_framework-5.0.0/.nextpy_framework/nextpy/cache.py +194 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/cli.py +544 -334
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/components/__init__.py +12 -19
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/components/form.py +2 -2
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/components/layout.py +1 -1
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/components/link.py +28 -15
- nextpy_framework-5.0.0/.nextpy_framework/nextpy/config.py +117 -0
- nextpy_framework-5.0.0/.nextpy_framework/nextpy/core/builder.py +422 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/core/component_renderer.py +161 -21
- nextpy_framework-5.0.0/.nextpy_framework/nextpy/core/component_router.py +1031 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/core/data_fetching.py +69 -11
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/core/router.py +83 -0
- nextpy_framework-5.0.0/.nextpy_framework/nextpy/core/streaming.py +66 -0
- nextpy_framework-5.0.0/.nextpy_framework/nextpy/db.py +383 -0
- nextpy_framework-5.0.0/.nextpy_framework/nextpy/introspection/__init__.py +72 -0
- nextpy_framework-5.0.0/.nextpy_framework/nextpy/introspection/ast.py +180 -0
- nextpy_framework-5.0.0/.nextpy_framework/nextpy/introspection/compiler.py +147 -0
- nextpy_framework-5.0.0/.nextpy_framework/nextpy/introspection/components.py +199 -0
- nextpy_framework-5.0.0/.nextpy_framework/nextpy/introspection/framework.py +199 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/jsx.py +1 -1
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/jsx_preprocessor.py +1 -1
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/jsx_transformer.py +15 -27
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/plugins/__init__.py +2 -1
- nextpy_framework-5.0.0/.nextpy_framework/nextpy/psx/__init__.py +913 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/psx/compiler/actions.py +151 -29
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/psx/compiler/handler_compiler.py +203 -52
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/psx/components/component.py +483 -85
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/psx/core/evaluator.py +119 -3
- nextpy_framework-5.0.0/.nextpy_framework/nextpy/psx/core/parser.py +902 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/psx/core/runtime.py +253 -73
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/psx/hydration/decorators.py +525 -186
- nextpy_framework-5.0.0/.nextpy_framework/nextpy/psx/hydration/engine.py +623 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/psx/hydration/integration.py +16 -11
- nextpy_framework-5.0.0/.nextpy_framework/nextpy/psx/router/__init__.py +15 -0
- nextpy_framework-5.0.0/.nextpy_framework/nextpy/psx/router/client_router.py +288 -0
- nextpy_framework-5.0.0/.nextpy_framework/nextpy/psx/runtime/js_actions_runtime.py +1627 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/security.py +58 -1
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/server/app.py +642 -68
- nextpy_framework-5.0.0/.nextpy_framework/nextpy/server/debug.py +329 -0
- nextpy_framework-5.0.0/.nextpy_framework/nextpy/server/middleware.py +197 -0
- nextpy_framework-5.0.0/.nextpy_framework/nextpy/server_actions.py +412 -0
- nextpy_framework-5.0.0/.nextpy_framework/nextpy/state_sync.py +441 -0
- nextpy_framework-5.0.0/.nextpy_framework/nextpy/tasks.py +151 -0
- nextpy_framework-5.0.0/.nextpy_framework/nextpy/tests/test_comprehensive.py +315 -0
- nextpy_framework-5.0.0/.nextpy_framework/nextpy/tests/test_fullstack_features.py +194 -0
- nextpy_framework-5.0.0/.nextpy_framework/nextpy/tests/test_performance_cache.py +242 -0
- nextpy_framework-5.0.0/.nextpy_framework/nextpy/tests/test_psx_reactivity.py +53 -0
- nextpy_framework-5.0.0/.nextpy_framework/nextpy/tests/test_security_hardening.py +200 -0
- nextpy_framework-5.0.0/.nextpy_framework/nextpy_framework.egg-info/PKG-INFO +339 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy_framework.egg-info/SOURCES.txt +21 -19
- nextpy_framework-5.0.0/PKG-INFO +339 -0
- nextpy_framework-5.0.0/README.md +298 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/pyproject.toml +5 -5
- nextpy_framework-3.9.1/.nextpy_framework/nextpy/auth.py +0 -94
- nextpy_framework-3.9.1/.nextpy_framework/nextpy/builder.py +0 -123
- nextpy_framework-3.9.1/.nextpy_framework/nextpy/components/debug/AutoDebug.py +0 -1038
- nextpy_framework-3.9.1/.nextpy_framework/nextpy/components/debug/DebugIcon.py +0 -244
- nextpy_framework-3.9.1/.nextpy_framework/nextpy/components/debug/DebugIconFixed.py +0 -244
- nextpy_framework-3.9.1/.nextpy_framework/nextpy/components/feedback.py +0 -210
- nextpy_framework-3.9.1/.nextpy_framework/nextpy/components/loader.py +0 -65
- nextpy_framework-3.9.1/.nextpy_framework/nextpy/components/toast.py +0 -101
- nextpy_framework-3.9.1/.nextpy_framework/nextpy/components/visual.py +0 -185
- nextpy_framework-3.9.1/.nextpy_framework/nextpy/config.py +0 -72
- nextpy_framework-3.9.1/.nextpy_framework/nextpy/core/builder.py +0 -237
- nextpy_framework-3.9.1/.nextpy_framework/nextpy/core/component_router.py +0 -458
- nextpy_framework-3.9.1/.nextpy_framework/nextpy/core/sync.py +0 -34
- nextpy_framework-3.9.1/.nextpy_framework/nextpy/db.py +0 -121
- nextpy_framework-3.9.1/.nextpy_framework/nextpy/debug/websocket.py +0 -384
- nextpy_framework-3.9.1/.nextpy_framework/nextpy/dev_server.py +0 -69
- nextpy_framework-3.9.1/.nextpy_framework/nextpy/dev_tools.py +0 -157
- nextpy_framework-3.9.1/.nextpy_framework/nextpy/errors.py +0 -70
- nextpy_framework-3.9.1/.nextpy_framework/nextpy/hooks_provider.py +0 -113
- nextpy_framework-3.9.1/.nextpy_framework/nextpy/hooks_provider_new.py +0 -0
- nextpy_framework-3.9.1/.nextpy_framework/nextpy/performance.py +0 -78
- nextpy_framework-3.9.1/.nextpy_framework/nextpy/psx/__init__.py +0 -106
- nextpy_framework-3.9.1/.nextpy_framework/nextpy/psx/core/parser.py +0 -809
- nextpy_framework-3.9.1/.nextpy_framework/nextpy/psx/hydration/engine.py +0 -404
- nextpy_framework-3.9.1/.nextpy_framework/nextpy/psx/runtime/js_actions_runtime.py +0 -534
- nextpy_framework-3.9.1/.nextpy_framework/nextpy/runtime/events.py +0 -294
- nextpy_framework-3.9.1/.nextpy_framework/nextpy/server/debug.py +0 -94
- nextpy_framework-3.9.1/.nextpy_framework/nextpy/server/middleware.py +0 -88
- nextpy_framework-3.9.1/.nextpy_framework/nextpy_framework.egg-info/PKG-INFO +0 -255
- nextpy_framework-3.9.1/PKG-INFO +0 -255
- nextpy_framework-3.9.1/README.md +0 -214
- /nextpy_framework-3.9.1/.nextpy_framework/nextpy/main.py → /nextpy_framework-5.0.0/.nextpy_framework/nextpy/asgi.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/ast_parser.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/components/debug/AutoDebug_v3.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/components/head.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/components/hooks_provider.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/components/image.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/components/navigation.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/components/ui.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/components.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/core/__init__.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/core/demo_pages_simple.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/core/demo_router.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/core/renderer.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/debug/core.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/debug/performance.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/debug/ui.py +0 -0
- {nextpy_framework-3.9.1/.nextpy_framework/nextpy → nextpy_framework-5.0.0/.nextpy_framework/nextpy/docs}/conf.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/hooks.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/plugins/base.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/plugins/builtin.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/plugins/config.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/plugins.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/psx/core/__init__.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/psx/core/ast_nodes.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/psx/devtools/language_server.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/psx/devtools/language_server_lsp.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/psx/devtools/psx_formatter.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/psx/devtools/server_client_components.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/psx/devtools/setup.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/psx/hydration/__init__.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/psx/renderer/renderer.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/psx/runtime/actions_runtime.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/psx/tests/test_full_integration.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/psx/tests/test_html_attribute_support.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/psx/utils/helpers.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/psx/vdom/vnode.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/public/__init__.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/public/logo.png +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/py.typed +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/server/__init__.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/source/conf.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/tests/HANDLER_REGISTRATION_SYSTEM.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/tests/setup_complete.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/tests/test_autodebug_enhanced.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/tests/test_cli_scaffolding.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/tests/test_colors.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/tests/test_component_rendering.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/tests/test_conversion.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/tests/test_critical_fixes.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/tests/test_demo_mode.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/tests/test_demo_server.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/tests/test_enhanced_handlers.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/tests/test_extraction.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/tests/test_final.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/tests/test_fixes.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/tests/test_handler_system.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/tests/test_hydration_engine.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/tests/test_integration.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/tests/test_interactive_bug.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/tests/test_jsx_edgecases.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/tests/test_jsx_preprocessor.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/tests/test_migration.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/tests/test_modular_debug.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/tests/test_routing.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/tests/test_server.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/tests/test_server_features.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/tests/test_server_working.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/tests/test_tailwind.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/tests/test_tailwind_full.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/tests/test_tailwind_integration.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/tests/test_tailwind_up_to_date.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/tests/test_websocket_complete.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/true_jsx.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/utils/__init__.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/utils/cache.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/utils/email.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/utils/file_upload.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/utils/logging.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/utils/search.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/utils/seo.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/utils/validators.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy/websocket.py +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy_framework.egg-info/dependency_links.txt +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy_framework.egg-info/entry_points.txt +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy_framework.egg-info/requires.txt +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/.nextpy_framework/nextpy_framework.egg-info/top_level.txt +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/LICENSE +0 -0
- {nextpy_framework-3.9.1 → nextpy_framework-5.0.0}/setup.cfg +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"""
|
|
2
|
-
NextPy - The Python Web
|
|
3
|
-
|
|
2
|
+
NextPy - The Python Web Framework
|
|
3
|
+
Full-stack framework with file-based routing, SSR, SSG, and enhanced client-server sync
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
|
-
__version__ = "
|
|
6
|
+
__version__ = "5.0.0"
|
|
7
7
|
|
|
8
8
|
from nextpy.core.router import Router, Route, DynamicRoute
|
|
9
9
|
from nextpy.core.renderer import Renderer
|
|
@@ -14,7 +14,33 @@ from nextpy.core.data_fetching import (
|
|
|
14
14
|
)
|
|
15
15
|
from nextpy.components.head import Head
|
|
16
16
|
from nextpy.components.link import Link
|
|
17
|
-
from nextpy.server.app import create_app
|
|
17
|
+
from nextpy.server.app import create_app, get_api_app
|
|
18
|
+
from nextpy.db import (
|
|
19
|
+
Base, Model, Database, get_db, get_session, session, init_db,
|
|
20
|
+
Page, paginate, transaction, get_or_none, get_or_404, batch_get,
|
|
21
|
+
apply_filters, eager_load, serialize_model, count_by,
|
|
22
|
+
)
|
|
23
|
+
from nextpy.cache import MemoryCache, cached, get_cache, invalidate
|
|
24
|
+
from nextpy.tasks import BackgroundQueue, get_queue, enqueue, task as background_task
|
|
25
|
+
from nextpy.api import api, fetch_api
|
|
26
|
+
from nextpy.admin import AdminSite, admin, register
|
|
27
|
+
from nextpy.auth import (
|
|
28
|
+
AuthManager, require_auth, create_session,
|
|
29
|
+
get_session as get_auth_session, delete_session,
|
|
30
|
+
hash_password, verify_password,
|
|
31
|
+
set_session_cookie, get_user_id_from_request, clear_session_cookie,
|
|
32
|
+
get_user_from_request, current_user_id, require_user, require_role,
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
# Enhanced full-stack features
|
|
36
|
+
from nextpy.server_actions import (
|
|
37
|
+
ServerAction, server_action, ServerActionError, ValidationError,
|
|
38
|
+
FormValidator, ActionSchema, get_health_status, get_current_user
|
|
39
|
+
)
|
|
40
|
+
from nextpy.state_sync import (
|
|
41
|
+
StateManager, get_state_manager, get_state, set_state, update_state, delete_state,
|
|
42
|
+
ServerState, DatabaseState
|
|
43
|
+
)
|
|
18
44
|
|
|
19
45
|
# Import all PSX features for easy access
|
|
20
46
|
from nextpy.psx import (
|
|
@@ -38,9 +64,12 @@ from nextpy.psx import (
|
|
|
38
64
|
useDebugValue, useTransition, useDeferredValue, useId,
|
|
39
65
|
|
|
40
66
|
# Custom Hooks
|
|
41
|
-
useCounter, useToggle, useLocalStorage, useFetch, useDebounce,
|
|
67
|
+
useCounter, useToggle, useLocalStorage, useFetch, useAction, useDebounce,
|
|
42
68
|
useInterval, usePrevious, useAsync, useMediaQuery, useGeolocation, usePerformance,
|
|
43
69
|
|
|
70
|
+
# Server action bridge
|
|
71
|
+
callServerAction,
|
|
72
|
+
|
|
44
73
|
# Event Handlers
|
|
45
74
|
create_onclick, create_ondblclick, create_onmousedown, create_onmouseup,
|
|
46
75
|
create_onmouseover, create_onmouseout, create_onmouseenter, create_onmouseleave, create_onmousemove,
|
|
@@ -83,9 +112,23 @@ from nextpy.hooks import (
|
|
|
83
112
|
# Export everything for easy access
|
|
84
113
|
__all__ = [
|
|
85
114
|
# Core NextPy
|
|
86
|
-
'Router', 'Route', 'DynamicRoute', 'Renderer', 'create_app',
|
|
115
|
+
'Router', 'Route', 'DynamicRoute', 'Renderer', 'create_app', 'get_api_app',
|
|
116
|
+
'Base', 'Model', 'Database', 'init_db', 'get_db', 'get_session', 'session', 'api', 'fetch_api',
|
|
117
|
+
'Page', 'paginate', 'transaction', 'get_or_none', 'get_or_404', 'batch_get',
|
|
118
|
+
'apply_filters', 'eager_load', 'serialize_model', 'count_by',
|
|
119
|
+
'MemoryCache', 'cached', 'get_cache', 'invalidate',
|
|
120
|
+
'BackgroundQueue', 'get_queue', 'enqueue', 'background_task',
|
|
121
|
+
'AuthManager', 'require_auth', 'create_session', 'get_auth_session', 'delete_session',
|
|
122
|
+
'hash_password', 'verify_password', 'set_session_cookie', 'get_user_id_from_request', 'clear_session_cookie',
|
|
123
|
+
'get_user_from_request', 'current_user_id', 'require_user', 'require_role',
|
|
87
124
|
'get_server_side_props', 'get_static_props', 'get_static_paths',
|
|
88
|
-
'Head', 'Link',
|
|
125
|
+
'Head', 'Link', 'AdminSite', 'admin', 'register',
|
|
126
|
+
|
|
127
|
+
# Enhanced Full-Stack Features
|
|
128
|
+
'ServerAction', 'server_action', 'ServerActionError', 'ValidationError',
|
|
129
|
+
'FormValidator', 'ActionSchema', 'get_health_status', 'get_current_user',
|
|
130
|
+
'StateManager', 'get_state_manager', 'get_state', 'set_state', 'update_state', 'delete_state',
|
|
131
|
+
'ServerState', 'DatabaseState',
|
|
89
132
|
|
|
90
133
|
# PSX Core
|
|
91
134
|
'PSXElement', 'PSXParser', 'psx', 'render_psx', 'fragment', 'key',
|
|
@@ -107,7 +150,7 @@ __all__ = [
|
|
|
107
150
|
'useDebugValue', 'useTransition', 'useDeferredValue', 'useId',
|
|
108
151
|
|
|
109
152
|
# PSX Custom Hooks
|
|
110
|
-
'useCounter', 'useToggle', 'useLocalStorage', 'useFetch', 'useDebounce',
|
|
153
|
+
'useCounter', 'useToggle', 'useLocalStorage', 'useFetch', 'useAction', 'useDebounce',
|
|
111
154
|
'useInterval', 'usePrevious', 'useAsync', 'useMediaQuery', 'useGeolocation', 'usePerformance',
|
|
112
155
|
|
|
113
156
|
# PSX Event Handlers
|