nextpy-framework 2.4.5__tar.gz → 2.4.7__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.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/cli.py +11 -16
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/server/app.py +5 -2
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7/.nextpy_framework/nextpy_framework.egg-info}/PKG-INFO +1 -1
- {nextpy_framework-2.4.5/.nextpy_framework/nextpy_framework.egg-info → nextpy_framework-2.4.7}/PKG-INFO +1 -1
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/pyproject.toml +1 -1
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/__init__.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/auth.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/builder.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/components/__init__.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/components/debug/AutoDebug.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/components/debug/DebugIcon.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/components/debug/DebugIconFixed.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/components/feedback.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/components/form.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/components/head.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/components/hooks_provider.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/components/image.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/components/layout.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/components/link.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/components/loader.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/components/navigation.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/components/toast.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/components/ui.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/components/visual.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/components.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/config.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/core/__init__.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/core/builder.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/core/component_renderer.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/core/component_router.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/core/data_fetching.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/core/demo_pages_simple.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/core/demo_router.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/core/renderer.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/core/router.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/core/sync.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/db.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/dev_server.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/dev_tools.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/errors.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/hooks.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/hooks_provider.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/hooks_provider_new.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/jsx.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/jsx_preprocessor.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/jsx_transformer.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/main.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/performance.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/plugins/__init__.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/plugins/base.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/plugins/builtin.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/plugins/config.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/plugins.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/py.typed +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/security.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/server/__init__.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/server/debug.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/server/middleware.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/true_jsx.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/utils/__init__.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/utils/cache.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/utils/email.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/utils/file_upload.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/utils/logging.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/utils/search.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/utils/seo.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/utils/validators.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/websocket.py +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy_framework.egg-info/SOURCES.txt +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy_framework.egg-info/dependency_links.txt +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy_framework.egg-info/entry_points.txt +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy_framework.egg-info/requires.txt +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy_framework.egg-info/top_level.txt +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/LICENSE +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/README.md +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/setup.cfg +0 -0
- {nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/tests/test_routing.py +0 -0
|
@@ -533,7 +533,7 @@ def version():
|
|
|
533
533
|
click.echo(click.style("\n 📋 NextPy Framework Info", fg="cyan", bold=True))
|
|
534
534
|
click.echo(click.style(" ===================\n", fg="cyan"))
|
|
535
535
|
|
|
536
|
-
click.echo(f" 🏷️ Version: 2.4.
|
|
536
|
+
click.echo(f" 🏷️ Version: 2.4.6 ")
|
|
537
537
|
click.echo(f" 🐍 Python: {sys.version.split()[0]}")
|
|
538
538
|
click.echo(f" ⚡ Framework: NextPy")
|
|
539
539
|
click.echo(f" 🎨 Architecture: True JSX")
|
|
@@ -951,10 +951,10 @@ body {
|
|
|
951
951
|
# Create tailwind.config.js with Python support
|
|
952
952
|
(project_dir / "tailwind.config.js").write_text('''module.exports = {
|
|
953
953
|
content: [
|
|
954
|
-
'./pages
|
|
955
|
-
'./components
|
|
956
|
-
'./templates
|
|
957
|
-
'./app
|
|
954
|
+
'./pages/**/*.{js,ts,jsx,tsx,mdx,py}',
|
|
955
|
+
'./components/**/*.{js,ts,jsx,tsx,mdx,py}',
|
|
956
|
+
'./templates/**/*.{html,htm}',
|
|
957
|
+
'./app/**/*.{js,ts,jsx,tsx,mdx,py}',
|
|
958
958
|
],
|
|
959
959
|
theme: {
|
|
960
960
|
extend: {
|
|
@@ -1010,16 +1010,14 @@ body {
|
|
|
1010
1010
|
}
|
|
1011
1011
|
},
|
|
1012
1012
|
},
|
|
1013
|
-
plugins: [
|
|
1014
|
-
require('@tailwindcss/postcss'),
|
|
1015
|
-
],
|
|
1013
|
+
plugins: [],
|
|
1016
1014
|
};''')
|
|
1017
1015
|
click.echo(" Created: tailwind.config.js")
|
|
1018
1016
|
|
|
1019
1017
|
# Create postcss.config.js with new Tailwind plugin
|
|
1020
1018
|
(project_dir / "postcss.config.js").write_text('''module.exports = {
|
|
1021
1019
|
plugins: {
|
|
1022
|
-
|
|
1020
|
+
tailwindcss: {},
|
|
1023
1021
|
autoprefixer: {},
|
|
1024
1022
|
},
|
|
1025
1023
|
};''')
|
|
@@ -1042,11 +1040,8 @@ body {
|
|
|
1042
1040
|
"devDependencies": {
|
|
1043
1041
|
"autoprefixer": "^10.4.22",
|
|
1044
1042
|
"postcss": "^8.5.6",
|
|
1045
|
-
"
|
|
1046
|
-
|
|
1047
|
-
"dependencies": {
|
|
1048
|
-
"@tailwindcss/postcss": "^4.1.18",
|
|
1049
|
-
"postcss-cli": "^11.0.1"
|
|
1043
|
+
"postcss-cli": "^11.0.1",
|
|
1044
|
+
"tailwindcss": "^3.4.1"
|
|
1050
1045
|
}
|
|
1051
1046
|
}''')
|
|
1052
1047
|
click.echo(" Created: package.json")
|
|
@@ -1107,7 +1102,7 @@ def Home(props=None):
|
|
|
1107
1102
|
</div>
|
|
1108
1103
|
</div>
|
|
1109
1104
|
|
|
1110
|
-
|
|
1105
|
+
<div className="absolute inset-0 -z-10">
|
|
1111
1106
|
<div className="absolute top-0 transform -translate-x-1/2 left-1/2 blur-3xl opacity-20">
|
|
1112
1107
|
<div className="rounded-full aspect-square w-96 h-96 bg-gradient-to-r from-blue-400 to-purple-600"></div>
|
|
1113
1108
|
</div>
|
|
@@ -2304,7 +2299,7 @@ except subprocess.CalledProcessError as e:
|
|
|
2304
2299
|
print(f"CSS Error: {e.stderr}")
|
|
2305
2300
|
except FileNotFoundError:
|
|
2306
2301
|
print("Error: PostCSS not found. Make sure Node.js and Tailwind CSS are installed.")
|
|
2307
|
-
print("Install with: npm install postcss-cli
|
|
2302
|
+
print("Install with: npm install postcss-cli tailwindcss autoprefixer")
|
|
2308
2303
|
|
|
2309
2304
|
# Import NextPy modules (works when installed via pip)
|
|
2310
2305
|
from nextpy.server.app import create_app
|
|
@@ -111,10 +111,13 @@ class NextPyApp:
|
|
|
111
111
|
def _setup_static_files(self) -> None:
|
|
112
112
|
"""Mount static file directories"""
|
|
113
113
|
if self.public_dir.exists():
|
|
114
|
+
# Mount public directory at root level for direct access to CSS files
|
|
114
115
|
self.app.mount(
|
|
115
|
-
"/
|
|
116
|
+
"/",
|
|
117
|
+
"/static/",
|
|
118
|
+
"/public/",
|
|
116
119
|
StaticFiles(directory=str(self.public_dir)),
|
|
117
|
-
name="
|
|
120
|
+
name="public"
|
|
118
121
|
)
|
|
119
122
|
|
|
120
123
|
nextpy_static = self.out_dir / "_nextpy" / "static"
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "nextpy-framework"
|
|
7
|
-
version = "2.4.
|
|
7
|
+
version = "2.4.7"
|
|
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.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/components/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/components/feedback.py
RENAMED
|
File without changes
|
{nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/components/form.py
RENAMED
|
File without changes
|
{nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/components/head.py
RENAMED
|
File without changes
|
|
File without changes
|
{nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/components/image.py
RENAMED
|
File without changes
|
{nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/components/layout.py
RENAMED
|
File without changes
|
{nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/components/link.py
RENAMED
|
File without changes
|
{nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/components/loader.py
RENAMED
|
File without changes
|
{nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/components/navigation.py
RENAMED
|
File without changes
|
{nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/components/toast.py
RENAMED
|
File without changes
|
|
File without changes
|
{nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.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.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/core/component_router.py
RENAMED
|
File without changes
|
{nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/core/data_fetching.py
RENAMED
|
File without changes
|
{nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/core/demo_pages_simple.py
RENAMED
|
File without changes
|
{nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.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.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/hooks_provider.py
RENAMED
|
File without changes
|
{nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/hooks_provider_new.py
RENAMED
|
File without changes
|
|
File without changes
|
{nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/jsx_preprocessor.py
RENAMED
|
File without changes
|
{nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/jsx_transformer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/plugins/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/plugins/builtin.py
RENAMED
|
File without changes
|
{nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/plugins/config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/server/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/server/middleware.py
RENAMED
|
File without changes
|
|
File without changes
|
{nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/utils/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.nextpy_framework/nextpy/utils/file_upload.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nextpy_framework-2.4.5 → nextpy_framework-2.4.7}/.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
|