A comprehensive TypeScript library for managing Python environments, installations, and package dependencies. This library provides a unified interface for handling Python version management, virtual environments, package installation, and script execution.
🐍 Python Version Management
🔧 Python Installation
🌐 Virtual Environment Management
📦 Package Management
⚡ Python Execution
npm install python-manager
# or
yarn add python-manager
# or
bun add python-manager
Check The Documentation Website
import { PythonInstaller } from "python-manager";
const installer = new PythonInstaller();
// Ensure Python is installed (installs if not found)
const pythonPath = await installer.ensurePythonInstalled(
"3.9.1",
"test/.pyenv"
);
// The installer will automatically:
// - Install pyenv/pyenv-win if needed
// - Install the specified Python version
// - Configure the local Python version
// - Return the path to the Python executable
import { PythonVersionManager } from "python-manager";
const versionManager = new PythonVersionManager();
// Install Python version
await versionManager.installVersion("3.9.1");
// Set local version
await versionManager.setLocalVersion("3.9.1");
// List installed versions
const versions = await versionManager.listInstalledVersions();
import { VirtualEnvManager } from "python-manager";
const venvManager = new VirtualEnvManager();
// Create virtual environment
await venvManager.createVenv("./my-venv");
// Check if venv exists
const exists = await venvManager.existsVenv("./my-venv");
// Delete virtual environment
await venvManager.deleteVenv("./my-venv");
import { PipManager } from "python-manager";
const pipManager = new PipManager();
// Install a single package
await pipManager.install("requests");
// Install multiple packages
await pipManager.installMultiple(["numpy", "pandas", "matplotlib"]);
// Install from requirements.txt
await pipManager.installRequirementsFile("./requirements.txt");
// List installed packages
const packages = await pipManager.listInstalledPackages();
import { PythonExecutor } from "python-manager";
const executor = new PythonExecutor();
// Run a Python script
const result = await executor.runScript(
"./script.py",
["--arg1", "value1"],
"python",
true
);
// Execute Python code
const codeResult = await executor.runCode(
'print("Hello, World!")',
"python",
true
);
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
If you encounter any issues or have questions, please file an issue on the GitHub repository.