Python open source projects to contribute
Posted by manikk69@reddit | Python | View on Reddit | 31 comments
Hi everyone,
I have around 1 year of professional experience with python as a backend developer, but I worked with python for hobby projects for a few years now. I'm looking for some small/medium size open source projects to contribute and keep expanding my skills. I would be interested to contribute continuously if there is a project that piques my interest. If you have anything suitable projects that welcome new contributors feel free to share them in the comments. If you want to see my personal GitHub profile you can dm me.
Big-Rent1128@reddit
I just solo released a package called RPGNLP, it is a natural language processing engine which takes in user input and turns it into tokens that could be plugged into a game engine to perform actions based on raw English input. It has no contributors other than myself. It is on Pypi and from there you can find the GitHub link!!
bluepoison24@reddit
You may find https://github.com/vish-chan/AlgoFlow interesting. We're looking for Python contributors for the python engine.
Bach4Ants@reddit
Calkit is early stage and needs contributors! https://github.com/calkit/calkit
rachel_rig@reddit
I’d start with a library you already use and look for docs issues, flaky tests, or one annoying bug you can reproduce quickly. Sticking with a project gets a lot easier once you actually care about the thing you’re fixing.
CompetitiveAerie5904@reddit
Pick a project you already use — it’s easier to understand and contribute.
mmmboppe@reddit
port https://clonedigger.sourceforge.net/ to Python 3
ultrathink-art@reddit
For AI/data processing specifically, agent-cerebro on PyPI might be worth a look — it's a two-tier memory system for AI agents using markdown for hot state and SQLite + embeddings for long-term storage. Small codebase, actively maintained, and the problem space (persistent agent memory) is still relatively wide open for contributions.
TariqKhalaf@reddit
Honestly the best way I got into it was just fixing tiny annoyances in stuff I already use. Docs typos, small bugs, little UX things. Big repos look scary but they usually have good first issue labels if you dig a bit. Also kinda depends what you enjoy, I got bored fast trying random projects but stuck way longer when it was something I actually used daily.
Consistent_Voice_732@reddit
For data-focused contributions, smaller libraries like peti or csvkit are great-they’re simple to start with, and your changes have visible impact quickly
lewd_peaches@reddit
If you're looking to get into contributing, consider projects that handle data processing or scientific computing. NumPy and Pandas are obvious choices, but they're also massive and can be daunting to start with.
A slightly less overwhelming, but still valuable, area is tooling around distributed computing. I've spent a lot of time wrestling with scaling Python workloads for AI/ML and the frameworks are often the bottleneck. Look at projects that help orchestrate tasks across multiple machines or GPUs. The challenges in that space are real and contributions can make a huge difference for people running serious jobs.
Team_Of_Writers@reddit
I've just started working in this space a bit more for my work. Where would you say some of the problem areas are? Memory management, internode communication, data pipelines?
I've only really started using things like polars and dask across distributed jobs, I've also looked at some of NVIDIAs drop in libraries for GPU accelerated pandas, but I'm trying to become more familiar with the internal limitations of some of these tools systems.
Aggressive_Pay2172@reddit
instead of searching randomly, try this:
use a library you already use → go to its repo → check issues
way easier to contribute when you understand the context
Punk_Saint@reddit
Mine on github its called Harmoni, its a spotify download tool that needs lots of UI stuff and some small integrations with public sources.
https://github.com/Ssenseii/harmoni
Effective-Chip-3625@reddit
Honestly, the best way to start is to find a tool you already use regularly and fix something that annoys you. Use a library at work? Check its GitHub issues. Found a small bug? Try to fix it. That's way more sustainable than picking a random project
SoloAquiParaHablar@reddit
This is what I do. Lets say you like using FastAPI or Flask, as an example.
Build your own Flask framework. As is, learn how to build an API framework from scratch, add all the features you'd expect. Do it all on your own, do not copy from other repos. Ask AI for guidance but dont have it solve problems for you.
This gives you the foundation and context.
Now you can go look at the FastAPI repo and see how they implemented the things you implemented. Now you can actually contribute, maybe you found a better way, maybe you can see a bug.
manikk69@reddit (OP)
Good idea, thanks!
skoink@reddit
Help to improve something that you use frequently. Your goal should not be "do some open source" - it should be "fix thing X that's been irritating me for a while"
alex7885@reddit
I agree with what people have said. Most repos are open for contributions, so you can filter yourself first and choose a tech stack you like. Maybe check for ones with active maintainers or early project, I have been contributing in a larger one where it takes weeks for a simple change. If you like code analysis and diagram visualizations, you can check out what we are building on github, it's called CodeBoarding
ThiefMaster@reddit
Contribute to something you use or that's useful to you. Much better motivation than contributing just for the sake of contributing...
manikk69@reddit (OP)
Yes I agree with that, but maybe it would be easier to find some smaller projects as a starting point.
ThiefMaster@reddit
You could also start your own project and put that on GitHub.
max123246@reddit
Also it's typically helpful to use the tool for a while and start interacting with the community. The first time you talk to a maintainer or seasoned contributor should not be when you publish the code for review. You should already have asked around in their discord/zulip/etc and maybe even published a plugin if they support that in their ecosystem
GunZinn@reddit
Most projects accept contributions… at least ad far as I’ve seen myself. While I don’t work full time with Python, I try to contribute back to the libraries I use.
But for anyone giving you ideas for projects to contribute to, it may help to share what your interests are? Web development? Hardware related stuff? UI stuff? Data processing? Machine learning? Something else?
manikk69@reddit (OP)
Yes I agree, I updated my post a bit. Thanks!
Chunky_cold_mandala@reddit
Just search the web and ask some llms for ideas on what would be a good match and also ask about structure some places are more top down than bottom up. With a lil bit of time, I'm sure you'll find something really interesting!! Do you want to be part of a small team or a big team, do you want to be the person responsible for a small corner mostly by yourself or cowork on a file with a team where the file is different every time you log on?
manikk69@reddit (OP)
Thanks for the advice!
b3n4kh@reddit
A defensive OSINT tool I‘m developing if this is something that could interest you : https://github.com/taranis-ai/taranis-ai
manikk69@reddit (OP)
Thanks I will check it out!
newswatantraparty@reddit
I am working to build a scalable ai agent framework ecosystem.
Lattice Aif: it consists of three components,
Shadow: A protocol/framework to create, download, serve and manage agents/MCP servers.
Lattice-ui: typescript react application for web/desktop application as an actual production ui interface with the engine.
https://github.com/trellisAI/lattice-aif
Mindless_Anxiety_245@reddit
Interesting architecture — the separation between engine and CLI client makes sense
for scalability. How are you handling the orchestration between agents?
Is the engine doing the routing, or is that left to the individual agents?
I've been building something that approaches the problem from the other direction —
less framework, more opinionated terminal tool. Same core idea though:
specialist agents per task, local model backend.
https://github.com/suebi76/local-cli-agent
Would be curious how Lattice handles multi-step plans where each step
needs a different "persona". That's the part that took me the longest to get right.
keithcu@reddit
Here's a project I'm working on, chat with an LLM and edit your document in LibreOffice: https://github.com/KeithCu/writeragent