nextpy-framework 3.7.2__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.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/cli.py +3 -4
- nextpy_framework-3.7.3/.nextpy_framework/nextpy_framework.egg-info/PKG-INFO +255 -0
- {nextpy_framework-3.7.2 → 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.2 → nextpy_framework-3.7.3}/pyproject.toml +2 -2
- nextpy_framework-3.7.2/.nextpy_framework/nextpy_framework.egg-info/PKG-INFO +0 -906
- nextpy_framework-3.7.2/PKG-INFO +0 -906
- nextpy_framework-3.7.2/README.md +0 -865
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/__init__.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/ast_parser.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/auth.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/builder.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/__init__.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/debug/AutoDebug.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/debug/AutoDebug_v3.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/debug/DebugIcon.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/debug/DebugIconFixed.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/feedback.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/form.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/head.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/hooks_provider.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/image.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/layout.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/link.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/loader.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/navigation.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/toast.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/ui.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components/visual.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/components.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/conf.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/config.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/core/__init__.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/core/builder.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/core/component_renderer.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/core/component_router.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/core/data_fetching.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/core/demo_pages_simple.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/core/demo_router.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/core/renderer.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/core/router.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/core/sync.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/db.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/debug/core.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/debug/performance.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/debug/ui.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/debug/websocket.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/dev_server.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/dev_tools.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/errors.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/hooks.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/hooks_provider.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/hooks_provider_new.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/jsx.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/jsx_preprocessor.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/jsx_transformer.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/main.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/performance.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/plugins/__init__.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/plugins/base.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/plugins/builtin.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/plugins/config.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/plugins.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/__init__.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/compiler/actions.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/compiler/handler_compiler.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/components/component.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/core/__init__.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/core/ast_nodes.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/core/evaluator.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/core/parser.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/core/runtime.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/devtools/language_server.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/devtools/language_server_lsp.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/devtools/psx_formatter.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/devtools/server_client_components.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/devtools/setup.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/hydration/__init__.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/hydration/decorators.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/hydration/engine.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/hydration/integration.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/renderer/renderer.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/runtime/actions_runtime.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/runtime/js_actions_runtime.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/tests/test_full_integration.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/tests/test_html_attribute_support.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/utils/helpers.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/psx/vdom/vnode.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/py.typed +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/runtime/events.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/security.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/server/__init__.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/server/app.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/server/debug.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/server/middleware.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/source/conf.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/HANDLER_REGISTRATION_SYSTEM.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/setup_complete.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_autodebug_enhanced.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_cli_scaffolding.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_colors.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_component_rendering.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_conversion.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_critical_fixes.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_demo_mode.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_demo_server.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_enhanced_handlers.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_extraction.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_final.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_fixes.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_handler_system.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_hydration_engine.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_integration.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_interactive_bug.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_jsx_edgecases.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_jsx_preprocessor.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_migration.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_modular_debug.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_routing.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_server.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_server_features.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_server_working.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_tailwind.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_tailwind_full.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_tailwind_integration.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_tailwind_up_to_date.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/tests/test_websocket_complete.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/true_jsx.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/utils/__init__.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/utils/cache.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/utils/email.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/utils/file_upload.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/utils/logging.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/utils/search.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/utils/seo.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/utils/validators.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy/websocket.py +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy_framework.egg-info/SOURCES.txt +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy_framework.egg-info/dependency_links.txt +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy_framework.egg-info/entry_points.txt +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy_framework.egg-info/requires.txt +0 -0
- {nextpy_framework-3.7.2 → nextpy_framework-3.7.3}/.nextpy_framework/nextpy_framework.egg-info/top_level.txt +0 -0
- {nextpy_framework-3.7.2 → 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"))
|
|
@@ -1105,13 +1101,16 @@ def _create_project_structure(
|
|
|
1105
1101
|
"components/ui",
|
|
1106
1102
|
"components/layout",
|
|
1107
1103
|
"docs",
|
|
1104
|
+
"hooks",
|
|
1108
1105
|
"styles",
|
|
1109
1106
|
"public",
|
|
1110
1107
|
"public/images",
|
|
1111
1108
|
"public/fonts",
|
|
1112
1109
|
"public/css",
|
|
1113
1110
|
"public/js",
|
|
1111
|
+
"middleware",
|
|
1114
1112
|
"templates",
|
|
1113
|
+
"tests",
|
|
1115
1114
|
"utils",
|
|
1116
1115
|
".nextpy",
|
|
1117
1116
|
".nextpy/plugins",
|
|
@@ -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>
|