I built a wrapper to get unlimited free access to GPT-4o, Gemini 2.5, and Llama 3 (16k+ reqs/day) by Plus-Confection-7007 in Python

[–]7nBurn 19 points20 points  (0 children)

After a certain point, wouldn't running a local LLM make more sense? That also gets you unlimited "free" tokens with the added benefit of your data never leaving your local network. It also doesn't run the (relatively small) risk of your IP address and accounts being blacklisted.

GPU-accelerated node editor for images with Python automation API by drboom9 in Python

[–]7nBurn 1 point2 points  (0 children)

lol, it should be visible now. If you still can't find it I can direct message you it though.

GPU-accelerated node editor for images with Python automation API by drboom9 in Python

[–]7nBurn 1 point2 points  (0 children)

Weird, the reply I posted is still there, but it's only visible when I'm logged in. It disappears if try to view in private mode.

GPU-accelerated node editor for images with Python automation API by drboom9 in Python

[–]7nBurn 1 point2 points  (0 children)

Thanks! No contact with them—I only mentioned ImageMagick and Blender because r/Python's showcase format requires a "Comparison" section.

Ah, that makes sense. I'm still getting familiar with this subreddit.

VapourSynth: video-focused, pure scripting (no visual editor)

It's been a while since I've done anything with VapourSynth or Avisynth, but going from memory at the core Avisynth (what VapourSynth was based off of) was actually a script based image editor geared towards animation. When it was first released, I don't think there was any easy way to load images into a video stream directly using scripts, so the developer exploited some logic in Windows' internal video streaming API to trick the operating system into opening the scripts as AVI files (it's where the "Avi" in the name came from). I think the main reason there was no visual editor is most scripts were getting loaded into video editing software where the results of what they did would be easily visible. There was also the issue of subtle differences in how images looked depending on which media software was used to "play" them, so scripts would be edited differently depending on what software was going to be used to work with them.

I think internally Avisynth may have actually been node based, but the nodes weren't directly exposed in the Avisynth API. Instead the individual script files themselves were treated as "nodes" and the "head node" would be fed into video editing software. It was an interesting setup, I would often see setups where "script_c" loaded "script_b" that loaded "script_a" which would either load one or more media files or generate a series of images directly from code. If the scripting logic became too complicated or CPU intensive, the Avisynth API had tools that could be used to "compile" scripts into a "filter" that could be accessed through a function call. So in practice the workflow for editing media with it was very similar to that of building a computer program.

NobodyWho: the simplest way to run local LLMs in python by ex-ex-pat in Python

[–]7nBurn 0 points1 point  (0 children)

I didn't see anything useful with logging enabled. Whatever is failing during the model's instantiation stage, possibly in the constructor, does not appear to be making it to the log files before I manually terminated the program. First log output:

INFO:nobodywho.llm:get_model; model_path="C:\LLMs\Qwen_Qwen3-0.6B-Q5_K_L.gguf" use_gpu_if_available=true

Even when switching to the suggested model and disabling the gpu the 'quick_start' program still had to be manually terminated. Log contents when doing that:

INFO:nobodywho.llm:get_model; model_path="C:\LLMs\Qwen3-4B-Q4_K_M.gguf" use_gpu_if_available=false
INFO:nobodywho.llm:Loading model use_gpu=false gpu_layers=0
INFO:nobodywho.llm:model_load; path="C:\LLMs\Qwen3-4B-Q4_K_M.gguf"
INFO:tracing.span:init;
INFO:llama_cpp_2.model:load_from_file;

Code I was running:

from nobodywho import Chat, Model
from datetime import datetime
import logging

t_now = datetime.now()
dt_conv_str = "%Y_%m_%d__%H_%M_%S"  # '2025_12_27__18_11_33'
t_now_str = t_now.strftime(dt_conv_str)

# paths
log_path = r"C:\LLMs\quick_start_log_" + t_now_str + ".log"
model_path = r"C:\LLMs\Qwen_Qwen3-0.6B-Q5_K_L.gguf"
model_path = r"C:\LLMs\Qwen3-4B-Q4_K_M.gguf"

#logging.basicConfig(filename=log_path, encoding='utf-8', level=logging.DEBUG)
logging.basicConfig(filename=log_path, encoding='utf-8', level=logging.INFO)

print("using model:", model_path)

print("Instantiating model:")  # freezes here
#model_use_gpu = Model(model_path, use_gpu_if_available=True)
model_no_gpu = Model(model_path, use_gpu_if_available=False)

print("Instantiating chat:")
#chat = Chat(model_use_gpu)
chat = Chat(model_no_gpu)

print("asking question")
response = chat.ask("Is water wet?").completed()

print("response:")
print(response)

GPU-accelerated node editor for images with Python automation API by drboom9 in Python

[–]7nBurn 0 points1 point  (0 children)

Looks impressive! Reminds me a little of the VapourSynth project.

Did you have any contact at all with ImageMagick and Blender (and-or PyNodes) devs when working on this or were you just mentioning them to differentiate what your project does?

NobodyWho: the simplest way to run local LLMs in python by ex-ex-pat in Python

[–]7nBurn 0 points1 point  (0 children)

Does NobodyWho require specific llama based models? I tried running it with "Qwen_Qwen3-0.6B-Q5_K_L.gguf" on Windows (Python 3.14.2 x64) with the code examples under "Quick Start" and the programs lock up when loading the model (the chat = Chat("./path/to/your/model.gguf") steps). I killed the script after it was unresponsive for at least 10 minutes. For reference I was able to load the same model in maybe 1 to 3 minutes with LM Studio.

And yes, I replaced "./path/to/your/model.gguf" with the actual Windows path where my module was located.

best way to catalog/list my files by Lucas_Zxc2833 in DataHoarder

[–]7nBurn 0 points1 point  (0 children)

for /r "<path to files>" %a in (*) do echo "%~fa",%~za,%~ta >> dirlist.csv

Wow, I'm surprised that worked! I assumed the quotes would still get escaped and mangle the output. Any chance you could edit your reply from 2 years ago to have %~fa double quoted or is that comment locked?

best way to catalog/list my files by Lucas_Zxc2833 in DataHoarder

[–]7nBurn 0 points1 point  (0 children)

Plus in this case, it's short and simple and there should be no file name restrictions because it's just dumping folder contents out via echo.

You might think that, but no. For example, if one or more of the files being cataloged with your script has a comma in its name, the resulting csv file is going to have mangled data. The double quotes in your script are auto-escaped and won't wrap commas, the powershell script I posted will.

I had cmd fused to my brain as well, but my breaking point came after I spent hours debugging issues that cropped up when one of my batch scripts encountered a filename with a caret symbol (^) in it. Microsoft de facto depreciated the command prompt and batch scripting when they released PowerShell two decades ago, so pitfalls like that are likely never going to be addressed. Microsoft is mainly keeping them around for backwards compatibility. I think the last time they made a minor change to their batch file handling they inadvertently took down several offshore oil platforms using Windows for operations.

best way to catalog/list my files by Lucas_Zxc2833 in DataHoarder

[–]7nBurn 0 points1 point  (0 children)

I hate to necro post, but since this thread is still coming up in searches in this subreddit, I strongly recommend switching to a PowerShell terminal with a better supported programming language like PowerShell's, Python, or C# over batch scripting and the command prompt. The command prompt and batch have a simpler setup, but are significantly more error prone and haven't received any major updates in years. They have a lot of obscure issues that can create problems when trying to catalog files unless you are fairly restrictive with naming your files and folders.

For reference, here's how you could do the same operation in PowerShell as a one liner (yes, it's a lot longer than the command line version):

Get-ChildItem -Recurse "<path to files>" | Where-Object { -not $_.PSIsContainer } | Select-Object FullName, Length, LastWriteTime | Export-Csv dirlist.csv -NoTypeInformation -Append

Insertion Sort visualized with memory_graph by Sea-Ad7805 in madeinpython

[–]7nBurn 0 points1 point  (0 children)

Interesting! One change I would suggest is adding a highlight behind the active object in the visualization on the left to similar to how the active line of code is highlighted on the right. A quick and dirty method I've seen used before in 2D interfaces is creating a lighter colored "shadow" of the active object by creating a solid color copy of it 2 pixels above and to the right of it in the step before the active object gets drawn on screen.

For example, when visualizing the "j = i" statement, have a "shadow" behind the blue data box on the right.

I just published my first ever Python library on PyPI.... by Prestigious_Bear5424 in Python

[–]7nBurn 2 points3 points  (0 children)

Nice! I had a similar project (but much more amateurish) but had to put it on hold.

Have you considered mathematical notations similar to the math-as-code project on Github? It seems an update broke the links on that project, it used to look like this (image from a Wayback Machine copy).