nextpy-framework 3.7.1__tar.gz → 3.7.3__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.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/__init__.py +1 -1
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/cli.py +6 -4
- nextpy_framework-3.7.3/.nextpy_framework/nextpy_framework.egg-info/PKG-INFO +255 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/LICENSE +2 -2
- nextpy_framework-3.7.3/PKG-INFO +255 -0
- nextpy_framework-3.7.3/README.md +214 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/pyproject.toml +2 -2
- nextpy_framework-3.7.1/.nextpy_framework/nextpy_framework.egg-info/PKG-INFO +0 -906
- nextpy_framework-3.7.1/PKG-INFO +0 -906
- nextpy_framework-3.7.1/README.md +0 -865
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/ast_parser.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/auth.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/builder.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/__init__.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/debug/AutoDebug.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/debug/AutoDebug_v3.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/debug/DebugIcon.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/debug/DebugIconFixed.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/feedback.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/form.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/head.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/hooks_provider.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/image.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/layout.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/link.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/loader.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/navigation.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/toast.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/ui.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/visual.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/conf.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/config.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/core/__init__.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/core/builder.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/core/component_renderer.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/core/component_router.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/core/data_fetching.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/core/demo_pages_simple.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/core/demo_router.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/core/renderer.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/core/router.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/core/sync.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/db.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/debug/core.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/debug/performance.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/debug/ui.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/debug/websocket.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/dev_server.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/dev_tools.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/errors.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/hooks.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/hooks_provider.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/hooks_provider_new.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/jsx.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/jsx_preprocessor.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/jsx_transformer.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/main.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/performance.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/plugins/__init__.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/plugins/base.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/plugins/builtin.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/plugins/config.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/plugins.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/__init__.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/compiler/actions.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/compiler/handler_compiler.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/components/component.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/core/__init__.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/core/ast_nodes.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/core/evaluator.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/core/parser.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/core/runtime.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/devtools/language_server.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/devtools/language_server_lsp.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/devtools/psx_formatter.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/devtools/server_client_components.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/devtools/setup.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/hydration/__init__.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/hydration/decorators.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/hydration/engine.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/hydration/integration.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/renderer/renderer.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/runtime/actions_runtime.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/runtime/js_actions_runtime.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/tests/test_full_integration.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/tests/test_html_attribute_support.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/utils/helpers.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/vdom/vnode.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/py.typed +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/runtime/events.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/security.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/server/__init__.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/server/app.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/server/debug.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/server/middleware.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/source/conf.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/HANDLER_REGISTRATION_SYSTEM.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/setup_complete.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_autodebug_enhanced.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_cli_scaffolding.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_colors.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_component_rendering.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_conversion.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_critical_fixes.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_demo_mode.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_demo_server.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_enhanced_handlers.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_extraction.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_final.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_fixes.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_handler_system.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_hydration_engine.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_integration.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_interactive_bug.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_jsx_edgecases.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_jsx_preprocessor.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_migration.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_modular_debug.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_routing.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_server.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_server_features.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_server_working.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_tailwind.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_tailwind_full.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_tailwind_integration.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_tailwind_up_to_date.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_websocket_complete.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/true_jsx.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/utils/__init__.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/utils/cache.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/utils/email.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/utils/file_upload.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/utils/logging.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/utils/search.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/utils/seo.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/utils/validators.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/websocket.py +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy_framework.egg-info/SOURCES.txt +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy_framework.egg-info/dependency_links.txt +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy_framework.egg-info/entry_points.txt +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy_framework.egg-info/requires.txt +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy_framework.egg-info/top_level.txt +0 -0
- {nextpy_framework-3.7.1 → nextpy_framework-3.7.3}/setup.cfg +0 -0
|
@@ -627,12 +627,8 @@ def create(name: str, psx: bool, template: str):
|
|
|
627
627
|
f" 💡 Check the error message above for more details", fg="yellow"
|
|
628
628
|
)
|
|
629
629
|
)
|
|
630
|
-
# Clean up partial creation
|
|
631
|
-
|
|
632
630
|
# Clean up partial creation
|
|
633
631
|
if project_dir.exists():
|
|
634
|
-
import shutil
|
|
635
|
-
|
|
636
632
|
shutil.rmtree(project_dir, ignore_errors=True)
|
|
637
633
|
|
|
638
634
|
click.echo(click.style(f" 🧹 Cleaned up partial files", fg="yellow"))
|
|
@@ -1104,17 +1100,23 @@ def _create_project_structure(
|
|
|
1104
1100
|
"components",
|
|
1105
1101
|
"components/ui",
|
|
1106
1102
|
"components/layout",
|
|
1103
|
+
"docs",
|
|
1104
|
+
"hooks",
|
|
1107
1105
|
"styles",
|
|
1108
1106
|
"public",
|
|
1109
1107
|
"public/images",
|
|
1110
1108
|
"public/fonts",
|
|
1111
1109
|
"public/css",
|
|
1112
1110
|
"public/js",
|
|
1111
|
+
"middleware",
|
|
1113
1112
|
"templates",
|
|
1113
|
+
"tests",
|
|
1114
|
+
"utils",
|
|
1114
1115
|
".nextpy",
|
|
1115
1116
|
".nextpy/plugins",
|
|
1116
1117
|
".vscode",
|
|
1117
1118
|
"static",
|
|
1119
|
+
"models"
|
|
1118
1120
|
]
|
|
1119
1121
|
|
|
1120
1122
|
for dir_path in dirs:
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: nextpy-framework
|
|
3
|
+
Version: 3.7.3
|
|
4
|
+
Summary: The Python Web Framework introducing file-based routing, SSR, and SSG and more
|
|
5
|
+
Author: NextPy Team
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/IBRAHIMFONYUY/nextpy-framework
|
|
8
|
+
Project-URL: Documentation, https://nextpy-framework.readthedocs.io
|
|
9
|
+
Project-URL: Repository, https://github.com/IBRAHIMFONYUY/nextpy-framework
|
|
10
|
+
Keywords: web framework,nextjs,fastapi,ssr,ssg,file-based routing,htmx,jinja2
|
|
11
|
+
Classifier: Development Status :: 4 - Beta
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Framework :: FastAPI
|
|
18
|
+
Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
|
|
19
|
+
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
20
|
+
Requires-Python: >=3.11
|
|
21
|
+
Description-Content-Type: text/markdown
|
|
22
|
+
License-File: LICENSE
|
|
23
|
+
Requires-Dist: aiofiles>=25.1.0
|
|
24
|
+
Requires-Dist: click>=8.3.1
|
|
25
|
+
Requires-Dist: fastapi>=0.122.0
|
|
26
|
+
Requires-Dist: httpx>=0.28.1
|
|
27
|
+
Requires-Dist: jinja2>=3.1.6
|
|
28
|
+
Requires-Dist: pillow>=12.0.0
|
|
29
|
+
Requires-Dist: pydantic>=2.12.5
|
|
30
|
+
Requires-Dist: python-multipart>=0.0.20
|
|
31
|
+
Requires-Dist: uvicorn>=0.38.0
|
|
32
|
+
Requires-Dist: watchdog>=6.0.0
|
|
33
|
+
Requires-Dist: python-dotenv>=1.2.1
|
|
34
|
+
Requires-Dist: sqlalchemy>=2.0.44
|
|
35
|
+
Provides-Extra: dev
|
|
36
|
+
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
37
|
+
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
|
|
38
|
+
Requires-Dist: black>=23.0; extra == "dev"
|
|
39
|
+
Requires-Dist: mypy>=1.0; extra == "dev"
|
|
40
|
+
Dynamic: license-file
|
|
41
|
+
|
|
42
|
+
<div align="center">
|
|
43
|
+
|
|
44
|
+
<img src="./public/images/icon.png" alt="NextPy Logo" width="120"/>
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
# NextPy Framework
|
|
49
|
+
|
|
50
|
+
### The Full-Stack Python Framework
|
|
51
|
+
|
|
52
|
+

