Skip to content

Comments

Python cleanups and Github Workflows#1

Open
danudey wants to merge 16 commits intozmarotrix:mainfrom
danudey:main
Open

Python cleanups and Github Workflows#1
danudey wants to merge 16 commits intozmarotrix:mainfrom
danudey:main

Conversation

@danudey
Copy link

@danudey danudey commented Jul 1, 2025

Hey, I found this tool on Nexus Mods and wanted to check it out, seems very cool. I'm very impressed at how nice it looks and works right out of the gate.

I'm a build/release engineer for a tech company and I've been playing with Github workflows lately, so I wanted to test out some stuff and this project was a great opportunity for me to try new things from a blank slate. When I was done, I figured I'd open a pull request in case you're interested in any/all of what I was experimenting with; I won't be offended if you're not interested in some/all of this though.

Changes:

  1. I used ruff, an extremely fast linter, to find any code-related issues and fix them; the only thing it really complained about was having multiple statements on the same line, which isn't very pythonic, so I fixed that up a bit.
  2. I used black to reformat the Python code also; it's very opinionated but it makes it easy to stay consistent.
  3. I made the repository a Python project using uv; uv kind of wraps up a lot of functionality, including replacing pip, pipx, venv, and a lot of other tools. In this case, simply doing uv sync will download the correct version of Python for your platform (if you don't have it already), download all the dependencies, install them all into a new virtual environment, and boom. You can add more dependencies with uv add <packagename> pretty easily.
  4. I committed the main.spec file that pyinstaller created so that people don't need to type or remember the command-line arguments to build the application.
  5. I created a Github workflow to run ruff on every commit or PR to main, and also run pyinstaller main.spec to ensure that nothing has broken executable building.
  6. I also created a Github workflow to build the Windows executable, create a new Github release, and publish the executable to the release; this is triggered whenever a tag is committed. You can see an example here but it's not interesting.

Like I said, if you don't care about any of this it's no problem, I did this for me more than anything so you can just close the PR and be done with it. That said, if you only want parts of this I can chop this down a lot and create separate PRs for everything.

@zmarotrix
Copy link
Owner

I'm not sure why I never saw a notification for this, but I'm interested. I'm going to take a look now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants