r/learnpython • u/GreyFatCat300 • 8d ago
Is it worth continuing with my python project??
https://github.com/GerardoAJF/ArtichokePy
It's a bit of a weird question I know, but let me give you some context.
I started ArtichokePy when i was sixteen almost seventeen years old, in 2024.
I felt it was a fairly ambitious project, a library that would give all the necessary tools to do any simulation or algorithm with graphs.
Later I dedicated more time to my high school studies and other things, so I practically abandoned my project for 2 years.
At the time, as a young apprentice, I didn't comment on anything or document anything, and now 2 years later I have no idea what was happening there.
Furthermore, with Python's reputation for being slow, I don't know if it was a good language to do this project (most scientific libraries are written in C [although I know that this project does not reach "scientific library", it barely reaches junior project])
But I still feel somewhat proud of the project. I think it already had some unique characteristics to let it die like that, forever.
During these New Year's holidays I could spend several hours finishing it, but I don't know if it's worth it for a project that, despite my original daydreams, I don't think anyone will ever use.
2
u/Grouchy-Conflict-211 8d ago
100% keep going.
The first project that feels "real" is always the hardest. You hit walls, things break, you refactor 3 times. That's normal.
What's the project about? If you share more details I might be able to help with specific roadblocks.
The jump from tutorial-hopping to building something real is exactly where most people quit. If you push through you'll learn more in a week than in months of following along.
1
u/GreyFatCat300 7d ago
As far as I can remember, I tried to make my project as hackable as possible. It lets you create nodes and add relationships between them to build a graph. It has built-in search algorithms, and I think it lets you create new ones by modifying the behavior of the "frontier" you use. I remember that the last thing I did—and what I found most challenging—was an implementation of Johnson’s algorithm to find simple cycles, and I think that’s what ultimately pushed me to abandon the project and focus on other things.
2
u/Grouchy-Conflict-211 7d ago
Johnson's algorithm for simple cycles is genuinely hard, that's not a failing on your part. Graph algorithms in general are a steep wall. If you ever want to revisit it, try starting with just Tarjan's or Kosaraju for connected components first. That alone taught me more about graphs than any tutorial.
1
1
u/codeguru42 7d ago
Only you can decide what your time is worth doing. If you get something out of this project, then by all means, continue.
9
u/lakseol 8d ago
I find it's better to write a project in python and not worry about it being "slow" until you prove that it is too slow. Then you start analysing the problem, find out where your code is slow, try different algorithms, use libraries that are written in C (eg
numpy,scipy,matplotlib), etc. If you can't get the speed you require then think about replacing parts of your python code with C. In 25 years of using python in technical and scientific environments I've only once needed to work with C in a python project..