All Projects → inveniosoftware → pynpm

inveniosoftware / pynpm

Licence: other
Python interface to your NPM and package.json.

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects
javascript
184084 projects - #8 most used programming language

PyNPM

Python interface to your NPM and package.json.

Further documentation is available on https://pynpm.readthedocs.io/.

Installation

PyNPM is on PyPI so all you need is:

$ pip install pynpm

Usage

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'])
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].