Have you considered developing an official package manager?

Propose new features and changes
Descolada
Posts: 1494
Joined: 23 Dec 2021, 02:30

Re: Have you considered developing an official package manager?

Post by Descolada » 26 Sep 2024, 17:24

I've also decided to try my hand at a package manager and the result is Aris: AutoHotkey Repository Install System. Downloadable at GitHub. It's still in early alpha phase and if it ever gets out of alpha I'll "officially" publish it in the scripts section, but for now I am open to suggestions and criticisms as breaking changes are still possible. Currently only local installs are possible, global installs are in the roadmap (the full current roadmap is at the end of the GitHub page).
Please note that it's still very buggy, but I don't want to waste too much time on it if it turns out there need to be major changes.

The name of the package manager is also still open.

EDIT: because apparently "Snap" is also a package manager in Linux, I have renamed the library to Aris.
Last edited by Descolada on 27 Sep 2024, 04:45, edited 1 time in total.

User avatar
markwiemer
Posts: 22
Joined: 13 Mar 2023, 23:59
Contact:

Re: Have you considered developing an official package manager?

Post by markwiemer » 26 Sep 2024, 19:59

Love the name, congrats on hitting top of search results for "snap autohotkey" as well :D I'm still chipping away at AHK++ fixes but I think something like this could be super valuable. I wouldn't spend too much time on the forums install though, that sounds like a mess to maintain and really low value for a package manager setup.
Maintainer of AHK++ 🤓 markwiemer.com

Descolada
Posts: 1494
Joined: 23 Dec 2021, 02:30

Re: Have you considered developing an official package manager?

Post by Descolada » 27 Sep 2024, 00:18

@markwiemer thanks for the feedback! While I agree that the forums install is messy, are there better alternatives? It is hosting some valuable libraries such as FindText which very much should be available via the package manager. Hoping all creators switch to GitHub (or decide to keep their lib uptodate in some conglomerate repo such as the one Ixiko has created) is a dream, which I don't see happening soon. If I were to create a GitHub repo to upload the libs to, then someone (probably me) would need to maintain it. Manually it would be a lot of work, and if automated then it'd be no better than downloading directly from the forums.

User avatar
joedf
Posts: 9161
Joined: 29 Sep 2013, 17:08
Location: Canada
Contact:

Re: Have you considered developing an official package manager?

Post by joedf » 27 Sep 2024, 07:48

My suggestion is for libraries that dont have a repo from the forums can be posted in something like a "ForumLibs " repo under the org ahkscript. You'll have the benefit of multiple existing users to help maintain, add, removes repos, with authors' permissions when available or possible.
Image Image Image Image Image
Windows 10 x64 Professional, Intel i5-8500, NVIDIA GTX 1060 6GB, 2x16GB Kingston FURY Beast - DDR4 3200 MHz | [About Me] | [About the AHK Foundation] | [Courses on AutoHotkey]
[ASPDM - StdLib Distribution] | [Qonsole - Quake-like console emulator] | [LibCon - Autohotkey Console Library]

Descolada
Posts: 1494
Joined: 23 Dec 2021, 02:30

Re: Have you considered developing an official package manager?

Post by Descolada » 27 Sep 2024, 12:26

@joedf that repo could (should??) exist even without a package manager, as the past has shown that the forums may be unexpectedly inaccessible for periods of time and GitHub would be a good place to backup some useful libraries for such occasions. I propose the name "ScriptHub" or "AutoHotkey-Script-Repository". Aris doesn't even need to be modified to support that since downloading single files from GitHub is already supported and the only thing needed would be to change the repository location in index.json.

User avatar
joedf
Posts: 9161
Joined: 29 Sep 2013, 17:08
Location: Canada
Contact:

Re: Have you considered developing an official package manager?

Post by joedf » 27 Sep 2024, 13:27

I agree. We do have unexpected downtime, and it's good to not put "all our eggs in one basket". :+1: GitHub is owned by Microsoft and I doubt it will ever go down, that is at least less often than our servers. :mrgreen:
If you want, I can go ahead a create: https://github.com/ahkscript/aris-ScriptHub
or something of the sort.
Image Image Image Image Image
Windows 10 x64 Professional, Intel i5-8500, NVIDIA GTX 1060 6GB, 2x16GB Kingston FURY Beast - DDR4 3200 MHz | [About Me] | [About the AHK Foundation] | [Courses on AutoHotkey]
[ASPDM - StdLib Distribution] | [Qonsole - Quake-like console emulator] | [LibCon - Autohotkey Console Library]

User avatar
markwiemer
Posts: 22
Joined: 13 Mar 2023, 23:59
Contact:

