Skip to main content

static binaries of npm and node

Project description

static-npm

Downloads and runs npm, npx and node through static binary downloads.

Linting MacOS_Tests MacOSx86_Tests Ubuntu_Tests Win_Tests

Install

pip install static-npm

Cmds

# Get the versions of all tools
static-npm --version
static-node --version
static-npx --version

# Install live-server
static-npm install -g live-server

# Install and run in isolated environment.
static-npm-tool live-server --port=1234

Example: Install npm live-server and use it

# NpmTool handle downloading and running a npm based tool installed in isolation.
import time
from static_npm import NpmTool
live_server = NpmTool("live-server").run([f"--port=8888"])
# Web browser should pop up.
time.sleep(10)
live_server.kill()

Api

from pathlib import Path
from static_npm.npm import Npm
from static_npm.npx import Npx
from static_npm.paths import CACHE_DIR

def _get_tool_dir(tool: str) -> Path:
    return CACHE_DIR / tool

npm = Npm()
npx = Npx()
tool_dir = _get_tool_dir("live-server")
npm.run(["install", "live-server", "--prefix", str(tool_dir)])
proc = npx.run(["live-server", "--version", "--prefix", str(tool_dir)])
rtn = proc.wait()
stdout = proc.stdout
assert 0 == rtn
assert "live-server" in stdout

To develop software, run . ./activate.sh

Windows

This environment requires you to use git-bash.

Linting

Run ./lint.sh to find linting errors using pylint, flake8 and mypy.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

static_npm-1.0.11.tar.gz (13.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

static_npm-1.0.11-py2.py3-none-any.whl (10.2 kB view details)

Uploaded Python 2Python 3

File details

Details for the file static_npm-1.0.11.tar.gz.

File metadata

  • Download URL: static_npm-1.0.11.tar.gz
  • Upload date:
  • Size: 13.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.5

File hashes

Hashes for static_npm-1.0.11.tar.gz
Algorithm Hash digest
SHA256 f0282fd74fb328164107e07ee8eccff3a660d02152f26b1252a579f7512daef6
MD5 3518f6052e3662407e5e52d67e3df69e
BLAKE2b-256 925808f68def213694e281e6fac5a124d720711099f1114f6a17683cee9361fb

See more details on using hashes here.

File details

Details for the file static_npm-1.0.11-py2.py3-none-any.whl.

File metadata

  • Download URL: static_npm-1.0.11-py2.py3-none-any.whl
  • Upload date:
  • Size: 10.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.5

File hashes

Hashes for static_npm-1.0.11-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 cf23560a9f7fca141f6296105ce863aeebd0d6d3d99a114ef000c3b71182df41
MD5 b17dfb5c93f805bd24cfb90864083f1b
BLAKE2b-256 9b11d3b123040c13c4650e618960540577724f8ab2aa1cf380752b0df5e7902f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page