voodoo-framework 1.0.2__tar.gz → 1.0.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.
- {voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/PKG-INFO +1 -1
- {voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/pyproject.toml +1 -1
- {voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/voodoo/cli.py +30 -1
- {voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/voodoo_framework.egg-info/PKG-INFO +1 -1
- {voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/README.md +0 -0
- {voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/setup.cfg +0 -0
- {voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/tests/test_components.py +0 -0
- {voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/tests/test_data.py +0 -0
- {voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/tests/test_i18n.py +0 -0
- {voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/tests/test_queue.py +0 -0
- {voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/tests/test_theme.py +0 -0
- {voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/tests/test_websocket.py +0 -0
- {voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/voodoo/__init__.py +0 -0
- {voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/voodoo/agent.py +0 -0
- {voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/voodoo/api.py +0 -0
- {voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/voodoo/components.py +0 -0
- {voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/voodoo/config.py +0 -0
- {voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/voodoo/core.py +0 -0
- {voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/voodoo/data.py +0 -0
- {voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/voodoo/i18n.py +0 -0
- {voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/voodoo/mcp.py +0 -0
- {voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/voodoo/queue.py +0 -0
- {voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/voodoo/status.py +0 -0
- {voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/voodoo/storage.py +0 -0
- {voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/voodoo/telemetry.py +0 -0
- {voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/voodoo/theme.py +0 -0
- {voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/voodoo_framework.egg-info/SOURCES.txt +0 -0
- {voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/voodoo_framework.egg-info/dependency_links.txt +0 -0
- {voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/voodoo_framework.egg-info/entry_points.txt +0 -0
- {voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/voodoo_framework.egg-info/requires.txt +0 -0
- {voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/voodoo_framework.egg-info/top_level.txt +0 -0
|
@@ -141,6 +141,26 @@ app = create_app()
|
|
|
141
141
|
if __name__ == "__main__":
|
|
142
142
|
uvicorn.run("main:app", host=config.host, port=config.port, reload=True, ws_max_size=16777216, ws_max_queue=32)
|
|
143
143
|
""")
|
|
144
|
+
|
|
145
|
+
# Set up local virtual environment and install dependencies
|
|
146
|
+
if (project_dir / "pyproject.toml").exists():
|
|
147
|
+
task = progress.add_task(description="Setting up local virtual environment (.venv)...", total=None)
|
|
148
|
+
import shutil
|
|
149
|
+
has_uv = shutil.which("uv") is not None
|
|
150
|
+
try:
|
|
151
|
+
if has_uv:
|
|
152
|
+
subprocess.run(["uv", "venv"], cwd=project_dir, check=True, capture_output=True)
|
|
153
|
+
progress.update(task, description="Installing dependencies with uv...")
|
|
154
|
+
subprocess.run(["uv", "pip", "install", "-e", "."], cwd=project_dir, check=True, capture_output=True)
|
|
155
|
+
else:
|
|
156
|
+
subprocess.run([sys.executable, "-m", "venv", ".venv"], cwd=project_dir, check=True, capture_output=True)
|
|
157
|
+
progress.update(task, description="Installing dependencies with pip...")
|
|
158
|
+
pip_exe = ".venv/bin/pip" if os.name != "nt" else ".venv\\Scripts\\pip.exe"
|
|
159
|
+
subprocess.run([str(project_dir / pip_exe), "install", "-e", "."], cwd=project_dir, check=True, capture_output=True)
|
|
160
|
+
except subprocess.CalledProcessError as e:
|
|
161
|
+
console.print(f"\n[bold yellow]Warning:[/bold yellow] Failed to set up local environment or install dependencies.")
|
|
162
|
+
if e.stderr:
|
|
163
|
+
console.print(f"[dim]{e.stderr.decode()}[/dim]")
|
|
144
164
|
|
|
145
165
|
console.print("[bold green]✓ Project scaffolded successfully![/bold green]")
|
|
146
166
|
console.print(f"\nNext steps:\n [cyan]cd {project_name}[/cyan]\n [cyan]voodoo dev[/cyan]\n")
|
|
@@ -171,13 +191,22 @@ def dev(
|
|
|
171
191
|
import sys
|
|
172
192
|
import os
|
|
173
193
|
|
|
194
|
+
local_venv_python = Path(".venv/bin/python") if os.name != "nt" else Path(".venv/Scripts/python.exe")
|
|
195
|
+
|
|
196
|
+
if local_venv_python.exists():
|
|
197
|
+
python_exe = str(local_venv_python.absolute())
|
|
198
|
+
console.print("[dim]Using local virtual environment.[/dim]")
|
|
199
|
+
else:
|
|
200
|
+
python_exe = sys.executable
|
|
201
|
+
console.print("[dim]Using global environment.[/dim]")
|
|
202
|
+
|
|
174
203
|
env = os.environ.copy()
|
|
175
204
|
env["PYTHONPATH"] = os.pathsep.join(sys.path)
|
|
176
205
|
|
|
177
206
|
try:
|
|
178
207
|
# We let uvicorn take over the terminal output
|
|
179
208
|
subprocess.run(
|
|
180
|
-
[
|
|
209
|
+
[python_exe, "-m", "uvicorn", app_str, "--reload", "--port", str(port)],
|
|
181
210
|
env=env
|
|
182
211
|
)
|
|
183
212
|
except KeyboardInterrupt:
|
|
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
|
|
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
|
|
File without changes
|
{voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/voodoo_framework.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{voodoo_framework-1.0.2 → voodoo_framework-1.0.3}/voodoo_framework.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|