Re: Have you considered developing an official package manager?

Post by markwiemer » 27 Sep 2024, 20:25

@Descolada you're probably right that forum install is valuable--I admit as much as I maintain AHK++ I don't write ahk much and I haven't been active on these forums very long. That's changing :) However even with forum install we're all familiar with the downtime you and @joedf mentioned, and as a Microsoft employee I can (unofficially) say that I don't expect GitHub to go down either :D

@joedf what does `aris` stand for in `aris-scriptHub`? I don't have a better name to suggest, and it's easy to change names early on anyway

I'd suggest getting up and running with *something* relatively "official" so forum members trust it, then asking owners of each popular forum-hosted lib if they're OK having their code uploaded and stored in the GitHub repo. It may not be manually updated, but at least some version is there, and a readme in the repo can link back to the original forum post. It's a start :)
Maintainer of AHK++ 🤓 markwiemer.com

Descolada
Posts: 1494
Joined: 23 Dec 2021, 02:30

Re: Have you considered developing an official package manager?

Post by Descolada » 28 Sep 2024, 00:57

@markwiemer "aris" stands for AutoHotkey Repository Install System. I had to rename the package manager because another one existed with the name Snap: sorry for the confusion.

@joedf if you would, please create such a repository in ahkscript and add me as a collaborator. Don't add "aris" in the name though, as the repo could be used by other package managers as well if any catch on.

User avatar
markwiemer
Posts: 22
Joined: 13 Mar 2023, 23:59
Contact:

Re: Have you considered developing an official package manager?

Post by markwiemer » 28 Sep 2024, 16:08

Only a matter of time until we have yapm, "Yet another AutoHotkey Package Manger," at this rate :D
Maintainer of AHK++ 🤓 markwiemer.com

User avatar
joedf
Posts: 9161
Joined: 29 Sep 2013, 17:08
Location: Canada
Contact:

Re: Have you considered developing an official package manager?

Post by joedf » 29 Sep 2024, 13:43

Lmao YAPM :lol:

@Descolada I assume it was this account? https://github.com/Descolada
I have sent you an invite to join the ahkscript org and have setup this repo and instructed https://github.com/ahkscript/ScriptHub
Image Image Image Image Image
Windows 10 x64 Professional, Intel i5-8500, NVIDIA GTX 1060 6GB, 2x16GB Kingston FURY Beast - DDR4 3200 MHz | [About Me] | [About the AHK Foundation] | [Courses on AutoHotkey]
[ASPDM - StdLib Distribution] | [Qonsole - Quake-like console emulator] | [LibCon - Autohotkey Console Library]

Descolada
Posts: 1494
Joined: 23 Dec 2021, 02:30

Re: Have you considered developing an official package manager?

Post by Descolada » 29 Sep 2024, 16:30

@joedf thank you! I've already added a few libraries there using a scraping script to get history from Wayback Machine and also the live forums. Currently the only metadata added to the top of the script is the source URL, authors name, and if available then the license. Hopefully that is enough?
Do you have any opinions on folder structure? Maybe it should be grouped in a folder named v2, or rename the main branch to v2?

User avatar
joedf
Posts: 9161
Joined: 29 Sep 2013, 17:08
Location: Canada
Contact:

Re: Have you considered developing an official package manager?

Post by joedf » 30 Sep 2024, 09:31

Nice :+1: Yes, you might want to separate v1 and v2 either with folders or branches. There's still so much valuable v1 content.
I personally like folders because they are more visible and dont require git for visibility, but branches are maybe more data efficient for some things?

... and if some things are still missing, we sill have a scripts archive here:
viewtopic.php?f=6&t=3216
Image Image Image Image Image
Windows 10 x64 Professional, Intel i5-8500, NVIDIA GTX 1060 6GB, 2x16GB Kingston FURY Beast - DDR4 3200 MHz | [About Me] | [About the AHK Foundation] | [Courses on AutoHotkey]
[ASPDM - StdLib Distribution] | [Qonsole - Quake-like console emulator] | [LibCon - Autohotkey Console Library]

geek
Posts: 1068
Joined: 02 Oct 2013, 22:13
Location: GeekDude
Contact:

Re: Have you considered developing an official package manager?

Post by geek » 30 Sep 2024, 13:04

joedf wrote:
30 Sep 2024, 09:31
I personally like folders because they are more visible and dont require git for visibility, but branches are maybe more data efficient for some things?
GitHub allows you to switch the branch you're viewing at the top of the page, the only trick is knowing that the switcher is there. If you don't already know what branches are it's not intuitive to look for the switcher, but once you know it's there it's just as easy to use as a folder.

