r/PythonProjects2

Made my first Python project!
▲ 86 r/PythonProjects2+1 crossposts

Made my first Python project!

This is my first actual real project, what started as a simple python exercise to learn about dictionaries in python, ended up into a huge learning project for me. Im a beginner in python, used to code but just basic input print codes… some are genuinely stupid.

I took on the challenge to self educate my self python. And this is where i currently am! Im proud of what i did and it will surely expand!

Here the repo with the project. Feel free to check it out!
https://github.com/Stonyax97/MiniGameStore

It has everything from the first ever iteration (which was it self modified a bit since from the very original but it’s still very simple)
I would love for anyone to recommend ideas to add, criticism too. Or anything you think i should learn next for that would be genuinely useful!

u/Stonyax97 — 19 hours ago
▲ 39 r/PythonProjects2+1 crossposts

Area512 Now Supports MicroPython 🎉 (Release: v2.0)

Hi Reddit! I’m hamachang, an engineer from Japan! 😎

Area512, a FemtoRuby-based retro OS for the Cardputer (ADV/v1.1), now supports running and coding MicroPython apps!

https://github.com/engneer-hamachan/area512/releases/tag/v2.0

Ruby is still supported just like before, so Area512 now supports both FemtoRuby and MicroPython! ☀

It’s already been uploaded to M5Burner, so if you’re interested, please give it a try!

Here are a few things to keep in mind 💦

- Due to resource limitations, the device APIs available from MicroPython are Area512’s own custom APIs. In other words, the experience is quite different from regular MicroPython. 🥹

https://github.com/engneer-hamachan/area512/blob/main/MicroPython.md

- The binary size has increased quite a bit (3.6 MB → 4.2 MB)

- Type inference in the MicroPython IDE is a little heavier than in FemtoRuby

- There may still be some unstable parts, so if you run into any issues, please use a previous version or send me some feedback

That’s all!

And if you like the project, I’d really appreciate a star on GitHub! ⭐️

https://github.com/engneer-hamachan/area512

See you! 👋✨

u/AssociationOne800 — 2 days ago

I pulled 20k+ Czech apartment listings and made 7 ML models fight over the price

There are some interesting patterns in the data and a few results I definitely did not expect. I have put the analysis and visualizations together here. Have a look and let me know what you think or if there is anything you would approach differently.

github.com
u/noble_andre — 4 days ago

What are you building with Python right now?

I thought it would be interesting to see what everyone here is actually building with Python.

If you're working on a project, share it below or in r/PythonBuilders . It can be anything — an app, game, automation tool, library, SaaS, API, desktop app, or even a small experiment.

If you can, tell us:

  • What are you building?
  • What does it do?
  • How far along are you?
  • What's the biggest challenge you're dealing with right now?

It doesn't have to be finished or impressive. I'm more interested in seeing what people are working through and learning along the way.

What are you building?

reddit.com
u/Much-Associate-6141 — 5 days ago
▲ 17 r/PythonProjects2+1 crossposts

Built algomanim PyPI package for algorithm visualization

Check out algomanim — a Python library I built for visualizing classic CS and LeetCode algorithms.All of my visualizations are shared on my YouTube channel. Here is an example featuring Bubble Sort.

https://www.youtube.com/@benabub

u/benedict_abub — 5 days ago
▲ 1 r/PythonProjects2+1 crossposts

Project suggestions

So basically, I’m taking a python course, and my last session will be in two weeks, and I need to make a « final project », and I’d like to get some suggestions please 🙏🏻

reddit.com
u/Sarahaikyuu — 5 days ago
▲ 14 r/PythonProjects2+2 crossposts

Developing network-based multiplayer games made easy

Implementing network-based multiplayer games is a challenge. At the same time, game development has always been a popular choice among beginners.

For this reason I have developed a lightweight server and framework for turn-based multiplayer games. It was primarily designed for a programming course where students work on projects in small groups. However, the use of the server is not limited to educational scenarios.

  • Implementing clients is easy thanks to a user-friendly API.
  • Adding new games is accomplished by deriving from a base class and overriding its methods.

Here is a short demo of the API usage:

from game_server_api import GameServerAPI, IllegalMove

game = GameServerAPI(server='127.0.0.1', port=4711,
                     game='Yahtzee', session='mygame', players=3)

my_id = game.join()   # start/join a session
state = game.state()  # returns a dictionary

while not state['gameover']:
    # print game board here

    if my_id in state['current']: # my turn
        pos = None
        # read user input here

        try:
            game.move(position=pos) # perform a move (**kwargs)
        except IllegalMove as e:
            # something went wrong
    else:
        # opponent's turn

    state = game.state()

# end of game

It's open source: https://github.com/feberts/python-game-server

github.com
u/tio-fabi — 5 days ago
▲ 10 r/PythonProjects2+5 crossposts

Just released v0.4 of Hillock, a local neuro-symbolic memory engine for Ollama