|
|
53
|
+

|
|
54
|
+

|
|
55
|
+

|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
Build modern web applications using Python, PSX, file-based routing, server-side rendering, static generation, React-style hooks, and integrated AI development tools.
|
|
62
|
+
|
|
63
|
+
[Documentation](https://nextpy.dev) •
|
|
64
|
+
[Examples](https://nextpy.dev/examples) •
|
|
65
|
+
[Discord](https://discord.gg/nextpy) •
|
|
66
|
+
[GitHub Discussions](https://github.com/RahimStudios/nextpy/discussions)
|
|
67
|
+
|
|
68
|
+
</div
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Getting Started
|
|
76
|
+
|
|
77
|
+
NextPy is a Python-first full-stack framework inspired by the developer experience of Next.js while introducing powerful innovations such as:
|
|
78
|
+
|
|
79
|
+
* PSX (Python Syntax Extension)
|
|
80
|
+
* File-based routing
|
|
81
|
+
* Server-side rendering (SSR)
|
|
82
|
+
* Static site generation (SSG)
|
|
83
|
+
* API routes
|
|
84
|
+
* React-style hooks in Python
|
|
85
|
+
* Built-in AI coding assistant
|
|
86
|
+
* Modern CLI tooling
|
|
87
|
+
* Enterprise-ready architecture
|
|
88
|
+
|
|
89
|
+
### Installation
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
pip install nextpy-framework
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Create a Project
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
nextpy create my-app
|
|
99
|
+
cd my-app
|
|
100
|
+
nextpy dev
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Visit:
|
|
104
|
+
|
|
105
|
+
```text
|
|
106
|
+
http://localhost:8000
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Why NextPy?
|
|
112
|
+
|
|
113
|
+
### Python First
|
|
114
|
+
|
|
115
|
+
Build full-stack applications without switching languages.
|
|
116
|
+
|
|
117
|
+
### PSX
|
|
118
|
+
|
|
119
|
+
Write component-based user interfaces using NextPy's Python Syntax Extension.
|
|
120
|
+
|
|
121
|
+
### AI Native
|
|
122
|
+
|
|
123
|
+
NextPy includes an integrated AI coding assistant:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
nextpy ai
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Chat mode:
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
nextpy ai chatbot
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
Agent mode:
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
nextpy ai agent
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Generate complete applications:
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
nextpy ai create ecommerce app
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### Full-Stack by Default
|
|
148
|
+
|
|
149
|
+
* Frontend
|
|
150
|
+
* Backend
|
|
151
|
+
* API Routes
|
|
152
|
+
* Database Integration
|
|
153
|
+
* Authentication
|
|
154
|
+
* Deployment
|
|
155
|
+
|
|
156
|
+
Everything in one framework.
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Example
|
|
161
|
+
|
|
162
|
+
```python
|
|
163
|
+
from nextpy import component, useState
|
|
164
|
+
|
|
165
|
+
@component
|
|
166
|
+
def Home():
|
|
167
|
+
[count, setCount] = useState(0)
|
|
168
|
+
|
|
169
|
+
return (
|
|
170
|
+
<div>
|
|
171
|
+
<h1>Welcome to NextPy</h1>
|
|
172
|
+
|
|
173
|
+
<button onclick={lambda e: setCount(count + 1)}>
|
|
174
|
+
Count: {count}
|
|
175
|
+
</button>
|
|
176
|
+
</div>
|
|
177
|
+
)
|
|
178
|
+
|
|
179
|
+
default = Home
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## Documentation
|
|
185
|
+
|
|
186
|
+
Visit the official documentation:
|
|
187
|
+
|
|
188
|
+
https://nextpy.dev/docs
|
|
189
|
+
|
|
190
|
+
Documentation includes:
|
|
191
|
+
|
|
192
|
+
* Getting Started
|
|
193
|
+
* Routing
|
|
194
|
+
* PSX
|
|
195
|
+
* Components
|
|
196
|
+
* Hooks
|
|
197
|
+
* Data Fetching
|
|
198
|
+
* API Routes
|
|
199
|
+
* Deployment
|
|
200
|
+
* AI Assistant
|
|
201
|
+
* CLI Reference
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## Community
|
|
206
|
+
|
|
207
|
+
The NextPy community can be found on GitHub Discussions where you can ask questions, share projects, suggest features, and connect with other developers.
|
|
208
|
+
|
|
209
|
+
* GitHub Discussions
|
|
210
|
+
* Discord Community
|
|
211
|
+
* X (Twitter)
|
|
212
|
+
* YouTube
|
|
213
|
+
|
|
214
|
+
Please read and follow our Code of Conduct when participating in community spaces.
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## Contributing
|
|
219
|
+
|
|
220
|
+
Contributions are welcome and greatly appreciated.
|
|
221
|
+
|
|
222
|
+
Before contributing, please read:
|
|
223
|
+
|
|
224
|
+
* Contribution Guidelines
|
|
225
|
+
* Code of Conduct
|
|
226
|
+
|
|
227
|
+
Good first issues are available for new contributors looking to get involved.
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## Security
|
|
232
|
+
|
|
233
|
+
If you discover a security vulnerability, please do not create a public issue.
|
|
234
|
+
|
|
235
|
+
Instead, contact:
|
|
236
|
+
|
|
237
|
+
[security@rahimstudios.com](mailto:security@rahimstudios.com)
|
|
238
|
+
|
|
239
|
+
We will investigate and respond as quickly as possible.
|
|
240
|
+
|
|
241
|
+
---
|
|
242
|
+
|
|
243
|
+
## License
|
|
244
|
+
|
|
245
|
+
Licensed under the MIT License.
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
<div align="center">
|
|
250
|
+
|
|
251
|
+
### Built with ❤️ by RahimStudios
|
|
252
|
+
|
|
253
|
+
The future of AI-native Python development.
|
|
254
|
+
|
|
255
|
+
</div>
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: nextpy-framework
|
|
3
|
+
Version: 3.7.3
|
|
4
|
+
Summary: The Python Web Framework introducing file-based routing, SSR, and SSG and more
|
|
5
|
+
Author: NextPy Team
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/IBRAHIMFONYUY/nextpy-framework
|
|
8
|
+
Project-URL: Documentation, https://nextpy-framework.readthedocs.io
|
|
9
|
+
Project-URL: Repository, https://github.com/IBRAHIMFONYUY/nextpy-framework
|
|
10
|
+
Keywords: web framework,nextjs,fastapi,ssr,ssg,file-based routing,htmx,jinja2
|
|
11
|
+
Classifier: Development Status :: 4 - Beta
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Framework :: FastAPI
|
|
18
|
+
Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
|
|
19
|
+
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
20
|
+
Requires-Python: >=3.11
|
|
21
|
+
Description-Content-Type: text/markdown
|
|
22
|
+
License-File: LICENSE
|
|
23
|
+
Requires-Dist: aiofiles>=25.1.0
|
|
24
|
+
Requires-Dist: click>=8.3.1
|
|
25
|
+
Requires-Dist: fastapi>=0.122.0
|
|
26
|
+
Requires-Dist: httpx>=0.28.1
|
|
27
|
+
Requires-Dist: jinja2>=3.1.6
|
|
28
|
+
Requires-Dist: pillow>=12.0.0
|
|
29
|
+
Requires-Dist: pydantic>=2.12.5
|
|
30
|
+
Requires-Dist: python-multipart>=0.0.20
|
|
31
|
+
Requires-Dist: uvicorn>=0.38.0
|
|
32
|
+
Requires-Dist: watchdog>=6.0.0
|
|
33
|
+
Requires-Dist: python-dotenv>=1.2.1
|
|
34
|
+
Requires-Dist: sqlalchemy>=2.0.44
|
|
35
|
+
Provides-Extra: dev
|
|
36
|
+
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
37
|
+
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
|
|
38
|
+
Requires-Dist: black>=23.0; extra == "dev"
|
|
39
|
+
Requires-Dist: mypy>=1.0; extra == "dev"
|
|
40
|
+
Dynamic: license-file
|
|
41
|
+
|
|
42
|
+
<div align="center">
|
|
43
|
+
|
|
44
|
+
<img src="./public/images/icon.png" alt="NextPy Logo" width="120"/>
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
# NextPy Framework
|
|
49
|
+
|
|
50
|
+
### The Full-Stack Python Framework
|
|
51
|
+
|
|
52
|
+

|
|
53
|
+

|
|
54
|
+

|
|
55
|
+

|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
Build modern web applications using Python, PSX, file-based routing, server-side rendering, static generation, React-style hooks, and integrated AI development tools.
|
|
62
|
+
|
|
63
|
+
[Documentation](https://nextpy.dev) •
|
|
64
|
+
[Examples](https://nextpy.dev/examples) •
|
|
65
|
+
[Discord](https://discord.gg/nextpy) •
|
|
66
|
+
[GitHub Discussions](https://github.com/RahimStudios/nextpy/discussions)
|
|
67
|
+
|
|
68
|
+
</div
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Getting Started
|
|
76
|
+
|
|
77
|
+
NextPy is a Python-first full-stack framework inspired by the developer experience of Next.js while introducing powerful innovations such as:
|
|
78
|
+
|
|
79
|
+
* PSX (Python Syntax Extension)
|
|
80
|
+
* File-based routing
|
|
81
|
+
* Server-side rendering (SSR)
|
|
82
|
+
* Static site generation (SSG)
|
|
83
|
+
* API routes
|
|
84
|
+
* React-style hooks in Python
|
|
85
|
+
* Built-in AI coding assistant
|
|
86
|
+
* Modern CLI tooling
|
|
87
|
+
* Enterprise-ready architecture
|
|
88
|
+
|
|
89
|
+
### Installation
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
pip install nextpy-framework
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Create a Project
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
nextpy create my-app
|
|
99
|
+
cd my-app
|
|
100
|
+
nextpy dev
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Visit:
|
|
104
|
+
|
|
105
|
+
```text
|
|
106
|
+
http://localhost:8000
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Why NextPy?
|
|
112
|
+
|
|
113
|
+
### Python First
|
|
114
|
+
|
|
115
|
+
Build full-stack applications without switching languages.
|
|
116
|
+
|
|
117
|
+
### PSX
|
|
118
|
+
|
|
119
|
+
Write component-based user interfaces using NextPy's Python Syntax Extension.
|
|
120
|
+
|
|
121
|
+
### AI Native
|
|
122
|
+
|
|
123
|
+
NextPy includes an integrated AI coding assistant:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
nextpy ai
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Chat mode:
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
nextpy ai chatbot
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
Agent mode:
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
nextpy ai agent
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Generate complete applications:
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
nextpy ai create ecommerce app
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### Full-Stack by Default
|
|
148
|
+
|
|
149
|
+
* Frontend
|
|
150
|
+
* Backend
|
|
151
|
+
* API Routes
|
|
152
|
+
* Database Integration
|
|
153
|
+
* Authentication
|
|
154
|
+
* Deployment
|
|
155
|
+
|
|
156
|
+
Everything in one framework.
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Example
|
|
161
|
+
|
|
162
|
+
```python
|
|
163
|
+
from nextpy import component, useState
|
|
164
|
+
|
|
165
|
+
@component
|
|
166
|
+
def Home():
|
|
167
|
+
[count, setCount] = useState(0)
|
|
168
|
+
|
|
169
|
+
return (
|
|
170
|
+
<div>
|
|
171
|
+
<h1>Welcome to NextPy</h1>
|
|
172
|
+
|
|
173
|
+
<button onclick={lambda e: setCount(count + 1)}>
|
|
174
|
+
Count: {count}
|
|
175
|
+
</button>
|
|
176
|
+
</div>
|
|
177
|
+
)
|
|
178
|
+
|
|
179
|
+
default = Home
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## Documentation
|
|
185
|
+
|
|
186
|
+
Visit the official documentation:
|
|
187
|
+
|
|
188
|
+
https://nextpy.dev/docs
|
|
189
|
+
|
|
190
|
+
Documentation includes:
|
|
191
|
+
|
|
192
|
+
* Getting Started
|
|
193
|
+
* Routing
|
|
194
|
+
* PSX
|
|
195
|
+
* Components
|
|
196
|
+
* Hooks
|
|
197
|
+
* Data Fetching
|
|
198
|
+
* API Routes
|
|
199
|
+
* Deployment
|
|
200
|
+
* AI Assistant
|
|
201
|
+
* CLI Reference
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## Community
|
|
206
|
+
|
|
207
|
+
The NextPy community can be found on GitHub Discussions where you can ask questions, share projects, suggest features, and connect with other developers.
|
|
208
|
+
|
|
209
|
+
* GitHub Discussions
|
|
210
|
+
* Discord Community
|
|
211
|
+
* X (Twitter)
|
|
212
|
+
* YouTube
|
|
213
|
+
|
|
214
|
+
Please read and follow our Code of Conduct when participating in community spaces.
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## Contributing
|
|
219
|
+
|
|
220
|
+
Contributions are welcome and greatly appreciated.
|
|
221
|
+
|
|
222
|
+
Before contributing, please read:
|
|
223
|
+
|
|
224
|
+
* Contribution Guidelines
|
|
225
|
+
* Code of Conduct
|
|
226
|
+
|
|
227
|
+
Good first issues are available for new contributors looking to get involved.
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## Security
|
|
232
|
+
|
|
233
|
+
If you discover a security vulnerability, please do not create a public issue.
|
|
234
|
+
|
|
235
|
+
Instead, contact:
|
|
236
|
+
|
|
237
|
+
[security@rahimstudios.com](mailto:security@rahimstudios.com)
|
|
238
|
+
|
|
239
|
+
We will investigate and respond as quickly as possible.
|
|
240
|
+
|
|
241
|
+
---
|
|
242
|
+
|
|
243
|
+
## License
|
|
244
|
+
|
|
245
|
+
Licensed under the MIT License.
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
<div align="center">
|
|
250
|
+
|
|
251
|
+
### Built with ❤️ by RahimStudios
|
|
252
|
+
|
|
253
|
+
The future of AI-native Python development.
|
|
254
|
+
|
|
255
|
+
</div>
|