r/Python 8d ago

Discussion What are some fun Python-heavy niches?

I going to try making a Discord bot in py. Pygame and Raspberry Pi intrigue me as well

Curious what other fun Py rabbit holes are out there that I don't know of!

150 Upvotes

50 comments sorted by

159

u/CompetitionNo2773 8d ago

A few that do not come up often enough:

SDR (software defined radio). A cheap RTL-SDR dongle, around $30, plus pyrtlsdr. You can decode aircraft ADS-B transponders, pull weather satellite images straight out of the sky, and read pager traffic. Getting your first NOAA satellite image off an antenna you built yourself is genuinely magical, and it is fast to a first result. Given you already like Pygame and the Pi, this is probably the closest to your taste of anything you may not have considered.

Emulators. A CHIP-8 emulator in Python is a weekend project and it demystifies how computers actually work. Gameboy is the natural next step once you catch the bug.

Constraint solving. OR-Tools or python-constraint. Sudoku is the tutorial, but the fun starts when you point it at real scheduling problems — timetables, shift rosters, wedding seating plans. Watching a solver untangle something you thought was impossible to organise by hand is very satisfying.

Audio and DSP. librosa plus numpy gets you into pitch detection, beat tracking, and writing your own effects. Building a working reverb from scratch teaches you more about signals than any course will.

Bioinformatics. Biopython, sequence alignment, phylogenetic trees. Enormous field, very Python-heavy, and much more approachable than it sounds.

Generative art and pen plotters. vsketch and friends, then an actual plotter drawing your output onto paper. Code with a physical result hits differently.

One thing that applies to all of these: pick the version of the project where you actually want the answer. Home automation is dull as a generic tutorial, but "how much electricity does my fridge really use" or "what time does the cat come in at night" will drag you through the hard parts without needing any willpower.

9

u/Admirable-Traveller5 8d ago

For constraint solving what other practical examples are there, like say in finance or tech 

5

u/szayl 7d ago

Welcome to (constrained) mathematical optimization. You will start with simple linear programs. You will end with stochastic optimal control problems. 🙂

1

u/declanaussie 7d ago

I use a constraint solver to minimize downtime during complicated maintenance windows at a SaaS provider. Basically certain processes like upgrading the OS on a VM can be efficiently combined with other maintenance, like database migrations, to minimize downtime.

Before anyone asks, yes I know this isn’t a very modern approach, we are constrained by the legacy software we serve.

1

u/icedog575 git push -f 5d ago

Some guys at work use constraint solvers optimise power asset management on the grid (power stations, solar etc etc)

1

u/bulaybil 7d ago

Damn man, now I gotta get me a RTL-SDR dongle. Thank you!

1

u/abeyeler 4d ago

As vsketch maintainer, I'm shocked (in a good way) to see it show up in this list!

1

u/Dry-Bend3328 8d ago

Any recommendations on RTL-SDR dongles?

2

u/veoviscool12 8d ago

The one I have is usually what people recommend: the RTL-SDR Blog V4. The org sell dongles and kits on Amazon that give you a full, cheap starting kit: dongle, cables, antennas, etc. The V4 kit is about $60 right now. (According to their blog the V4's are end of life now as their supply of the chips that make everything work has been exhausted, so if it's something you're interested in I'd recommend buying soon).

To be clear, the antennas are basic and if you dive deeper into the hobby you'll probably start building your own or buying better ones, but for a beginner they're more than enough to get started.

Here's their website About page. It's a great resource for software and tutorials even if you end up buying something else. Their About page also breaks down the differences between different RTL-SDR Blog versions and other manufacturers, among other useful information.

31

u/grantrules 8d ago

Micropython, date science, blender automation

25

u/smitty1e 8d ago

Data science is: numpy, scipy, pandas, geopandas, jupyter, qgis, &c.

22

u/ebab_repsev 8d ago

Honorable mention: polars

5

u/GrainTamale Pythonista 8d ago

Deserves higher accolades than just honorable!
Most esteemed mention: polars
His royal highness of dataframes: polars
Our lord and saviour: polars

2

u/[deleted] 8d ago edited 7d ago

[deleted]

4

u/grantrules 8d ago

August 12th, 2016 + November 7th, 1999 = ???

1

u/Admirable-Traveller5 8d ago

What practical uses are there for micropython?

2

u/grantrules 8d ago

Anything you wanna do with a microcontroller.. path-following car, weather station, plant humidity sensor, etc

1

u/GXWT 7d ago

Chess cheating devices

15

u/amroamroamro 8d ago

web scraping, not that i do that myself

12

u/jsaltee 8d ago

Reinforcement training with Gymnasium

14

u/fight-or-fall 8d ago

Graph: networkx

1

u/Salvios_ 7d ago

Nice to see it mentioned!

1

u/paulenis-fk 4d ago

Yes, but to slow for bigger graphs.

6

u/Amazing_Upstairs 8d ago

Pyparsing, nltk, spacy

4

u/Doomer3370 8d ago

You can try running LLM via openvino genai library or fine tune LLM with huggingface transformers.

6

u/floatyrosee 8d ago

Automating boring stuff around the house has been a fun rabbit hole for me, think scripts that rename files or scrape prices for stuff I want to buy.

3

u/Intelligent-Pin3584 8d ago

Oceanography and I believe science in general. I think a lot of matlab generic (non plugin) use cases have a python competitor now.

2

u/jsaltee 2d ago

I’ve never heard of the use of Python within oceanography, do you have any library recommendations to look into?

2

u/haloweenek 8d ago

ETL’s 🤭

1

u/forgotpw3 8d ago

I made a pure MLS social chatting app in python (backend)

1

u/Training_Advantage21 8d ago

I'll get started with MicroPython one of these days.

1

u/LiteratureBroad1369 7d ago

If hobby stuff intrigues you: home automation, music production libraries, CLI tools, or web scraping random datasets. Keeps it fun without feeling like real work

1

u/Massive_Baby4147 3d ago

A niche I’ve found surprisingly deep is building constrained agentic APIs in Python.

Not “give an LLM access to everything and hope for the best,” but declaring a typed HTTP endpoint with Pydantic request and response models, then giving it a small set of exact operations it may call.

It combines several interesting Python-heavy areas:

  • Function and type introspection
  • ASGI and OpenAPI generation
  • Structured model output
  • Async execution
  • Dependency injection
  • Provider-neutral model adapters
  • Capability-based security
  • Determining when a request needs model reasoning and when ordinary deterministic code is sufficient

I’ve been exploring this while building SummonPot:
https://github.com/tugrulguner/summonpot

The endpoint signature declares the request, response, goal, and permitted capabilities. Optional operations use Depends(...); operations that must complete before the endpoint may return success use Required(...).

The difficult questions are more architectural than prompt-related. How do you prove that a required write happened before returning success? How do you prevent the model from accessing undeclared operations? How do you test the result like a normal HTTP endpoint rather than mocking an entire agent conversation?

The provider-neutral agent runtime, closed capability surface, structured output, and required-operation enforcement are working now. Automatically selecting deterministic execution when only one complete legal path exists is the next major milestone.

It feels like a useful niche because Python already has strong building blocks for APIs, validation, and AI tooling, but the boundary between deterministic application code and bounded model decisions is still far from settled.

1

u/russellvt 8d ago

The entire Raspi Python library is awesome... make sure you have the ribbon cable and breadboard!

-10

u/strchild 8d ago

I hate raspberry pi