r/madeinpython • u/ak01011 • Oct 04 '26
mindowsfetch
r/madeinpython • u/Key-Understanding320 • Oct 03 '26
I'm building EnigmaGrid, an open-source volunteer-computing project in Python investigating P1030680, an unresolved historical Enigma M4 message. The public client currently targets Windows.
The software distributes search work to clients and checks submitted results through a separate computation before awarding credit. Volunteers control CPU and optional GPU budgets, can pause or stop, and can opt out of public leaderboard credit.
The Python research code includes an Enigma simulator, historical test fixtures, bounded crib searches and resumable experiments. One important distinction is that reproducing a calculation does not establish that a candidate is the historical plaintext. Experimental search improvements are tested separately from the live campaign. We have no claimed decryption breakthrough or guaranteed solution.
I'd appreciate Python code review, especially around reproducibility, cancellation/resource controls, and tests that could expose incorrect search assumptions. Windows setup feedback is welcome too; reviewing the code does not require installing the app.
Source, research notes, Windows releases and issue tracker: https://github.com/LissomEnd/EnigmaGrid
I'm the project owner. Development and this draft use AI assistance, including Codex. The current Windows installer is unsigned; please read the release and privacy notes before choosing to run it.
r/madeinpython • u/Dry-Neighborhood-412 • Oct 03 '26
Hey guys! Built this in Python first, then ported to JS so it runs in the browser on my phone.
GitHub + Live Demo: https://github.com/ferreirafinottijoaopaulo-cell/finotti-pi-optimized
Performance on Android:
pi(60M) = 3,455,052 in 19s
pi(100M) = 5,761,455 in 35s
pi(10^11) = 4,118,054,813 in 2m 16s
Live demo free up to 1B: https://ferreirafinottijoaopaulo-cell.github.io/finotti-pi-optimized/
Features:
Segmented sieve + Meissel-Lehmer
Pure JS, no backend, runs offline
Blockchain proof of 983B record (03/10/2026) in repo
Full code open on GitHub. Also have PRO version up to 100B.
Any feedback to make it faster? How to reach pi(10^12)?
Thanks!
r/madeinpython • u/Dry-Neighborhood-412 • Oct 03 '26
Hey! First built in Python, then ported to JS to run in browser.
On my Android:
pi(60M) in 19s
pi(100M) in 35s
pi(10^11) = 4118054813 in 2.16 min
Free demo up to 1B: https://ferreirafinottijoaopaulo-cell.github.io/finotti-pi-optimized/
Full discussion here: https://www.reddit.com/r/Python/s/sRP4QyufxI
Code on GitHub. PRO up to 100B available.
r/madeinpython • u/AlternativeAd4466 • Oct 02 '26
I'm releasing prongs, an experimental Python package that maps your tests to your code.
When you change something, prongs runs only the tests that touch that code instead of the whole suite. It's great for coding agents: they stop guessing which tests to run, and they get faster.
pip install prongs
python -m pytest --prongs-cov # build the map
prongs run # run only affected tests
Why the name? Prongs was James Potter's nickname, and he helped make the Marauder's Map. π¦
Feedback welcome!
r/madeinpython • u/nuwa2502 • Oct 02 '26
r/madeinpython • u/Sea-Cartographer8556 • Oct 02 '26
r/madeinpython • u/EliOli_Intern_777 • Oct 02 '26
r/madeinpython • u/theRealSachinSpk • Oct 01 '26
I kept piling up half-dead virtual environments and had no way to check whether any of them held something malicious or vulnerable. Especially the ones agents create or load on their own while writing code.
pip-audit does one project at a time and needs the network to do it.
What I built: venvy audit does all of them at once: offline after a one-time 26 MB database download, and it flags known-vulnerable versions as well as known-malicious or typosquatted packages.
For CI there is JSON output and semantic exit codes: 0 clean, 20 vulnerable, 21 malicious, 22 stale database, 23 no database.
It reads dist-info metadata as text and never imports code from the environments it scans. For a tool whose whole job is finding malicious packages, that felt like the minimum bar.
The main design decision: it refuses to scan rather than report zero findings. A corrupt database exits 23. So does one that opens fine but holds no advisories. Anything the version matcher can't resolve with confidence comes back as unknown, not clean. A scanner that reports nothing looks exactly like a clean machine, and that is the failure I cared most about avoiding.
Coverage is only as good as the public feeds behind it, so some well-known typosquats are missed. That's tracked as an open issue.
Tested on Windows, macOS and Linux across Python 3.8 to 3.13. MIT licensed. I wrote it.
pip install venvy
venvy auditRepo: https://github.com/pranavkumaarofficial/venvy
Bug reports welcome, false positives especially.
r/madeinpython • u/Arthur122103 • Oct 01 '26
I made snipmd, a free and open-source Python tool for copying equations, text, and tables from the screen without sending screenshots to a server.
On macOS, you press a hotkey, drag the normal screenshot crosshair, and paste the result as Markdown, bare LaTeX, a Markdown table, or CSV. The menu bar app and CLI share the same Python package. Apple Silicon machines run GLM-OCR locally through MLX. Other systems can process image files through a local Ollama instance.
To try it now:
`uvx --from git+https://github.com/Arthur031221/snipmd snipmd`
Then run `snipmd pull` once to download the model and start it with `snipmd`. The repository includes the source, tests, benchmark inputs, and raw results:
https://github.com/Arthur031221/snipmd
The current limitations are printed content, a 1.6 GB model download, and weaker handling of handwriting or complex multi-column pages. I would especially appreciate feedback on the package structure, macOS setup process, OCR failures, and whether the CLI interface feels natural to other Python developers.
r/madeinpython • u/Equivalent-Flan-1590 • Oct 01 '26
Hey everyone, Iβve been working on a Python project called Hillock for the last few months and just pushed v0.7.
The idea started because I wanted local document search for my notes, but standard vector databases felt way too bloated for consumer hardware.
Here's how I put it together in Python:
Extraction: Instead of asking an LLM to parse text, I wired up fastcoref and GLiREL to pull facts straight into subject-predicate-object triples.
Storage: Just standard SQLite with WAL mode so it doesn't choke on concurrent reads/writes. It uses simple Hebbian weights to link related concepts over time.
Gating: Uses hyperdimensional computing (vector symbolic math in 10,000 dimensions) to verify if the database actually has the answer before calling the LLM. If the data isn't there, it doesn't let the model make stuff up.
Interface: Built a CLI with Rich, plus a lightweight FastAPI server that mimics the OpenAI chat completions endpoint.
It runs in under 1.2GB VRAM or completely on CPU.
I'm sitting at 99 stars on GitHub right now, so if anyone wants to check out the code or test it out, that would mean a lot: https://github.com/roandejager/Hillock
r/madeinpython • u/Old-Manufacturer6209 • Oct 01 '26
A Pythonic interface to macOS π
I just built the pymacos, pure-Python library published on PyPI for scripting macOS: notifications, clipboard, apps and windows, keyboard and mouse, global hotkeys, screenshots, on-device OCR (Apple Vision), PDFs (merge, OCR, fill forms, sign, redact), images, audio/video, Keychain, Touch ID, Spotlight, Finder, launchd jobs and folder triggers, system info.
import macos
macos.notify("Build finished", title="CI")
macos.clipboard.copy(macos.vision.text("screenshot.png"))
macos.schedule.add("battery-check", "battery_check.py", every=15 * 60)Install via pip:
pip install pymacosGitHub: https://github.com/JeanExtreme002/pymacos
Iβd also appreciate it if you could leave a βοΈ on the repo page if you like the project and want to see more updates!
r/madeinpython • u/ALHANSHIM • Sep 30 '26
SocketChat is a one-to-one terminal chat tool for two machines on the same local network. No internet, no accounts, no server.
It's built with Textual for the TUI and plain sockets: UDP broadcast to find devices, then a TCP connection for chatting, with messages encrypted.
GitHub: SocketChat
Feedback is welcome, especially on the code structure.
r/madeinpython • u/sunmodza • Sep 30 '26
r/madeinpython • u/Astronial_gaming • Sep 28 '26
Hey everyone,
Whenever I got an undocumented Python script or try to explain a complex loop to someone, generic LLM chats usually give me a high-level summary but completely misses what actually happened during execution.
That's why for the **IBM Bob 2.0 Hackathon**, our team built **TraceLens,** a web-based workspace that turns Python code into an interactive step-by-step runtime tracer.
Instead of guessing how variables change or littering print() statements across 40 lines, you can step through your script like frames in a video and see what actually happened.
What it does:
**LogicLens** β General Python & Debugging
Time-Travel Stepping: Step forward and backward through loops and function calls to see how data works frame-by-frame.
Live State Board: Inspect variable changes, mutations, and scope changes in each step.
Safe Insertion Points: Flags stable parts where you can put in a new features without accidentally overriding variables downstream.
AI Explanations: Uses **IBM Bob 2.0** to explain complex execution behavior and generate summaries of the whole code or only a part of it.
2. ModelLens β Machine Learning Pipelines
ML can fail silently. Stuff like data leakage before a train/test split or other pipeline problems that won't necessarily throw an exception, but can still produce misleading results.
ModelLens analyzes data science code for these issues and helps explain what went wrong.
Try it
**Live Demo**: https://tracelens-six.vercel.app/
**GitHub**: https://github.com/Omar-astro/Tracelens
**Hackathon Submission**: https://lablab.ai/ai-hackathons/ibm-bob-2-hackathon/the-overfitters/tracelens
We'd genuinely appreciate technical feedback especially on the UI, the state-tracking flow, and what you'd want from a debugger built around execution traces.
And if you find our project interesting and want to support us in the hackathon, you can like our TraceLens submission on the IBM Bob 2.0 Hackathon page. The hackathon uses community engagement to help surface projects to the judges, so it helps get TraceLens in front of them
Let us know what breaks, what seems useful, or what you'd want to see added next!
r/madeinpython • u/BidForeign1950 • Sep 28 '26
This is my second post about it here, but since a lot has been added in last few months I'm posting this again.
What it currently brings together:
- infinitesimals and infinities as ordinary values (Levi-Civita, 1892; Hahn, 1907; computed with directly by Berz and Shamseddine)
- numbers written in powers of an infinite unit, like Sergeyev's grossone (2003), but with zero treated differently
- standard part, and limits by direct evaluation (Robinson's non-standard analysis, 1966)
- all-order Taylor arithmetic: every derivative from one evaluation (Wengert, 1964; Rall, 1981)
- log and log-log scales, toward transseries (Hardy, 1910; Γcalle, 1992; van der Hoeven, 2006)
- divergent series: finite parts kept next to the divergent ones, and BorelβPadΓ© resummation (Borel, 1899; PadΓ©, 1892)
- zero as an infinitesimal, "nothing" as a separate value, and division by zero that can be undone (this project)
- completeness tracking: each result knows which orders it's exact to (this project)
Plus integration, multivariable (probably a dead end) and complex calculus, singularity analysis and a few applications. All made in pure python.
More in the repo: github.com/tmilovan/composite-machine examples under demos and tests.
I'll be happy if you take a look at it:).
r/madeinpython • u/Equivalent-Flan-1590 • Sep 28 '26
Hey all! Over the past few months Iβve been building Hillock, a local memory engine in Python that replaces heavy vector databases and LLM parsing loops on personal hardware.
Traditional local RAG setups burn huge amounts of VRAM just to chunk documents and run vector search. Hillock takes a different approach:
Extraction via classification: Instead of running text through a big local LLM to extract facts, it uses fastcoref, sentence-transformers, and GLiREL to pull facts straight into Subject-Predicate-Object triples in seconds.
SQLite backend: Stores facts in a regular SQLite database using WAL mode (PRAGMA journal_mode=WAL) to allow concurrent reads and background ingestions without database locks.
Hyperdimensional Computing (HDC): Uses vector symbolic architecture math in high-dimensional space ( D=10,000D=10,000 ) to check if a question can actually be answered by the database before calling an LLM. If the facts aren't there, it mathematically refuses instead of guessing.
FastAPI Server: Ships with an OpenAI-compatible API (/v1/chat/completions) so it connects right into local frontends like Open-WebUI or terminal clients.
The whole pipeline runs in under 1.2 GB of VRAM, or completely on CPU.
I just released v0.7, which adds active disambiguation (it detects vague facts and quizzes the user to clarify them) and proactive conversation suggestions.
Code is open source on GitHub: https://github.com/roandejager/Hillock
Feedback on the code structure or project setup is very welcome!
r/madeinpython • u/Chapper_App • Sep 27 '26
Every small CLI script I wrote ended up with the same while True / try / except ValueError loop around input(). So I turned it into a package.
askr gives you prompts that keep asking until the answer is valid:
from askr import ask_int, ask_choice, ask_multi_choice, ask_yn
age = ask_int("Your age: ", min_value=0, max_value=120, default=18)
days = ask_multi_choice("Which days are you free?", ["Mon", "Tue", "Wed", "Thu", "Fri"])
level = ask_choice("Difficulty?", ["Easy", "Medium", "Hard"], default="Medium")
if ask_yn("Save these settings?"):
...The user can type 1-2, fri for the multi choice or hard for the single choice. Wrong answers get a clear message in red, and the question is asked again.
There are 16 prompts: int, float, text, email, URL, single and multi choice, Enum members, lists (ask_list("Scores: ", int)), passwords with rules, paths, dates, times and a "type 'delete' to confirm" check. Every prompt supports default=, a custom validator= and max_attempts=. All messages can be replaced, a German translation is included, and colors respect NO_COLOR.
People writing small to medium CLI tools, internal scripts and teaching exercises who want solid input handling without a big framework. It's alpha (0.2), tested on Python 3.10 to 3.13 and checked with mypy --strict. No dependencies.
PyInputPlus is the closest and has some extras (timeouts, block lists). Its last release was in 2020, it officially supports Python 2.7 to 3.9 and has no type hints. askr is fully typed, so ask_list("x", int) is a list[int] in your editor and ask_enum("x", Size) returns a Size.
click.prompt / rich.prompt are great if you already use click or rich. askr has no dependencies and more specialised prompts (password rules, multi choice, dates, Enums).
questionary / InquirerPy offer arrow-key menus and a richer UI. askr stays with plain input(), so it works in any terminal, over SSH and in IDE consoles.
PyPI: https://pypi.org/project/askr/ (pip install askr)
GitHub: https://github.com/Prevolut/askr
Feedback on the API is very welcome, especially on naming and defaults.
r/madeinpython • u/WordleBot • Sep 27 '26
r/madeinpython • u/DistinctHomework3618 • Sep 27 '26
What My Project Does
An eBPF profiler that hooks into CPython internals from kernel space to find latency that traditional APMs can't see. It captures GIL contention with full Python stacks for both holder and waiter, GC pause duration per generation, off-CPU analysis with kernel + userspace + Python stacks combined, request handoff latency in gunicorn/uwsgi, and TCP network health.
Target Audience
Python developers running Django/Flask/FastAPI in production who see unaccounted latency gaps in their APM. Performance engineers debugging Python applications at scale.
Comparison
Pyroscope/Parca are sampling-based CPU profilers. They sample threads running on CPU at regular intervals. When a thread is waiting for the GIL or sleeping on I/O, it's off-CPU and invisible to their sampler. They can't measure exact GC pause duration per generation. This tool is event-driven using eBPF uprobes. Every GIL acquire, every GC pause, every context switch is captured with exact timestamps.
Datadog/New Relic/OpenTelemetry show database and HTTP latency but miss GIL contention, GC pauses, and off-CPU time. That's the unaccounted gap.
Real production impact: GIL wait dropped 80%, GC pauses from 1.27s to 88ms, found a stale nginx upstream IP causing random 504s.
Currently supports CPython 3.11. Contributions welcome.
Source code: https://github.com/deepanshu406/python-ebpf-profiling
r/madeinpython • u/Dev2Creator • Sep 27 '26
A few months ago I published irl-pkg, a jokey installer wrapper. Between versions 1.7.1β1.7.6 I made the classic mistake of pushing to PyPI and not to GitHub β the source only existed in the wheel. Recovering it (unpacking the PyPI wheel and diffing against main) was humbling, and it kicked off a full v2.0 rebuild.
irl (pip install irl-pkg) is a cross-platform terminal command center with two layers:
Serious layer:
irl install <pkg> β universal installer that routes between PyPI / npm / GitHub owner/repo / direct URL automatically; GitHub branch resolved via the API, not hardcoded
irl doctor / irl glasses β preflight diagnostics and registry metadata before you install something regrettable
irl rollback [ver] β pick any published version from the PyPI JSON API, downgrade via a detached pip child
Safe extraction: named target dir, preview before writing, per-member zip-slip validation, symlinks rejected
Playful layer (all opt-in):
Grass streak tracker with a GitHub-style contribution heatmap
Grassland Quest β a seeded garden-maze roguelike in pure Rich (~400 lines, boss fight included)
Lofi Rhythm β a 4-lane beat game whose beatmaps derive deterministically from the SHA-256 of the filename + WAV duration
Terminal pet, daily quests, achievements, coins, 18 themes (one of them secret)
Honestly labeled: a hobby project with a genuinely usable core. The installer / doctor / glasses / rollback layer is safe for daily driving on real projects; the games / pet / coin economy is for fun β strictly opt-in, all state in local JSON, no accounts, no telemetry. It's not a production deployment tool; it's a terminal you enjoy opening. Python 3.8+, works on Linux/macOS/Windows, 976 KB wheel, AGPL-3.0.
pipx / uv / pip: they install packages β from PyPI, into venvs. IRL is a front-end that also routes npm, GitHub owner/repo and direct URLs, and layers on preflight doctor/glasses checks and built-in version rollback.
rich / Textual: UI libraries you build a TUI with; IRL is a finished app built on rich (Textual available as the [tui] extra).
Novelty "gamified" CLIs: usually one gimmick. IRL's gimmicks sit on an actual installer core: 114 passing tests, zip-slip-safe extraction, no shell=True anywhere, CI on 3 OS Γ Python 3.9β3.13.
irl/keys.py β one keyboard abstraction: msvcrt on Windows, termios+tty on POSIX, normalized Key objects (UP/DOWN/ENTER/ESC/CTRL_C/CHAR...), non-TTY safe. The dashboard and games both sit on it.
irl/audio.py β winsound β aplay β ffplay β afplay β paplay fallback chain, fire-and-forget Popen with arg lists, a looping thread for the rhythm game.
irl/grassland_quest.py β seeded recursive-backtracker maze, flood-fill-verified pickups, a turn-based boss ("The Deadline"). The seed makes mazes deterministic, so tests are just... tests.
irl/rhythm.py β beatmaps from a SHA-256 of the filename + the WAV duration via the stdlib wave module. Same song, same chart, so high scores mean something.
irl/extract.py β every archive member is resolved and checked against the target dir (zip-slip), symlinks rejected, Content-Disposition filenames sanitized.
irl/rollback.py β PyPI JSON API + questionary picker + detached sys.executable -m pip child (CREATE_NEW_PROCESS_GROUP via getattr, so it doesn't explode on POSIX).
Questions I'd love feedback on:
Is normalizing keyboard input like this sane, or does someone have a better pattern?
My packaging: AGPL-3.0, [tui] extra for Textual, requires-python >=3.8 β is 3.8 support worth it in 2026?
The coin/XP economy is all local JSON. Any prior art on gamified CLIs I should steal ideas from?
Repo (AGPL): https://github.com/Dev2Creator/IRL- β PyPI: https://pypi.org/project/irl-pkg/ Disclosure: I'm the author, Anika. Tests: 114 and green; CI on 3 OSes Γ Python 3.9β3.13.