Skip to main content

Generate notebook_requirements.txt files for Jupyter Notebooks (.ipynb files).

Project description

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.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

nbreqs-0.2.3-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

Details for the file nbreqs-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: nbreqs-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 4.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for nbreqs-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 43be746b8a6feda85ba7eb48ca494d2fc7102e55386e0bba258609c2fce6444b
MD5 ef764509f63a3f1e872b2e2584fc0651
BLAKE2b-256 05a47a9485b7a4374355bfc74edcdf35a90540082e965342e3bce56c8899f9c0

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