HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
alexmojaki
snoop
Python2019–2026
alexmojaki / snoop

snoop

A powerful set of Python debugging tools, based on PySnooper

3Distinct people
5Mentions
0Explicit recommenders
1.5KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A powerful set of Python debugging tools, based on PySnooper

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 year5 dated mentions

Observed mentions: 2019-07-17 09:24:26 UTC to 2026-02-20 02:13:48 UTC.

012019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

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
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC110
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC101
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC101
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC000
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC101
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC000
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC000
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC101

What Hacker News says

5 sources
The content of the article seems OK, but I'm still going to generally disagree with it. Maybe my take is just confirming the thesis, but I don't find the larger things I do with AI to be borifying (yes I just invented that word). I've been ramping my use since the start of this month, and have already made serious progress on a number of projects, many of which have been on ice for years, and have also built out a stable of supporting tools. And I've found it generally exhilarating; making good progress where there was none before is pretty heady. One of the more memorable experiences I have was a problem that I had to deal with for years, had thought hard about, and then in the end Claude resolved it cleanly with about 1/3 a screen of code (would share the link, but there's no "share" in the mobile app): =============== I often use [snoo
Read the rest
p](https://github.com/alexmojaki/snoop) because I like the features and output formatting, but it doesn't support async. I have found [ASnooper](https://github.com/LL-Ling/ASnooper), but it only supports async. I'd like to add ASnooper's async feature to snoop. I'm thinking of creating a project that imports both, and patches the relevant parts of snoop with the async functionality from ASnooper. I have some notes from looking into the snoop code: - A `ConfiguredTracer` object is exposed in `builtins` (configuration.py, line 142). - Whenever the `ConfiguredTracer` object is called with an async function, it raises (tracer.py, line 166). - The trace event is passed to a formatter, and then a writer (tracer.py, line 280-281). ... and in the ASnooper code: - An `ASnooper` object is exposed (__init__.py). - Whenever the `ASnooper` object is called on an async function, it creates formatter and writer objects (core.py, line 69-75). The approach I'm considering is to wrap `ConfiguredTracer.__call__` with a method that delegates async function tracing to `ASnooper`, and replace the `OutputFormatter` and `OutputWriter` classes with versions that delegate to `snoop`'s implementation. I've prepared a repo for the solution: """ . ./README.md ./pyproject.toml ./tests ./tests/__init__.py ./src ./src/async_patched_snoop ./src/async_patched_snoop/__init__.py """ I've also extracted excerpts from both projects, as unified diff contexts (attached). Any issues, questions or suggestions? Or a better approach that doesn't involve forking the targeted projects? =============== I prompted Claude with this along with a file containing the diffs (constructed with the help of another prompted tool), Claude informed me of the issues in my approach and suggested a couple alternate solutions, I selected the one 1 preferred, Claude asked for some more context and then did the implementation, and now I have async support in snoop. Probably took me over an hour to construct that initial prompt, and under 5 minutes of conversion to completed solution. I really don't think that that's boring.
In AI makes you boring
> Is there any way for users to construct their own multiple stage tutorials? I really hope some kind of GUI to do that can exist one day, but it's definitely a complicated feature that I'd need help from contributors to build. Same for graphical output. > (It looks like we can do single questions) I think you're talking about the question wizard. That's for helping people to write good quality questions about their own struggles to post on StackOverflow and similar sites. It's not for making 'challenges' for others to solve. > Incredibly generous of you to make it open source! Thank you! I'm really trying to improve the state of education and make the world a better place. I hope that in addition to directly helping users, I can inspire other educators, raise the bar, and help them build similar products. To this end, futurecoder is powe
Read the rest
red by many open source libraries that I've created which are designed to also be useful in their own right: Debuggers: these are integrated in the site but also usable in any environment: - https://github.com/alexmojaki/birdseye - https://github.com/alexmojaki/snoop - https://github.com/alexmojaki/cheap_repr (not a debugger, but used by the above two as well as directly by futurecoder) Tracebacks: - https://github.com/alexmojaki/stack_data (this is also what powers the new IPython tracebacks) - https://github.com/alexmojaki/executing (allows highlighting the exact spot where the error occurred, but also enables loads of other magical applications) - https://github.com/alexmojaki/pure_eval You can see a nicer presentation (with pictures) of the above as well as other projects of mine on my profile https://github.com/alexmojaki Libraries which I specifically extracted from futurecoder to help build another similar educational site https://papyros.dodona.be/?locale=en (which does have a canvas output, at least for matplotlib): - https://github.com/alexmojaki/sync-message (allows synchronous communication with web workers to make input() work properly) - https://github.com/alexmojaki/comsync - https://github.com/alexmojaki/pyodide-worker-runner - https://github.com/alexmojaki/python_runner
In Show HN: Futurecoder – A free interactive Python course for coding beginners
There's also https://github.com/alexmojaki/snoop For comparison: 19:32:30.66 >>> Call to add_up in File "/home/joel/example.py", line 5 19:32:30.66 ...... numbers = [123, 456] 19:32:30.66 ...... len(numbers) = 2 19:32:30.66 5 | def add_up(numbers): 19:32:30.66 6 | total = 0 19:32:30.66 7 | for number in numbers: 19:32:30.66 .......... number = 123 19:32:30.66 8 | total += number 19:32:30.66 .............. total = 123 19:32:30.66 7 | for number in numbers: 19:32:30.66 .......... number = 456 19:32:30.66 8 | total += number 19:32:30.66 .............. total = 579 19:32:30.66 7 | for number in numbers: 19:32:30.66 9 | return total 19:32:30.66 <<< Return value from add_up: 579
In Icecream: Never use print() to debug again in Python

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.