Skip to content
/ nbreqs Public

Generate <notebook>_requirements.txt files for Jupyter Notebooks (.ipynb files).

License

Notifications You must be signed in to change notification settings

miek770/nbreqs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nbreqs

nbreqs is a lightweight Python tool designed to extract the external library dependencies from Jupyter notebooks.

I made this tool because I manage repositories containing several notebooks with poetry, whereas users will only use single notebooks and copy them to other directories not themselves managed by poetry. They thus need requirement files specific to each notebook instead of the repository's total requirements.

nbreqs generates a <notebook>_requirements.txt file for each notebook in the same directory as each notebook.

Features

  • Finds notebooks recursively starting at the provided PATH.
  • Extracts only external dependencies found on PyPI (ignores standard library modules and sources other than PyPI).
  • Works on Jupyter notebooks.
  • Generates minimal <notebook>_requirements.txt files (one per notebook).

Installation

The preferred way of installing this tool is through pipx:

pipx install nbreqs

It can also be installed as a library through pip; check the tests for examples.

Usage

Once installed, the utility is used on the command line; see --help for details:

asciicast

The --pin option was removed in version 0.2.2. See issue #7 for details.

Starting with version 0.2.3, PATH can be either a filename or a directory.

Development

Contributions are welcome; please:

  • Activate pre-commit and use black.
  • Ensure pytest runs without failures.
  • Be nice.

License

nbreqs is licensed under the MIT License. See LICENSE file for details.