-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Schnapsidee: create a python utility odk-toolbox #908
Comments
Sounds like the same kind of idea I had at the bottom of ticket #877:
(… except that I was not drunk when I wrote that ticket, so I can’t use that as an excuse.) |
YES! I didnt connect these dots! |
That This would notably ensure that the Windows variant is no longer continuously left behind in terms of features. With such a “universal ODK launcher” available, the seeding process of the ODK could still generate a Now the first big problem of such a project would be: in which language should it be done? I argue that it MUST NOT be in Python, for two reasons:
Ideally we would want a scripting language for which an interpreter is available natively on (at least) GNU/Linux, macOS, and Windows. Problem is, I am not sure such a language even exists… I am more and more thinking that we might have to choose a compiled launcher (maybe written in one of those fancy modern languages such as Rust or Go). Sure, we would have to provide different compiled binaries for all the systems we want to support, but at least the binaries would run natively without requiring the installation of an interpreter. |
No matter the language we use in the end, I don’t think we can realistically create such a “universal launcher” until/unless we have a committed ODK developer on Windows — I can write the launcher for all platforms and test it on GNU/Linux and macOS but if it is intended to be really universal it will have to be tested on Windows as well, and that I cannot do. In fact the main reason the |
Ok I will talk to @ehartley and her team, maybe we can also recruit @StroemPhi for this; but for now, I am still not convinced about the arguments against python. The nice thing would be that there are plenty of materials out there on how to install - we don't have to feel responsible for people getting set up with python. Let's discuss at the next tech call! |
Up to you. I don’t care, I use a decent operating system. Happy to let you deal with the fallout of users who won’t know how to pass the first step or who would end up with a broken pip registry. |
At the very least, if we end up writing the launcher in Python, we should try hard to only depend on Python’s standard library. In particular, I don’t see the point on depending on that |
Moin, just wanted to say that I'd be happy to test things on Windows, but IDK if this makes sense, if I'm using ODK in a UbuntuVM due to me not being allowed to install Docker on my Windows host system. |
I just did a quick test. Windows 10 Pro is still not provided with a Python interpreter by default, but trying to invoke |
Yet I wouldn't recommend installing Python via the MS store: https://dev.to/naruaika/why-i-didn-t-install-python-from-the-microsoft-store-5cbd. |
Not entirely convinced by this. The point about the And in any case, if we do write the launcher script in Python, I stand by my previous message saying that the script should be self-contained and not depend on any non-standard package, so that users should never need to call |
That wraps the ODK using https://pypi.org/project/docker/.
This will allow us to avoid having to share odk runner scripts around, and would enable.. platform independent runner scripts??
Schnapsidee ("An impractical idea which seems brilliant when one is drunk.")?
The text was updated successfully, but these errors were encountered: