4 ms·
Why?
by iamsanteri 4y ago
Why?
- dNIanGGER 4y ago[dead]
- somethoughts 4y agoPerhaps it could be an effort toward an implementation of Local-First Web Development. [1] [1] https://news.ycombinator.com/item?id=34857435 https://news.ycombinator.com/item?id=34857435
- rytis 4y ago> Just for fun It's mentioned right there
- iamsanteri 4y agoYeah I guess I understood that, but working in Django myself I don’t quite get the point of it. Is it some older lighter version of Django and what for? I think this was more my point.
- ingenieroariel 4y agoAuthor here. In 2007 when Django was starting to get popular there was a website called instantdjango.com where you could go and download a zip that would let you run Django and Python on Windows, with everything configured nicely. I only used that version because it is the official one supported by cosmopolitan, but it is also possible to use newer versions with the same approach, for example Python 3.11 and Django 4: https://github.com/ahgamut/cpython/tree/cosmo-djngo https://github.com/ahgamut/cpython/tree/cosmo-djngo (Website has been updated to point at that one).
- vandahm 4y agoWhy not?
- jart 4y agodjngo.com is the culmination of years of effort, creating a single file python executable that runs on all platforms. This project is based on APE (https://justine.lol/ape.html https://justine.lol/ape.html) and in the past few days, our Python APE port (called python.com) became good enough to run Django. So we put Django inside the executable too, and called it djngo.com. The djngo.com executable will just work on the following platforms: - Apple x86_64 and ARM64 - Linux running x86_64 or ARM64 (Raspberry Pi) - Windows running x86_64 and possibly ARM64 too - FreeBSD, NetBSD, and OpenBSD running x86_64 It does not require that Python be installed beforehand. It's a native Python executable. It does not require Rosetta or Qemu be installed either, in order to run ARM64 platforms. It does not require Cygwin or MSYS2 runtimes in order to run on WIN32. It only depends on KERNEL32. It has an embedded JIT VM called Blink (https://github.com/jart/blink https://github.com/jart/blink) which it pulls out on non-x86 platforms to emulate itself. All its dependencies are bundled inside using a zip polyglot, including the Python standard library: unzip -vl djngo.com ... 5588 Defl:N 1707 70% 02-23-2023 16:06 26fb04f6 .python/django/shortcuts.py 0 Stored 0 0% 02-23-2023 16:05 00000000 .python/ctypes/ 34 Stored 34 0% 02-23-2023 16:05 1b5bb9b2 .python/ctypes/__init__.py -------- ------- --- ------- 35075517 11728493 67% 7171 files You can put your app's assets inside the djngo.com file too, using the standard zip tool. You can then rename the file, and insert a `.args` file that supplies default args for launching your white-labeled app. This means that if you're a Django app developer, you can now easily share your apps with others wanting to run it locally. It's almost as easy for anyone on any platform to use, as if you productionized it onto a website. Rather than a hyperlink away, it's a single file download and CLI invocation away. You won't need to explain things like, "here's how you install Python on Windows" or "here's how you install Docker and setup a Linux distro, in order to run my app." Your users will be in full control of the app, granting maximum privacy and control over data, and zero operations toil for you!
- mushufasa 4y agoWhy Django 2.2? That version is no longer supported, and I'm guessing there's some technical reason you are using the obsolete version? (Production Django is now on major version 4)
- andybak 4y agoIt's possible you mean this question sincerely but it comes across as curt, insincere and dismissive.