Commit 87a964c
authored
🐍 Add comprehensive Python support with complete project isolation (#1)
✨ Features:
- Project-local virtual environments for complete isolation
- Automatic requirements.txt installation in isolated environments
- System Python protection (no global modifications)
- Cross-platform support (Linux, macOS, Windows)
- Environment variable management for project isolation
🔧 Implementation:
- New PythonTool with isolation methods in pkg/tools/python.go
- Project-specific venv creation in {project}/.mvx/venv/
- Automatic dependency installation from requirements files
- Environment setup with PYTHONPATH, VIRTUAL_ENV, etc.
- Integration with existing tool management system
- Command-line interface integration in cmd/tools.go
🧪 Testing:
- Comprehensive test suite for Python isolation features
- All existing tests continue to pass
- Cross-platform compatibility verified
📚 Documentation:
- Updated README with Python examples and configuration
- Comprehensive tools documentation with isolation best practices
- Website content updated with Python ecosystem section
🎯 Benefits:
- Zero cross-project contamination
- No system Python modifications
- Seamless project switching
- Automatic dependency management
- Complete environment isolation
Each project gets its own isolated Python environment in:
{project}/.mvx/venv/
Follows existing tool patterns while adding Python-specific
isolation features essential for Python development.
🔧 CI Fixes:
- Fixed Go code formatting with gofmt
- Restored mvx bootstrap script (was accidentally compiled binary)
- Improved venv storage from global to project-local design1 parent 5be3d30 commit 87a964c
File tree
8 files changed
+1177
-37
lines changed- .mvx
- cmd
- pkg/tools
- website/content
8 files changed
+1177
-37
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
23 | 26 | | |
24 | 27 | | |
25 | 28 | | |
26 | 29 | | |
27 | 30 | | |
28 | 31 | | |
29 | 32 | | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
40 | 36 | | |
41 | 37 | | |
42 | | - | |
43 | | - | |
44 | | - | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
45 | 41 | | |
46 | 42 | | |
47 | | - | |
48 | | - | |
49 | | - | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
50 | 46 | | |
51 | 47 | | |
52 | | - | |
53 | | - | |
54 | | - | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
55 | 51 | | |
56 | 52 | | |
57 | 53 | | |
| |||
65 | 61 | | |
66 | 62 | | |
67 | 63 | | |
68 | | - | |
69 | | - | |
70 | | - | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
71 | 68 | | |
72 | 69 | | |
73 | 70 | | |
74 | 71 | | |
75 | 72 | | |
76 | 73 | | |
77 | 74 | | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | 75 | | |
89 | 76 | | |
90 | 77 | | |
| |||
95 | 82 | | |
96 | 83 | | |
97 | 84 | | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
98 | 101 | | |
99 | 102 | | |
100 | 103 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
347 | 347 | | |
348 | 348 | | |
349 | 349 | | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
350 | 353 | | |
351 | 354 | | |
352 | 355 | | |
| |||
363 | 366 | | |
364 | 367 | | |
365 | 368 | | |
366 | | - | |
| 369 | + | |
367 | 370 | | |
368 | 371 | | |
369 | 372 | | |
| |||
516 | 519 | | |
517 | 520 | | |
518 | 521 | | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
519 | 530 | | |
520 | 531 | | |
521 | 532 | | |
| |||
573 | 584 | | |
574 | 585 | | |
575 | 586 | | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
576 | 593 | | |
577 | 594 | | |
578 | 595 | | |
| |||
630 | 647 | | |
631 | 648 | | |
632 | 649 | | |
| 650 | + | |
633 | 651 | | |
634 | | - | |
635 | 652 | | |
636 | 653 | | |
637 | 654 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
169 | 169 | | |
170 | 170 | | |
171 | 171 | | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
172 | 185 | | |
173 | 186 | | |
174 | 187 | | |
| |||
177 | 190 | | |
178 | 191 | | |
179 | 192 | | |
| 193 | + | |
180 | 194 | | |
181 | 195 | | |
182 | 196 | | |
183 | 197 | | |
184 | 198 | | |
185 | 199 | | |
186 | 200 | | |
| 201 | + | |
187 | 202 | | |
188 | 203 | | |
189 | 204 | | |
| |||
209 | 224 | | |
210 | 225 | | |
211 | 226 | | |
| 227 | + | |
| 228 | + | |
212 | 229 | | |
213 | 230 | | |
214 | 231 | | |
| |||
497 | 514 | | |
498 | 515 | | |
499 | 516 | | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
500 | 568 | | |
501 | 569 | | |
502 | 570 | | |
| |||
571 | 639 | | |
572 | 640 | | |
573 | 641 | | |
574 | | - | |
| 642 | + | |
575 | 643 | | |
576 | 644 | | |
577 | | - | |
| 645 | + | |
578 | 646 | | |
579 | 647 | | |
580 | 648 | | |
| |||
723 | 791 | | |
724 | 792 | | |
725 | 793 | | |
| 794 | + | |
| 795 | + | |
| 796 | + | |
| 797 | + | |
| 798 | + | |
| 799 | + | |
| 800 | + | |
| 801 | + | |
| 802 | + | |
| 803 | + | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
726 | 810 | | |
727 | 811 | | |
728 | 812 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
| 79 | + | |
79 | 80 | | |
80 | 81 | | |
81 | 82 | | |
| |||
352 | 353 | | |
353 | 354 | | |
354 | 355 | | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
355 | 421 | | |
356 | 422 | | |
357 | 423 | | |
| |||
375 | 441 | | |
376 | 442 | | |
377 | 443 | | |
| 444 | + | |
| 445 | + | |
378 | 446 | | |
379 | 447 | | |
380 | 448 | | |
| |||
0 commit comments