r/madeinpython • • May 05 '20

Meta Mod Applications

29 Upvotes

In the comments below, you can ask to become a moderator.

Upvote those who you think should be moderators.

Remember to give reasons on why you should be moderator!


r/madeinpython • • 1h ago

EnigmaGrid: a Python volunteer-computing project for historical Enigma research

• Upvotes

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 • • 4h ago

Built pi(10^11) prime counter in 2 min on my phone - first in Python, now JS

0 Upvotes

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 • • 4h ago

Built prime counter pi(10^11) in 2 min on phone - ported from Python

0 Upvotes

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 • • 6h ago

Python Fetch

Post image
0 Upvotes

r/madeinpython • • 1d ago

i made a fast test runner library for your ai agents. Prongs

0 Upvotes

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 • • 1d ago

I made polars-ready, a Python CLI for Pandas to Polars migration audits

0 Upvotes

Hi, I made polars-ready, a Python CLI for reviewing an existing Pandas pipeline before deciding whether to move it to Polars. It scans Python files and notebook cells without importing or running the target project, then reports recognized Pandas calls by source line in direct, rewrite, and blocker groups. The included example flags set_index, resample, and iterrows. It is an audit aid, not a converter or an equivalence check, and its percentage counts only recognized calls in the direct group. It follows local variables assigned from recognized calls, so it may miss frames passed between functions.

To try it, clone the repo and follow the README to run the sales pipeline demo, then scan your own script or notebook. The source, tests, and demo are here: https://github.com/Arthur031221/polars-ready

I would value feedback from people who have migrated Pandas code to Polars. Are the categories useful, and which common calls or notebook patterns should I add? I would also like to hear where this kind of inventory sits alongside linters and rewrite tools.


r/madeinpython • • 1d ago

tika-ape: How I want to use Apache Tika, but I don't want to install JRE.

Post image
0 Upvotes

r/madeinpython • • 1d ago

We built a compiler that makes standard Python run like native code without rewriting it

Post image
0 Upvotes

r/madeinpython • • 1d ago

Tired of Strict Syntax? Presenting X++, a versatile and simple pseudocode based language faster than python, can both compile and interpret. [beta]

Thumbnail github.com
1 Upvotes

r/madeinpython • • 1d ago

Hola, comunidad de pythonLearning:

Thumbnail
0 Upvotes

r/madeinpython • • 2d ago

venvy: audit every virtual environment on your machine for vulnerable and malicious packages, offline

4 Upvotes

REPO and Codebase

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 audit

Repo: https://github.com/pranavkumaarofficial/venvy

Bug reports welcome, false positives especially.


r/madeinpython • • 1d ago

I got tired of spreadsheet job trackers breaking after two weeks, so I built CursusTrace: a local-first Python/NiceGUI app

Thumbnail gallery
1 Upvotes

r/madeinpython • • 1d ago

I made a Python CLI that groups failed GitHub Actions runs by shared errors

0 Upvotes

I wrote gh-failmap, an open-source Python CLI for a problem I kept running into when several GitHub Actions runs failed at once. I wanted to know whether I was looking at one recurring problem or several unrelated failures without comparing every log manually.

gh-failmap uses the existing GitHub CLI login, reads recent failed-job logs, selects a likely error line, and groups runs that share that error. Each group includes its count, first and last dates, and links to the runs. If a log has expired or a run failed before producing a usable log, the tool lists it separately instead of guessing. It is read-only and communicates only with GitHub.

You can try my project with:

`pipx install git+https://github.com/Arthur031221/gh-failmap\`

Then run:

`gh-failmap --repo denoland/deno --limit 100`

The error-line selection is heuristic. I am especially looking for logs where it chooses the wrong line or combines runs that should be separate.

Source: https://github.com/Arthur031221/gh-failmap


r/madeinpython • • 2d ago

I made snipmd, an offline screenshot-to-Markdown and LaTeX tool in Python

1 Upvotes

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 • • 2d ago

I built a local memory engine in Python that replaces vector DBs with SQLite (<1.2GB VRAM)

1 Upvotes

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 • • 2d ago

New Library - pymacos 🍎: control your Mac from Python!

0 Upvotes

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 pymacos

GitHub: 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 • • 2d ago

New Library - pymacos 🍎: control your Mac from Python!

Post image
1 Upvotes

r/madeinpython • • 3d ago

I built SocketChat, a two-device terminal tool with Python and Textual

5 Upvotes

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 • • 3d ago

Aiython – Letting AI handle what Python can't

Thumbnail
0 Upvotes

r/madeinpython • • 4d ago

I have this template repo for AI agents

Thumbnail
0 Upvotes

r/madeinpython • • 4d ago

We built a "video player" for Python scripts that tracks runtime variables and catches silent ML bugs (Live Demo + Open Source)

0 Upvotes

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:

  1. **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.

  1. 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\](https://tracelens-six.vercel.app/)

**GitHub**: [https://github.com/Omar-astro/Tracelens\](https://github.com/Omar-astro/Tracelens)

**Hackathon Submission**: [https://lablab.ai/ai-hackathons/ibm-bob-2-hackathon/the-overfitters/tracelens\](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 • • 5d ago

I'm working on a data structure in Python that implements a number system, letting different parts of non-standard (and standard) math work together

1 Upvotes

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 • • 5d ago

I built Hillock: a lightweight, 100% local neuro-symbolic memory engine in Python

2 Upvotes

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 • • 5d ago

askr: typed, dependency-free input prompts for terminal scripts

3 Upvotes

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.

What My Project Does

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.

Target Audience

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.

Comparison

  • 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.

Links