HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
notatallshaw
nab
Python2026–2026
notatallshaw / nab

nab

PubGrub-based dependency resolver for Python packages

2Distinct people
2Mentions
0Explicit recommenders
32GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

PubGrub-based dependency resolver for Python packages

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by day2 dated mentions

Observed mentions: 2026-08-31 16:00:39 UTC to 2026-09-12 04:34:43 UTC.

012026-08-31 00:00:00 UTC to 2026-09-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsAug 312026-09-01 00:00:00 UTC to 2026-09-02 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-09-02 00:00:00 UTC to 2026-09-03 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-09-03 00:00:00 UTC to 2026-09-04 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-09-04 00:00:00 UTC to 2026-09-05 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-09-05 00:00:00 UTC to 2026-09-06 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-09-06 00:00:00 UTC to 2026-09-07 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsSep 62026-09-07 00:00:00 UTC to 2026-09-08 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-09-08 00:00:00 UTC to 2026-09-09 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-09-09 00:00:00 UTC to 2026-09-10 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-09-10 00:00:00 UTC to 2026-09-11 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-09-11 00:00:00 UTC to 2026-09-12 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-09-12 00:00:00 UTC to 2026-09-13 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsSep 12

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Aug 312026-08-31 00:00:00 UTC2026-09-01 00:00:00 UTC101
Sep 12026-09-01 00:00:00 UTC2026-09-02 00:00:00 UTC000
Sep 22026-09-02 00:00:00 UTC2026-09-03 00:00:00 UTC000
Sep 32026-09-03 00:00:00 UTC2026-09-04 00:00:00 UTC000
Sep 42026-09-04 00:00:00 UTC2026-09-05 00:00:00 UTC000
Sep 52026-09-05 00:00:00 UTC2026-09-06 00:00:00 UTC000
Sep 62026-09-06 00:00:00 UTC2026-09-07 00:00:00 UTC000
Sep 72026-09-07 00:00:00 UTC2026-09-08 00:00:00 UTC000
Sep 82026-09-08 00:00:00 UTC2026-09-09 00:00:00 UTC000
Sep 92026-09-09 00:00:00 UTC2026-09-10 00:00:00 UTC000
Sep 102026-09-10 00:00:00 UTC2026-09-11 00:00:00 UTC000
Sep 112026-09-11 00:00:00 UTC2026-09-12 00:00:00 UTC000
Sep 122026-09-12 00:00:00 UTC2026-09-13 00:00:00 UTC110

What Hacker News says

2 sources
> We can also make low-level optimizations during resolution, e.g., in version parsing, that are not possible in pure Python code. As a complete aside, uv can and does do this, but for this particular optimization I'm not sure how much absolute time it ends up saving compared to pure Python in real world resolution scenarios. uv's total memory usage isn't that much leaner than pip's, and for parsing speed it turned out that the library pip uses, packaging, was just very unoptimized at the time uv launched. This has been significantly addressed since then: * We did a lot of work to make version parsing twice as fast: https://iscinumpy.dev/post/packaging-faster/ * Since that blog post I made typical version parse three times faster on top of that: https://github.com/pypa/packaging/pull/1082 * Also since that blog post version filtering has
Read the rest
gone through multiple optimizations and in some cases will be more than 30x faster e.g. https://github.com/pypa/packaging/pull/1105, https://github.com/pypa/packaging/pull/1111, https://github.com/pypa/packaging/pull/1120 At this point large dependency resolves in pip are spending very little of their time doing things in packaging, like version parsing. The main non-IO time spent in large resolves is now in the core resolver, resolvelib, which I hope to one day replace with my experimental resolver nab: https://github.com/notatallshaw/nab. Nab scales to large resolves much more efficiently than resolvelib (in fact I've cross-ported some of the algorithmic efficiency gains to uv already ;o)).
In uv: Deduplicate all files in the wheel cache

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.