nextpy-framework 2.1.0__tar.gz → 2.2.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-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/cli.py +9 -9
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy_framework.egg-info/PKG-INFO +1 -1
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/PKG-INFO +1 -1
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/pyproject.toml +1 -1
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/__init__.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/auth.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/builder.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/components/__init__.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/components/debug/AutoDebug.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/components/debug/DebugIcon.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/components/debug/DebugIconFixed.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/components/feedback.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/components/form.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/components/head.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/components/hooks_provider.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/components/image.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/components/layout.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/components/link.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/components/loader.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/components/navigation.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/components/toast.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/components/ui.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/components/visual.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/components.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/config.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/core/__init__.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/core/builder.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/core/component_renderer.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/core/component_router.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/core/data_fetching.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/core/demo_pages_simple.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/core/demo_router.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/core/renderer.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/core/router.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/core/sync.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/db.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/dev_server.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/dev_tools.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/errors.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/hooks.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/hooks_provider.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/hooks_provider_new.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/jsx.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/jsx_preprocessor.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/jsx_transformer.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/main.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/performance.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/plugins/__init__.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/plugins/base.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/plugins/builtin.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/plugins/config.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/plugins.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/py.typed +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/security.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/server/__init__.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/server/app.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/server/debug.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/server/middleware.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/true_jsx.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/utils/__init__.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/utils/cache.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/utils/email.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/utils/file_upload.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/utils/logging.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/utils/search.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/utils/seo.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/utils/validators.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/websocket.py +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy_framework.egg-info/SOURCES.txt +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy_framework.egg-info/dependency_links.txt +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy_framework.egg-info/entry_points.txt +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy_framework.egg-info/requires.txt +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy_framework.egg-info/top_level.txt +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/LICENSE +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/README.md +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/setup.cfg +0 -0
- {nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/tests/test_routing.py +0 -0
|
@@ -272,7 +272,7 @@ def dev(port: int, host: str, reload: bool, debug: bool):
|
|
|
272
272
|
if dir_path.exists():
|
|
273
273
|
existing_reload_dirs.append(reload_dir)
|
|
274
274
|
if debug:
|
|
275
|
-
click.echo(f" 📁 Watching: {reload_dir}/"
|
|
275
|
+
click.echo(click.style(f" 📁 Watching: {reload_dir}/"))
|
|
276
276
|
|
|
277
277
|
# Enhanced reload patterns for JSX files
|
|
278
278
|
reload_includes = [
|
|
@@ -529,7 +529,7 @@ def version():
|
|
|
529
529
|
click.echo(click.style("\n 📋 NextPy Framework Info", fg="cyan", bold=True))
|
|
530
530
|
click.echo(click.style(" ===================\n", fg="cyan"))
|
|
531
531
|
|
|
532
|
-
click.echo(f" 🏷️ Version: 2.
|
|
532
|
+
click.echo(f" 🏷️ Version: 2.2.0")
|
|
533
533
|
click.echo(f" 🐍 Python: {sys.version.split()[0]}")
|
|
534
534
|
click.echo(f" ⚡ Framework: NextPy")
|
|
535
535
|
click.echo(f" 🎨 Architecture: True JSX")
|
|
@@ -758,7 +758,7 @@ def {name.title()}(props = None):
|
|
|
758
758
|
title = props.get("title", "{name.title()} Page")
|
|
759
759
|
|
|
760
760
|
return (
|
|
761
|
-
<div class="max-w-4xl
|
|
761
|
+
<div class="max-w-4xl px-4 py-12 mx-auto">
|
|
762
762
|
<h1 class="mb-6 text-4xl font-bold text-gray-900">{{title}}</h1>
|
|
763
763
|
<p class="text-lg text-gray-600">
|
|
764
764
|
This is the {name} page generated by NextPy.
|
|
@@ -912,9 +912,9 @@ def About(props = None):
|
|
|
912
912
|
description = props.get("description", "Learn about the NextPy framework")
|
|
913
913
|
|
|
914
914
|
return (
|
|
915
|
-
<div class="max-w-4xl
|
|
915
|
+
<div class="max-w-4xl px-4 py-12 mx-auto">
|
|
916
916
|
<h1 class="mb-6 text-4xl font-bold text-gray-900">{title}</h1>
|
|
917
|
-
<p class="text-lg text-gray-600
|
|
917
|
+
<p class="mb-4 text-lg text-gray-600">{description}</p>
|
|
918
918
|
<p class="text-gray-700">
|
|
919
919
|
NextPy is a Python web framework inspired by Next.js, offering file-based routing,
|
|
920
920
|
server-side rendering, static site generation, and a modern True JSX component-based architecture.
|
|
@@ -977,9 +977,9 @@ def Layout(props = None):
|
|
|
977
977
|
children = props.get("children", "")
|
|
978
978
|
|
|
979
979
|
return (
|
|
980
|
-
<div class="min-h-screen
|
|
980
|
+
<div class="flex flex-col min-h-screen">
|
|
981
981
|
<header class="bg-white shadow-sm">
|
|
982
|
-
<div class="
|
|
982
|
+
<div class="px-4 py-4 mx-auto max-w-7xl">
|
|
983
983
|
<div class="flex items-center justify-between">
|
|
984
984
|
<h1 class="text-2xl font-bold text-gray-900">{title}</h1>
|
|
985
985
|
<nav class="flex space-x-4">
|
|
@@ -992,8 +992,8 @@ def Layout(props = None):
|
|
|
992
992
|
<main class="flex-1">
|
|
993
993
|
{children}
|
|
994
994
|
</main>
|
|
995
|
-
<footer class="bg-gray-100
|
|
996
|
-
<div class="
|
|
995
|
+
<footer class="mt-auto bg-gray-100">
|
|
996
|
+
<div class="px-4 py-6 mx-auto text-center text-gray-600 max-w-7xl">
|
|
997
997
|
<p>© 2025 NextPy Framework. All rights reserved.</p>
|
|
998
998
|
</div>
|
|
999
999
|
</footer>
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "nextpy-framework"
|
|
7
|
-
version = "2.
|
|
7
|
+
version = "2.2.0"
|
|
8
8
|
description = "A Python web framework inspired by Next.js with 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-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/components/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/components/feedback.py
RENAMED
|
File without changes
|
{nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/components/form.py
RENAMED
|
File without changes
|
{nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/components/head.py
RENAMED
|
File without changes
|
|
File without changes
|
{nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/components/image.py
RENAMED
|
File without changes
|
{nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/components/layout.py
RENAMED
|
File without changes
|
{nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/components/link.py
RENAMED
|
File without changes
|
{nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/components/loader.py
RENAMED
|
File without changes
|
{nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/components/navigation.py
RENAMED
|
File without changes
|
{nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/components/toast.py
RENAMED
|
File without changes
|
|
File without changes
|
{nextpy_framework-2.1.0 → nextpy_framework-2.2.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
|
{nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/core/component_router.py
RENAMED
|
File without changes
|
{nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/core/data_fetching.py
RENAMED
|
File without changes
|
{nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/core/demo_pages_simple.py
RENAMED
|
File without changes
|
{nextpy_framework-2.1.0 → nextpy_framework-2.2.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/hooks_provider.py
RENAMED
|
File without changes
|
{nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/hooks_provider_new.py
RENAMED
|
File without changes
|
|
File without changes
|
{nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/jsx_preprocessor.py
RENAMED
|
File without changes
|
{nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/jsx_transformer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/plugins/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/plugins/builtin.py
RENAMED
|
File without changes
|
{nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/plugins/config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/server/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/server/middleware.py
RENAMED
|
File without changes
|
|
File without changes
|
{nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/utils/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nextpy_framework-2.1.0 → nextpy_framework-2.2.0}/.nextpy_framework/nextpy/utils/file_upload.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nextpy_framework-2.1.0 → nextpy_framework-2.2.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
|
|
File without changes
|
|
File without changes
|