You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+38-2Lines changed: 38 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,8 @@
1
1
# xpm - Universal Package Manager Wrapper
2
2
3
-
Working across multiple projects with different package managers?
3
+
Working across multiple projects with different package managers?
4
4
5
-
You can use `xpm` instead of `npm`/`yarn`/`pnpm`/`bun`.
5
+
You can use `xpm` instead of `npm`/`yarn`/`pnpm`/`bun` (and even `pip`/`poetry`/`uv`).
6
6
7
7
Think of `xpm` as your universal translator for package managers. When you run `xpm`, it figures out which package manager your project uses, ensures your dependencies are up-to-date, and runs the appropriate command. It's like having muscle memory that works everywhere.
- 🏃 **Runs from anywhere** - works in project subdirectories
29
+
- 🌍 **Multi-language** - supports JavaScript and Python ecosystems
29
30
30
31
31
32
## Usage
@@ -78,6 +79,41 @@ Default: `npm`
78
79
2. Config file (`~/.config/xpm/config.json` or `~/.xpmrc`)
79
80
3. Default fallback (`npm`)
80
81
82
+
## Python Support
83
+
84
+
While xpm is primarily designed for JavaScript projects, it also supports Python package managers for a unified development experience across languages.
85
+
86
+
### Supported Python Package Managers
87
+
88
+
-**pip** - Detects `requirements.txt`
89
+
-**pipenv** - Detects `Pipfile` and `Pipfile.lock`
90
+
-**poetry** - Detects `pyproject.toml` and `poetry.lock`
91
+
-**uv** - Detects `uv.lock`
92
+
-**conda** - Detects `environment.yml`
93
+
94
+
### Python Usage Examples
95
+
96
+
```bash
97
+
# In a Python project
98
+
xpm install # Runs pip/pipenv/poetry install
99
+
xpm install flask # Adds flask package
100
+
xpm remove flask # Removes flask package
101
+
102
+
# Poetry project
103
+
xpm install --dev pytest # Adds pytest as dev dependency
104
+
105
+
# UV project
106
+
xpm sync # Syncs dependencies
107
+
xpm update # Updates lockfile
108
+
```
109
+
110
+
### Detection Priority
111
+
112
+
1.**Lockfiles** - Most specific (e.g., `poetry.lock` → Poetry)
0 commit comments