Python interface to your NPM and package.json.
Further documentation is available on https://pynpm.readthedocs.io/.
PyNPM is on PyPI so all you need is:
$ pip install pynpm
First point PyNPM to your package.json
:
from pynpm import NPMPackage
pkg = NPMPackage('path/to/package.json')
Now you can run e.g. npm install
from within Python:
pkg.install()
Arguments are also support so you can run e.g. npm run build --report
:
pkg.run_script('build', '--report')
Want to use yarn
instead?
from pynpm import YarnPackage
pkg = YarnPackage('path/to/package.json')
pkg.install()
By default NPM output is piped through and the function call will wait for NPM
to finish. If you want to silence the output or interact with process pass
wait=False
and you will get a subprocess.POpen object back:
p = pkg.install(wait=False)
p.wait()
By default you can run the following NPM commands:
build
init
install
link
run-script
start
stop
test
You can also run other NPM commands or restrict which commands you can run:
pkg = NPMPackage('path/to/package.json', commands=['install'])