The "data efficiency" that comes with separating v1 and v2 branches is that, both for people who are using git clients and people who are not, it allows users to easily download just the v1 or v2 branch at a time. You don't have to download all of v1 and v2 in one go. That said, the benefit of that is questionable at best given that users of the repository are not meant to be cloning the repository wholesale in the first place. I suppose it could allow repository maintainers to work with the files a little bit more easily, but ahk libraries are typically rather small in size so in all practical sense I don't think it is a big deal either way. At the point where separating like this does become practically beneficial, using git's (admittedly relatively harder to use) "sparse checkout" ability will reap better rewards for maintainers than having the repository itself split arbitrarily.

I don't think it's a big deal either way really. I'd say this one's at the preference of whoever sets it up first

User avatar
joedf
Posts: 9161
Joined: 29 Sep 2013, 17:08
Location: Canada
Contact:

Re: Have you considered developing an official package manager?

Post by joedf » 30 Sep 2024, 13:18

@geek Yes, I like github's ui a lot for things like that :+1: but I can only assume that not everyone knows or even thinks about it as you've alluded too. I'd say folders are more "forceful" and universal if someone non-git-savvy is looking at the page for reason, but probably shouldn't anyway... :think:

@Descolada As for data efficiency, @geek has very well elaborated pretty much what I had in mind. I agree with geek, could go either way. :thumbup:
Image Image Image Image Image
Windows 10 x64 Professional, Intel i5-8500, NVIDIA GTX 1060 6GB, 2x16GB Kingston FURY Beast - DDR4 3200 MHz | [About Me] | [About the AHK Foundation] | [Courses on AutoHotkey]
[ASPDM - StdLib Distribution] | [Qonsole - Quake-like console emulator] | [LibCon - Autohotkey Console Library]

User avatar
markwiemer
Posts: 22
Joined: 13 Mar 2023, 23:59
Contact:

Re: Have you considered developing an official package manager?

Post by markwiemer » 30 Sep 2024, 20:14

I'd strongly recommend folders just for indexing: having two branches might result in only one being indexed and searchable. That'd be no fun at all.

Additionally, there is a sparse checkout feature in git that folks could use, but downloading the ZIP of the relevant folder would be the simplest way for 90% of folks to get 100% of what they need.
Maintainer of AHK++ 🤓 markwiemer.com

User avatar
joedf
Posts: 9161
Joined: 29 Sep 2013, 17:08
Location: Canada
Contact:

Re: Have you considered developing an official package manager?

Post by joedf » 30 Sep 2024, 21:49

Makes sense to me!
Image Image Image Image Image
Windows 10 x64 Professional, Intel i5-8500, NVIDIA GTX 1060 6GB, 2x16GB Kingston FURY Beast - DDR4 3200 MHz | [About Me] | [About the AHK Foundation] | [Courses on AutoHotkey]
[ASPDM - StdLib Distribution] | [Qonsole - Quake-like console emulator] | [LibCon - Autohotkey Console Library]

Qriist
Posts: 161
Joined: 11 Sep 2016, 04:02

Re: Have you considered developing an official package manager?

Post by Qriist » 12 Dec 2024, 14:44

lexikos wrote:
15 Aug 2024, 20:28
Anyone can create a package manager, and if they do it well enough, it can become official, by being accepted and promoted by the community.
Hey lexikos, I'd like to recommend @Decolada's Aris for consideration to that position. I've started incorporating it into my projects and it genuinely does make maintaining dependencies way easier. I really think Aris has the user-friendly chops to be AHK's premiere package manager.

If you'd rather not personally endorse someone else's package manager, even a caveated shout out on the home page would go a long way.

Decolada's thread detailing usage:
viewtopic.php?f=83&t=133650

lexikos
Posts: 9811
Joined: 30 Sep 2013, 04:07
Contact:

Re: Have you considered developing an official package manager?

Post by lexikos » 15 Dec 2024, 22:02

As I said, it can become official by being accepted and promoted by the community. Much like my personal fork of AutoHotkey became the "official" continuation of AutoHotkey. The website administrators don't need my permission to make changes to the website.

I think I will not involve myself with this until v2.1 is close to beta, at which point I might consider including a package manager with the installer, if the community has shown enough interest and support.

User avatar
markwiemer
Posts: 22
Joined: 13 Mar 2023, 23:59
Contact:

Re: Have you considered developing an official package manager?

Post by markwiemer » 21 Dec 2024, 23:34

Totally agree :)
Maintainer of AHK++ 🤓 markwiemer.com

Post Reply

Return to “Wish List”