Packages
A typed PyPI Simple-API client with on-disk caching and multi-index routing, used internally by nab and nab-project to fetch and cache package metadata.
Provides Python package index integration for the nab resolver, handling package discovery, resolution, and lockfile generation without requiring the CLI.
A generic PubGrub-style dependency resolver core that accepts a ResolverProvider protocol, with no Python-specific logic—designed for embedding in package resolvers or other systems that need SAT-style constraint solving.
Python client library for Nacos service discovery, configuration management, and AI services via OpenAPI, supporting gRPC and HTTP protocols with async/await.
Nagisa performs Japanese word segmentation and part-of-speech tagging using recurrent neural networks, outputting tokenized words with their grammatical tags.
Naked is a command-line application framework that provides a CLI string parser, Python type extensions, and tooling for project generation, testing, and PyPI distribution.
Provides utilities to inspect and work with Python type names and named types, including functions to check if an object is named and retrieve its type name.
However, the dormant maintenance status means you should verify that its type-name semantics align with your use case before relying on it for new projects.
Creates mutable or immutable named tuple-like classes with support for per-field and global default values.
Nameko is a microservices framework for Python that lets you build services as simple classes with RPC, pub-sub events, HTTP endpoints, and WebSocket support, with built-in testing utilities.
However, maintenance is dormant; do not adopt for new projects requiring active upstream support or modern Python versions beyond 3.9.
Retrieves the name of a variable or attribute as a string at runtime through AST inspection, mimicking C# nameof functionality.
Parses human names into seven structured fields—title, given, middle, family, suffix, nickname, maiden—with support for multiple scripts including East Asian names, and provides immutable results with composable configuration.
Install it if you need to parse or normalize human names, especially in multilingual contexts.
Generates random human names (first, last, or full) with optional gender selection, available both as a command-line tool and Python library.
However, it is dormant since 2013-05-14 and untested on modern Python versions—verify compatibility before using in production.
Looks up demographic information about first and last names across 105 countries, including gender likelihood, popularity rank, and fuzzy/autocomplete search.
A lightweight vector database that stores and queries embeddings with a single numpy dependency, designed for prototyping and small-to-medium workloads.
However, do not use for production systems: the aging maintenance status (last commit 2026-01-09, first release 2024-08-19), lack of active development, and…
nanobind exposes C++ types in Python and vice versa, enabling efficient C++/Python bindings with faster compilation, smaller binaries, and lower runtime overhead than comparable tools.
Generates cryptographically secure, URL-friendly unique IDs shorter than UUIDs using an alphabet of A-Za-z0-9_- with configurable size and custom alphabets.
Nanopb is a code generator and runtime library that compiles Protocol Buffer definitions into minimal C code suitable for embedded systems and memory-constrained environments.
Install only if you have a C build system in place and need to generate code from .proto files; this is a build-time tool, not a runtime library for Python applications.
Nanotime provides a 64-bit UNIX timestamp type with nanosecond precision, storing time as a single integer count of nanoseconds since the epoch rather than separate seconds and fractional components.
NAPALM provides a unified Python API to interact with network devices from multiple vendors, abstracting away vendor-specific differences for configuration management and data retrieval.
napari is an interactive, multi-dimensional image viewer for Python that lets you browse, annotate, and analyze large n-dimensional images through a Qt-based GUI with GPU-accelerated rendering.
Not recommended if you need headless batch processing or have minimal GPU/display infrastructure.
Adds an interactive Python console panel to napari, allowing you to inspect and manipulate data and layers directly from within the viewer.
A plugin discovery and hook-calling system for napari, enabling applications to load and execute plugins registered via naming convention or entry points.
Install only if you are maintaining legacy code that cannot yet move to npe2.
Provides a graphical interface for discovering, installing, updating, and uninstalling napari plugins through both pip and conda package managers.
Napari-svg is a plugin that exports image data and annotations from napari visualizations as SVG files, enabling vector-based output from the napari image viewer.
Narwhals provides a lightweight compatibility layer that lets you write dataframe code once and run it against pandas, Polars, cuDF, Modin, PyArrow, DuckDB, Dask, and other libraries without adding dependencies.
Install it if you maintain a dataframe-consuming library or need to write code that works across multiple backends without forcing users to convert data.
Provides Python access to Nasdaq Data Link's REST API for retrieving financial and economic time-series datasets and datatables into pandas DataFrames.
Nashpy computes Nash equilibria and simulates strategic interactions in two-player games using algorithms like support enumeration, vertex enumeration, Lemke-Howson, fictitious play, and replicator dynamics.
nassl is an OpenSSL wrapper for Python that exposes low-level SSL/TLS functions needed for SSL server scanning and testing, with a C extension layer that closely mirrors OpenSSL's API.
An asyncio Python client for connecting to and messaging through NATS, a distributed messaging system, with support for core pub-sub, request-reply, and JetStream persistence patterns.
Install it if you need lightweight async messaging, pub-sub distribution, or persistent queues in a distributed architecture.
natsort provides natural sorting for strings containing numbers, ordering them by numeric value rather than lexicographic order—so '10' comes after '9' instead of after '1'.
Install it if you need to sort strings containing numbers in a human-readable way.
NautilusTrader is a Rust-native event-driven trading engine that runs research backtests and live trading strategies using the same deterministic code, with Python as the control plane for strategy logic.
nb-clean removes execution counts, metadata, and outputs from Jupyter notebooks to prepare them for version control, and can automatically clean notebooks via Git filters or pre-commit hooks.
Install it if you commit notebooks to Git.
nba_api provides Python access to NBA.com's official stats and live game data APIs, returning results as JSON, dictionaries, or pandas DataFrames.
Install it if you need programmatic access to NBA.com data; be aware that NBA.com's own Terms of Use may restrict how you use the data, and endpoint availability…
Provides the classic Jupyter Notebook interface as a Jupyter Server extension, allowing you to run the traditional notebook UI alongside modern frontends like JupyterLab.
nbclient executes Jupyter notebooks programmatically in different contexts, including the command line, by running notebook cells and capturing their outputs.
nbconvert converts Jupyter notebooks (.ipynb files) to static formats including HTML, LaTeX, PDF, Markdown, ReStructuredText, Reveal.js, and executable scripts via command-line or programmatic interface.
Install it if you need to convert notebooks to static formats or automate notebook publishing.
nbdev is a notebook-driven development platform that exports Jupyter notebooks to Python modules, generates documentation via Quarto, runs tests, and publishes packages to PyPI and conda—all from a single notebook source.
nbformat provides Python APIs and the reference implementation for reading, writing, and validating Jupyter Notebook format files, with built-in JSON schema validation.
Install it if you need to read, write, or validate Jupyter notebooks programmatically.
A pytest plugin that executes Jupyter notebooks as tests, with support for parallel execution, cell-level error handling, timeouts, and optional output writeback for documentation builds.
Runs standard Python linters and formatters (ruff, black, isort, mypy, pylint, flake8, pyupgrade, and others) on Jupyter Notebook code and markdown cells while handling IPython magics and respecting configuration files.
Install it if your team uses Jupyter notebooks and wants to enforce the same code standards as your .py files.