New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

python-manager

Package Overview
Dependencies
Maintainers
1
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

python-manager

latest
Source
npmnpm
Version
1.2.1
Version published
Weekly downloads
0
-100%
Maintainers
1
Weekly downloads
 
Created
Source

🐍 Python Manager

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.

Features

  • 🐍 Python Version Management

    • Install and manage multiple Python versions
    • Set local Python versions using pyenv
    • List installed Python versions
    • Automatic installation of pyenv (Windows/Linux/macOS)
  • 🔧 Python Installation

    • Automatic Python installation via pyenv
    • Cross-platform support (Windows/Linux/macOS)
    • Automatic pyenv installation
    • Python executable path management
  • 🌐 Virtual Environment Management

    • Create and delete virtual environments
    • Check virtual environment existence
    • Manage isolated Python environments
  • 📦 Package Management

    • Install/uninstall Python packages using pip
    • Install packages from requirements.txt
    • List installed packages
    • Multi-package installation support
  • ⚡ Python Execution

    • Run Python scripts with live output streaming
    • Execute Python code snippets
    • Capture stdout/stderr and exit codes
    • Support for script arguments

🔧 Installation

npm install python-manager
# or
yarn add python-manager
# or
bun add python-manager

📄 Documentation

Check The Documentation Website

🖥️🛠️ Usage

Python Installation and Management

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

Python Version Management

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();

Virtual Environment Management

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");

Package Management

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();

Python Execution

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
);

Requirements

  • Node.js 20.x or higher
  • Administrative rights (for some installation operations)

Platform Support

  • Windows: Full support with pyenv-win
  • Linux: Full support with pyenv (Soon)
  • macOS: Full support with pyenv (Soon)

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

If you encounter any issues or have questions, please file an issue on the GitHub repository.

FAQs

Package last updated on 20 Feb 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts