unexpectedpanda / retool

Retool: a better filter tool for Redump and No-Intro DAT files.
BSD 3-Clause "New" or "Revised" License
354 stars 23 forks source link

PIP Package #303

Closed maxexcloo closed 3 months ago

maxexcloo commented 7 months ago

Describe the bug Wondering if there's any chance of publishing a package on pip so that I can simply pip install retool to download the tool :)

Expected behavior Would download the latest version and add it to the PATH, also adding dependencies.

unexpectedpanda commented 7 months ago

I think this might require some dramatic restructuring. I'll try to keep it in mind as I slowly build out unit and integration tests, but it's not something on my radar in the short term.

maxexcloo commented 7 months ago

Happy to take a look at this as it seems this can be done using GitHub Actions - https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python

unexpectedpanda commented 7 months ago

I'm currently working on integrating Hatch as a linting, testing, and building framework on my local, with the idea of eventually getting it into GitHub Actions for easier contribution. Ultimately I imagine that would be part of a package workflow as well.

From a package perspective I'm not sure how much restructuring of Retool itself has to be done. Ultimately I'd want to manage the tokens/project for PyPI, so there'd have to be collaboration there.

If you want to get a start on building some Actions, happy to look at PRs, with the caveat that it might take me a little time to understand what's happening in said PRs.

As an aside, I notice you've also built a Docker container for Retool -- my work on #255 stalled as it required learning a new ecosystem, and I was struggling a bit with making muggsyd's user permissions work (for some reason the commands didn't exist) and not being able to test against the originally requested ARM64 hardware for peace of mind.

Looking at the fuss people have to go through to install Retool in a Docker container, perhaps package + Docker image are complementary tasks?

Edit: there's also this RomVault Docker image that apparently allows VNC so you can use the GUI. Madness, but it was a path I was considering.

maxexcloo commented 7 months ago

I’d say a Docker image with VNC and just a plain Docker image cli CLI could be different things - personally I used the GUI to configure but past that I didn’t use it. My image is pretty clean so I’m happy to open a PR and tweak it a bit more :)

maxexcloo commented 7 months ago

To add another guide I found that might help: https://packaging.python.org/en/latest/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/