Hey, just updated Hillock to v0.4. It's a local memory/RAG engine built to pair with Ollama without burning VRAM.

Instead of making LLM calls during doc parsing, it uses a CUDA tensor classification pipeline (GLiREL + MiniLM) to parse documents into SQLite SPO triples in ~5s. Query gating runs on CPU in <1ms using 10,000-D VSA vectors, so Ollama is only called when a query actually passes the gate.

v0.4 adds schema type constraints and fixes inverted relations. Whole thing stays under 1.2GB VRAM on a GTX 1070.

Repo: https://github.com/roandejager/Hillock

u/Equivalent-Flan-1590 — 7 days ago

Build a file organizer you would actually use

If you are learning Python through projects, I think a file organizer is a really good project to build early.

It is simple enough that you can get a working version without knowing advanced Python, but it also introduces the kind of problems that make a small script feel like actual automation rather than another syntax exercise.

The idea is straightforward.

Your Downloads folder probably looks something like this after a while:

resume.pdf
photo.png
expenses.csv
backup.zip
notes.txt
video.mp4

The script should look through those files and organize them automatically.

You might end up with:

Documents/
    resume.pdf
    notes.txt

Images/
    photo.png

Data/
    expenses.csv

Archives/
    backup.zip

Videos/
    video.mp4

The first version does not need to be complicated.

I would start by using pathlib to find the folder and inspect the files inside it.

from pathlib import Path

downloads = Path.home() / "Downloads"

for file in downloads.iterdir():
    if file.is_file():
        print(file.name)

That already gives you a useful starting point.

Now the program needs to decide what each file actually is.

One simple way is to create categories based on file extensions.

FILE_TYPES = {
    "Images": [".png", ".jpg", ".jpeg"],
    "Documents": [".pdf", ".txt", ".docx"],
    "Data": [".csv", ".json", ".xlsx"],
    "Archives": [".zip", ".rar"],
    "Videos": [".mp4", ".mov"]
}

Then get the extension of each file with:

extension = file.suffix.lower()

From there, you can compare the extension with your categories and decide where the file should go.

But I would not let the script move anything yet.

Make it print its decision first.

resume.pdf -&gt; Documents
photo.png -&gt; Images
expenses.csv -&gt; Data
backup.zip -&gt; Archives

I think this is one of the most useful habits you can learn from a small automation project.

Before your code changes real files, make sure you understand what it is about to do.

Once the classification logic works properly, you can create the destination folder if it does not already exist.

destination = downloads / category
destination.mkdir(exist_ok=True)

Then you can move the file.

For a simple version, Python's standard library gives you several ways to handle this. I would probably use shutil.move() once the project starts moving real files.

import shutil

shutil.move(str(file), str(destination / file.name))

At this point, you technically have a working file organizer.

But this is also where the project starts getting interesting.

Imagine Documents already contains a file called resume.pdf.

Should your script overwrite it?

Rename the new one?

Skip it?

Ask the user?

There is no single correct answer, but now you are making an actual software decision instead of following a tutorial.

The same thing happens with unknown file types.

Maybe somebody downloads a .psd file and you never created a category for it. You could ignore it, put it inside an Others folder, or allow the categories to be configured separately.

Then there is the biggest risk with this kind of project: accidentally moving files you did not intend to move.

That is why one of the first improvements I would add is a dry-run mode.

Instead of immediately changing the folder, the script could show:

Would move resume.pdf -&gt; Documents/
Would move photo.png -&gt; Images/
Would move backup.zip -&gt; Archives/

You review the result first, and only then allow the program to perform the moves.

Once that works, add logging. Record what was moved, where it came from, and where it went. Now you have enough information to eventually build an undo feature. That progression is what makes this a good beginner project. The first version teaches loops, dictionaries, conditions, file extensions and pathlib. The next version teaches file operations and folder creation. Then duplicate handling introduces edge cases. Dry-run mode introduces safer automation. Logging introduces observability. Undo support forces you to think about reversibility. You can start with 20 or 30 lines of Python and keep improving the same project as your skills improve.

I would build it roughly like this:

Version 1: Read the files and print their extensions.

Version 2: Classify each file into a category.

Version 3: Print where each file would be moved.

Version 4: Move the files.

Version 5: Handle duplicates and unknown extensions.

Version 6: Add dry-run mode and logging.

Version 7: Add undo support or turn it into a small CLI tool.

The important part is not building all seven versions immediately.

Build the smallest version first. Then use the problems you encounter to decide what to learn next. That is usually where a beginner project becomes much more useful than simply copying a finished script.

If you built this, what would you add after the basic file organizer worked?

reddit.com
u/yourclouddude — 6 days ago
▲ 79 r/PythonProjects2+1 crossposts

i made a simple python gif captcha project (Ducktcha)

hey guys so I built this small project called Ducktcha basically it generates animated gif captchas in python to stop basic bots and ocr scrapers. it has a flask api built in with 2 endpoints or u can just import the engine directly into ur script and use it with memory store. made it pretty lightweight with simple dependencies. heres the github link if anyone wants to check it out or give feedback https://github.com/Duckdevv/Ducktcha

u/sankilo_dev — 11 days ago
▲ 10 r/PythonProjects2+2 crossposts

PyBlocks

Need 20 testers for MyApplication PyBlocks .

PyBlocks is a game-like Android app for learning Python through interactive coding blocks, covering basics, data structures, algorithms, and object-oriented programming.

Please install it, try a few lessons/challenges, and share any feedback on usability, bugs, content, or overall learning experience. Thank you!

Join Group : https://groups.google.com/g/skilltesters

Become a Tester : https://play.google.com/apps/testing/app.learn.pyblocks

Download the App: https://play.google.com/store/apps/details?id=app.learn.pyblocks

u/LearnSkills5 — 8 days ago
▲ 10 r/PythonProjects2+5 crossposts

I built NetGuard: A Hybrid Network IDS/IPS Telegram Bot using Python &amp; Scapy

🛡️ NetGuard: A Hybrid Network IDS/IPS Telegram Bot (Built with Python & Scapy)

I'm excited to share my very first fully deployed open-source project: NetGuard!

🎓 Background & Purpose

This project originally started as the foundation of my university graduation project. Recognizing its potential for real-world application, I decided to refactor, upgrade, and release it to the community.

Whether you are a student in Cybersecurity / Computer Networks looking for a solid base to learn from and modify, or an enthusiast who needs a lightweight, ready-to-use monitoring tool, this repository is designed for you! Feel free to fork it, adapt it for your own research, or use it as-is.

⚡ What is NetGuard?

NetGuard is a Headless, Threaded Python-based Network Intrusion Detection & Prevention System (IDS/IPS) integrated with an interactive Telegram Command Center and n8n Workflow automation capabilities.

🌟 Key Features:

• 🔍 Auto Gateway Detection: Automatically binds to your active network adapter and local subnet.

• 📱 Subnet Scanner: Scans connected devices using ARP requests.

• 🌐 DNS Traffic Monitoring (IDS): Sniffs UDP 53 packets in real-time to log active domains and flag suspicious traffic.

• ⛔ Targeted ARP Isolation (IPS): Block or isolate unauthorized devices dynamically using inline Telegram buttons.

• 🤖 Remote Telegram Interface: Get immediate alert notifications on your phone and run management commands on the fly.

• 🔄 n8n Integration Ready: Built to trigger custom webhooks and automate security workflows seamlessly.

⚠️ Important Usage Notes:

• 🔐 Administrator Privileges Required: Because NetGuard interacts directly with network sockets via Scapy (for packet sniffing and ARP frame manipulation), you must run the script with Administrator / Elevated privileges:

python IDS-IPS.py

• 🏠 Local Network Scope (LAN Only): NetGuard relies on Layer-2 ARP mechanisms for discovery and isolation. It is designed specifically for Home, Small Office, or Single-Subnet (SOHO) local networks, rather than complex enterprise-routed environments.

💻 Tech Stack

• Language: Python 3.x

• Core Libraries: Scapy, pyTelegramBotAPI, Requests

• Integrations: Telegram Bot API, n8n Automation Ready

🔗 Source Code & Contribution

The repository is completely open-source. I’d love to hear your feedback, suggestions, or bug reports!

👉 GitHub Repository: https://github.com/Hasan-devolp/Netguard-IDS-IPS

(If you find this project helpful for your studies or work, leaving a ⭐️ on GitHub would be greatly appreciated!)

#Python #Cybersecurity #NetworkSecurity #OpenSource #GitHub #TelegramBot #PythonProgramming #InfoSec #NetworkEngineering #NetGuard #IDS #IPS #EthicalHacking #n8n #Automation #Coding #SoftwareEngineering #TechProjects

u/hasan_naser — 10 days ago

Built a Python framework to automate authentication testing for JavaScript-based Dahua DVR logins. Looking for feedback

Hi everyone,

I'm a 15-year-old student from Morocco who's been learning Python and cybersecurity over the past year.

While experimenting in an authorized environment, I discovered that traditional tools such as Hydra couldn't interact with a Dahua DVR's JavaScript-based login page. Instead of giving up, I decided to build my own Python framework using Selenium to automate browser-driven authentication testing.

The project is called RedaForce.

GitHub: https://github\\\[.\\\]com/REDA-MAH/RedaForce

I'm not posting this to ask for stars. I'd genuinely appreciate technical feedback on:

Code quality and project structure

README and documentation

Python best practices

Repository organization

Features you think would make the project more useful

I'm still learning, so I'm especially interested in constructive criticism from more experienced developers.

Thanks for taking the time to look!

reddit.com
u/uknown67789 — 13 days ago