nextpy-framework 3.8.0__tar.gz → 3.9.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.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/__init__.py +1 -1
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/cli.py +127 -76
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy_framework.egg-info/PKG-INFO +3 -3
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/PKG-INFO +3 -3
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/README.md +2 -2
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/pyproject.toml +1 -1
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/ast_parser.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/auth.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/builder.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/components/__init__.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/components/debug/AutoDebug.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/components/debug/AutoDebug_v3.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/components/debug/DebugIcon.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/components/debug/DebugIconFixed.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/components/feedback.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/components/form.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/components/head.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/components/hooks_provider.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/components/image.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/components/layout.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/components/link.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/components/loader.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/components/navigation.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/components/toast.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/components/ui.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/components/visual.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/components.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/conf.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/config.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/core/__init__.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/core/builder.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/core/component_renderer.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/core/component_router.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/core/data_fetching.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/core/demo_pages_simple.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/core/demo_router.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/core/renderer.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/core/router.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/core/sync.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/db.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/debug/core.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/debug/performance.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/debug/ui.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/debug/websocket.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/dev_server.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/dev_tools.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/errors.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/hooks.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/hooks_provider.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/hooks_provider_new.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/jsx.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/jsx_preprocessor.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/jsx_transformer.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/main.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/performance.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/plugins/__init__.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/plugins/base.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/plugins/builtin.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/plugins/config.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/plugins.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/__init__.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/compiler/actions.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/compiler/handler_compiler.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/components/component.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/core/__init__.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/core/ast_nodes.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/core/evaluator.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/core/parser.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/core/runtime.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/devtools/language_server.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/devtools/language_server_lsp.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/devtools/psx_formatter.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/devtools/server_client_components.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/devtools/setup.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/hydration/__init__.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/hydration/decorators.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/hydration/engine.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/hydration/integration.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/renderer/renderer.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/runtime/actions_runtime.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/runtime/js_actions_runtime.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/tests/test_full_integration.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/tests/test_html_attribute_support.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/utils/helpers.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/vdom/vnode.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/py.typed +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/runtime/events.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/security.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/server/__init__.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/server/app.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/server/debug.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/server/middleware.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/source/conf.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/HANDLER_REGISTRATION_SYSTEM.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/setup_complete.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_autodebug_enhanced.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_cli_scaffolding.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_colors.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_component_rendering.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_conversion.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_critical_fixes.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_demo_mode.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_demo_server.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_enhanced_handlers.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_extraction.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_final.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_fixes.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_handler_system.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_hydration_engine.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_integration.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_interactive_bug.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_jsx_edgecases.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_jsx_preprocessor.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_migration.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_modular_debug.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_routing.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_server.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_server_features.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_server_working.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_tailwind.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_tailwind_full.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_tailwind_integration.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_tailwind_up_to_date.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_websocket_complete.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/true_jsx.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/utils/__init__.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/utils/cache.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/utils/email.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/utils/file_upload.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/utils/logging.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/utils/search.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/utils/seo.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/utils/validators.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/websocket.py +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy_framework.egg-info/SOURCES.txt +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy_framework.egg-info/dependency_links.txt +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy_framework.egg-info/entry_points.txt +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy_framework.egg-info/requires.txt +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy_framework.egg-info/top_level.txt +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/LICENSE +0 -0
- {nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/setup.cfg +0 -0
|
@@ -1164,6 +1164,37 @@ def _create_project_structure(
|
|
|
1164
1164
|
</body>
|
|
1165
1165
|
</html>""")
|
|
1166
1166
|
click.echo(" Created: templates/_404.html")
|
|
1167
|
+
|
|
1168
|
+
try:
|
|
1169
|
+
from importlib.resources import files, as_file
|
|
1170
|
+
import shutil
|
|
1171
|
+
|
|
1172
|
+
images_dir = project_dir / "public" / "images"
|
|
1173
|
+
images_dir.mkdir(parents=True, exist_ok=True)
|
|
1174
|
+
|
|
1175
|
+
logo_source = files("nextpy.public").joinpath("logo.png")
|
|
1176
|
+
|
|
1177
|
+
with as_file(logo_source) as logo_path:
|
|
1178
|
+
shutil.copy2(
|
|
1179
|
+
logo_path,
|
|
1180
|
+
images_dir / "logo.png"
|
|
1181
|
+
)
|
|
1182
|
+
click.echo(" Copied: logo.png to public/images/")
|
|
1183
|
+
except Exception as e:
|
|
1184
|
+
click.echo(click.style(f" ⚠️ Failed to copy logo.png: {str(e)}", fg="yellow"))
|
|
1185
|
+
|
|
1186
|
+
#create minimal stylesheet
|
|
1187
|
+
(project_dir / "public" / "css"/ "styles.css").write_text("""/* NextPy Styles */
|
|
1188
|
+
body{
|
|
1189
|
+
margin: 0;
|
|
1190
|
+
padding: 0;
|
|
1191
|
+
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
|
1192
|
+
}
|
|
1193
|
+
""")
|
|
1194
|
+
|
|
1195
|
+
click.echo(" Created: public/css/styles.css")
|
|
1196
|
+
|
|
1197
|
+
|
|
1167
1198
|
|
|
1168
1199
|
# Create styles.css with Tailwind directives
|
|
1169
1200
|
(project_dir / "styles" / "styles.css").write_text("""/* NextPy Styles */
|
|
@@ -1332,8 +1363,9 @@ module.exports = {
|
|
|
1332
1363
|
_create_traditional_homepage(project_dir)
|
|
1333
1364
|
|
|
1334
1365
|
(project_dir / "pages" / "index.py").write_text('''"""Interactive Homepage """
|
|
1335
|
-
|
|
1336
|
-
|
|
1366
|
+
|
|
1367
|
+
from nextpy.psx import interactive_component as component
|
|
1368
|
+
|
|
1337
1369
|
|
|
1338
1370
|
@component
|
|
1339
1371
|
def Home(props=None):
|
|
@@ -1342,96 +1374,115 @@ def Home(props=None):
|
|
|
1342
1374
|
message = props.get("message", "Build amazing web apps with Python and True JSX")
|
|
1343
1375
|
|
|
1344
1376
|
return (
|
|
1345
|
-
<div class="flex flex-col items-center justify-between min-h-screen p-
|
|
1346
|
-
<
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1377
|
+
<div class="flex flex-col items-center justify-between min-h-screen p-8 font-sans antialiased text-black bg-white selection:bg-gray-200">
|
|
1378
|
+
<head>
|
|
1379
|
+
{/* optionally load a stylesheet from public/css <link rel="stylesheet" href="static/css/styles.css" /> */}
|
|
1380
|
+
</head>
|
|
1381
|
+
{/* Top spacer to perfectly center the main content vertically */}
|
|
1382
|
+
<div class=""></div>
|
|
1383
|
+
|
|
1384
|
+
{/* Main Centered Content */}
|
|
1385
|
+
<div class="flex flex-col items-center max-w-xl gap-8 text-center">
|
|
1386
|
+
{/* Logo Section */}
|
|
1387
|
+
<h1 class="text-[56px] font-extrabold tracking-tighter leading-none select-none font-mono flex items-baseline">
|
|
1388
|
+
<img src="static/images/logo.png" alt="NextPy Logo" class="w-auto h-16" />
|
|
1389
|
+
|
|
1390
|
+
</h1>
|
|
1391
|
+
|
|
1392
|
+
{/* Step-by-Step Instructions */}
|
|
1393
|
+
<ol class="list-decimal list-inside text-left text-[16px] font-mono text-gray-800 space-y-2.5">
|
|
1394
|
+
<li>
|
|
1395
|
+
Get started by editing
|
|
1396
|
+
<code class="bg-black/[0.05] px-1.5 py-0.5 rounded font-bold text-black text-[13px]">
|
|
1397
|
+
pages/index.py
|
|
1398
|
+
</code>
|
|
1399
|
+
.
|
|
1400
|
+
</li>
|
|
1401
|
+
<li>Save and see your changes instantly.</li>
|
|
1402
|
+
</ol>
|
|
1403
|
+
|
|
1404
|
+
{/* Call To Action Buttons */}
|
|
1405
|
+
<div class="flex flex-col items-center gap-4 mt-2 sm:flex-row">
|
|
1406
|
+
|
|
1353
1407
|
<a
|
|
1354
|
-
href="https://
|
|
1355
|
-
class="flex items-center gap-2 hover:
|
|
1408
|
+
href="https://nextpy-framework.onrender.com/deploy"
|
|
1409
|
+
class="flex items-center gap-2 bg-black text-white px-6 py-3 rounded-full text-[14px] font-medium transition-colors hover:bg-[#2c2c2c] shadow-sm"
|
|
1410
|
+
|
|
1356
1411
|
>
|
|
1357
|
-
|
|
1358
|
-
|
|
1412
|
+
<svg
|
|
1413
|
+
class="w-6 h-6"
|
|
1414
|
+
fill="none"
|
|
1415
|
+
stroke="currentColor"
|
|
1416
|
+
stroke-width="2"
|
|
1417
|
+
viewBox="0 0 24 24"
|
|
1418
|
+
>
|
|
1419
|
+
<path
|
|
1420
|
+
stroke-linecap="round"
|
|
1421
|
+
stroke-linejoin="round"
|
|
1422
|
+
d="M7 18a4 4 0 010-8 5 5 0 019.7-1.2A3.5 3.5 0 0117.5 18H7z"
|
|
1423
|
+
/>
|
|
1424
|
+
<path
|
|
1425
|
+
stroke-linecap="round"
|
|
1426
|
+
stroke-linejoin="round"
|
|
1427
|
+
d="M12 14V8m0 0l-3 3m3-3l3 3"
|
|
1428
|
+
/>
|
|
1429
|
+
</svg>
|
|
1430
|
+
|
|
1431
|
+
Deploy now
|
|
1432
|
+
</a>
|
|
1433
|
+
|
|
1434
|
+
<a
|
|
1435
|
+
href="https://nextpy-framework.onrender.com/"
|
|
1436
|
+
class="flex items-center justify-center border border-black/[0.08] bg-white text-black px-6 py-3 rounded-full text-[14px] font-medium transition-colors hover:bg-gray-50 hover:border-black/[0.15] min-w-[140px]"
|
|
1437
|
+
|
|
1438
|
+
>
|
|
1439
|
+
Read our docs
|
|
1359
1440
|
</a>
|
|
1360
1441
|
</div>
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
<div class="flex items-center gap-4">
|
|
1365
|
-
<h1 class="text-6xl font-bold text-transparent bg-gradient-to-r from-blue-400 to-purple-600 bg-clip-text">
|
|
1366
|
-
NextPy
|
|
1367
|
-
</h1>
|
|
1368
|
-
<span class="inline-flex items-center justify-center w-12 h-12 text-lg font-bold bg-gray-800 rounded-full">
|
|
1369
|
-
3.7.3
|
|
1370
|
-
</span>
|
|
1371
|
-
</div>
|
|
1372
|
-
</div>
|
|
1373
|
-
|
|
1374
|
-
<div class="grid w-full max-w-5xl grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4">
|
|
1375
|
-
<a
|
|
1376
|
-
href="https://nextpy-framework.onrender.com/"
|
|
1377
|
-
class="p-6 transition-colors border border-gray-700 rounded-lg hover:border-gray-400 group"
|
|
1378
|
-
>
|
|
1379
|
-
<h2 class="mb-3 text-2xl font-semibold">
|
|
1380
|
-
Docs
|
|
1381
|
-
<span class="inline-block transition-transform group-hover:translate-x-1">
|
|
1382
|
-
->
|
|
1383
|
-
</span>
|
|
1384
|
-
</h2>
|
|
1385
|
-
<p class="text-sm text-gray-400">
|
|
1386
|
-
Find in-depth information about NextPy features and API.
|
|
1387
|
-
</p>
|
|
1388
|
-
</a>
|
|
1389
|
-
|
|
1390
|
-
<a
|
|
1442
|
+
|
|
1443
|
+
<div class="flex flex-wrap items-center justify-center gap-x-8 text-[14px] font-medium text-gray-600 w-full max-w-2xl py-4 border-t border-gray-100 sm:border-none">
|
|
1444
|
+
<a
|
|
1391
1445
|
href="https://nextpy-framework.onrender.com/learn"
|
|
1392
|
-
class="
|
|
1446
|
+
class="flex items-center gap-2 transition-colors hover:underline hover:text-black"
|
|
1447
|
+
|
|
1393
1448
|
>
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
<
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
</h2>
|
|
1400
|
-
<p class="text-sm text-gray-400">
|
|
1401
|
-
Learn about NextPy in an interactive course with quizzes!
|
|
1402
|
-
</p>
|
|
1449
|
+
{/* Document Icon */}
|
|
1450
|
+
<svg class="w-4 h-4 text-gray-400" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24">
|
|
1451
|
+
<path stroke-linecap="round" stroke-linejoin="round" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"/>
|
|
1452
|
+
</svg>
|
|
1453
|
+
Learn
|
|
1403
1454
|
</a>
|
|
1404
1455
|
|
|
1405
1456
|
<a
|
|
1406
1457
|
href="https://nextpy-framework.onrender.com/templates"
|
|
1407
|
-
class="
|
|
1458
|
+
class="flex items-center gap-2 transition-colors hover:underline hover:text-black"
|
|
1459
|
+
|
|
1408
1460
|
>
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
<
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
</h2>
|
|
1415
|
-
<p class="text-sm text-gray-400">
|
|
1416
|
-
Explore starter templates for NextPy.
|
|
1417
|
-
</p>
|
|
1461
|
+
{/* Window Layout Icon */}
|
|
1462
|
+
<svg class="w-4 h-4 text-gray-400" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24">
|
|
1463
|
+
<path stroke-linecap="round" stroke-linejoin="round" d="M4 5a1 1 0 011-1h14a1 1 0 011 1v2a1 1 0 01-1 1H5a1 1 0 01-1-1V5zm0 7a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1H5a1 1 0 01-1-1v-6zm10 0a1 1 0 011-1h4a1 1 0 011 1v6a1 1 0 01-1 1h-4a1 1 0 01-1-1v-6z"/>
|
|
1464
|
+
</svg>
|
|
1465
|
+
Examples
|
|
1418
1466
|
</a>
|
|
1419
1467
|
|
|
1420
1468
|
<a
|
|
1421
|
-
href="https://nextpy-framework.onrender.com/
|
|
1422
|
-
class="
|
|
1469
|
+
href="https://nextpy-framework.onrender.com/"
|
|
1470
|
+
class="flex items-center gap-1.5 hover:underline hover:text-black transition-colors"
|
|
1471
|
+
|
|
1423
1472
|
>
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
<
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
</h2>
|
|
1430
|
-
<p class="text-sm text-gray-400">
|
|
1431
|
-
Instantly deploy your NextPy site to a shareable URL with RahimStudios.
|
|
1432
|
-
</p>
|
|
1473
|
+
{/* Globe Icon */}
|
|
1474
|
+
<svg class="w-4 h-4 text-gray-400" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24">
|
|
1475
|
+
<path stroke-linecap="round" stroke-linejoin="round" d="M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9"/>
|
|
1476
|
+
</svg>
|
|
1477
|
+
Go to nextpy.org →
|
|
1433
1478
|
</a>
|
|
1479
|
+
</div>
|
|
1480
|
+
|
|
1434
1481
|
</div>
|
|
1482
|
+
|
|
1483
|
+
<footer class="flex flex-wrap items-center justify-center text-[14px] font-medium text-gray-600 w-full max-w-2xl py-4 border-t border-gray-100 sm:border-none">
|
|
1484
|
+
The Python Web Framework for Everyone
|
|
1485
|
+
</footer>
|
|
1435
1486
|
</div>
|
|
1436
1487
|
)
|
|
1437
1488
|
|
|
@@ -1445,7 +1496,7 @@ def getServerSideProps(context):
|
|
|
1445
1496
|
}
|
|
1446
1497
|
|
|
1447
1498
|
|
|
1448
|
-
default = Home
|
|
1499
|
+
default = Home
|
|
1449
1500
|
|
|
1450
1501
|
|
|
1451
1502
|
''')
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: nextpy-framework
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.9.0
|
|
4
4
|
Summary: The Python Web Framework introducing file-based routing, SSR, and SSG and more
|
|
5
5
|
Author: NextPy Team
|
|
6
6
|
License: MIT
|
|
@@ -160,7 +160,7 @@ Everything in one framework.
|
|
|
160
160
|
## Example
|
|
161
161
|
|
|
162
162
|
```python
|
|
163
|
-
from nextpy import component, useState
|
|
163
|
+
from nextpy import interactive_component as component, useState, create_onclick
|
|
164
164
|
|
|
165
165
|
@component
|
|
166
166
|
def Home():
|
|
@@ -170,7 +170,7 @@ def Home():
|
|
|
170
170
|
<div>
|
|
171
171
|
<h1>Welcome to NextPy</h1>
|
|
172
172
|
|
|
173
|
-
<button
|
|
173
|
+
<button create_onclick={create_onclick(lambda e: setCount(count + 1))}>
|
|
174
174
|
Count: {count}
|
|
175
175
|
</button>
|
|
176
176
|
</div>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: nextpy-framework
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.9.0
|
|
4
4
|
Summary: The Python Web Framework introducing file-based routing, SSR, and SSG and more
|
|
5
5
|
Author: NextPy Team
|
|
6
6
|
License: MIT
|
|
@@ -160,7 +160,7 @@ Everything in one framework.
|
|
|
160
160
|
## Example
|
|
161
161
|
|
|
162
162
|
```python
|
|
163
|
-
from nextpy import component, useState
|
|
163
|
+
from nextpy import interactive_component as component, useState, create_onclick
|
|
164
164
|
|
|
165
165
|
@component
|
|
166
166
|
def Home():
|
|
@@ -170,7 +170,7 @@ def Home():
|
|
|
170
170
|
<div>
|
|
171
171
|
<h1>Welcome to NextPy</h1>
|
|
172
172
|
|
|
173
|
-
<button
|
|
173
|
+
<button create_onclick={create_onclick(lambda e: setCount(count + 1))}>
|
|
174
174
|
Count: {count}
|
|
175
175
|
</button>
|
|
176
176
|
</div>
|
|
@@ -119,7 +119,7 @@ Everything in one framework.
|
|
|
119
119
|
## Example
|
|
120
120
|
|
|
121
121
|
```python
|
|
122
|
-
from nextpy import component, useState
|
|
122
|
+
from nextpy import interactive_component as component, useState, create_onclick
|
|
123
123
|
|
|
124
124
|
@component
|
|
125
125
|
def Home():
|
|
@@ -129,7 +129,7 @@ def Home():
|
|
|
129
129
|
<div>
|
|
130
130
|
<h1>Welcome to NextPy</h1>
|
|
131
131
|
|
|
132
|
-
<button
|
|
132
|
+
<button create_onclick={create_onclick(lambda e: setCount(count + 1))}>
|
|
133
133
|
Count: {count}
|
|
134
134
|
</button>
|
|
135
135
|
</div>
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "nextpy-framework"
|
|
7
|
-
version = "3.
|
|
7
|
+
version = "3.9.0"
|
|
8
8
|
description = "The Python Web Framework introducing file-based routing, SSR, and SSG and more"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/components/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/components/feedback.py
RENAMED
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/components/form.py
RENAMED
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/components/head.py
RENAMED
|
File without changes
|
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/components/image.py
RENAMED
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/components/layout.py
RENAMED
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/components/link.py
RENAMED
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/components/loader.py
RENAMED
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/components/navigation.py
RENAMED
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/components/toast.py
RENAMED
|
File without changes
|
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/components/visual.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/core/component_router.py
RENAMED
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/core/data_fetching.py
RENAMED
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/core/demo_pages_simple.py
RENAMED
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/core/demo_router.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/debug/performance.py
RENAMED
|
File without changes
|
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/debug/websocket.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/hooks_provider.py
RENAMED
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/hooks_provider_new.py
RENAMED
|
File without changes
|
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/jsx_preprocessor.py
RENAMED
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/jsx_transformer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/plugins/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/plugins/builtin.py
RENAMED
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/plugins/config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/compiler/actions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/core/__init__.py
RENAMED
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/core/ast_nodes.py
RENAMED
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/core/evaluator.py
RENAMED
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/core/parser.py
RENAMED
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/core/runtime.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/devtools/setup.py
RENAMED
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/hydration/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/hydration/engine.py
RENAMED
|
File without changes
|
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/renderer/renderer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/utils/helpers.py
RENAMED
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/psx/vdom/vnode.py
RENAMED
|
File without changes
|
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/runtime/events.py
RENAMED
|
File without changes
|
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/server/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/server/middleware.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/setup_complete.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_colors.py
RENAMED
|
File without changes
|
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_conversion.py
RENAMED
|
File without changes
|
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_demo_mode.py
RENAMED
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_demo_server.py
RENAMED
|
File without changes
|
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_extraction.py
RENAMED
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_final.py
RENAMED
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_fixes.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_integration.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_migration.py
RENAMED
|
File without changes
|
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_routing.py
RENAMED
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_server.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/tests/test_tailwind.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/utils/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/utils/file_upload.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nextpy_framework-3.8.0 → nextpy_framework-3.9.0}/.nextpy_framework/nextpy/utils/validators.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|