Remix.run Logo
aredox 6 days ago

I saw "Python" and was going to comment a completely stand-alone* executable would be simpler, and then I scrolled and holy moly, there are a lot of features there! It would be quite some work to redo it in another lang.

*It already has no deps

Great job there. A nice tool you've made.

Edit: already adressed: https://github.com/9001/copyparty?tab=readme-ov-file#copypar...

9029 6 days ago | parent | next [-]

I wonder if cosmopolitan libc[0] could be leveraged to create an actually portable executable™ without a rewrite, looks like someone has figured out compiling python 3.11.4 with it[1]

[0] https://github.com/jart/cosmopolitan

[1] https://ahgamut.github.io/2021/07/13/ape-python/

leobuskin 6 days ago | parent | next [-]

I have a small/insane project of mine, I wrote a compiler for Python (strict and static subset only) to WebAssembly (bc-to-bc approach, 1:1 CPython compat due to walking internals), than I do wasm2c to sandbox it + pledge and compiling with cosmopolitan into a miniature standalone thing (fast as hell). Just because you have zero dependencies and it's a pure Python and properly typed, lemme try next weekend as PoC. No promises, but this message clicked in my heart

noman-land 6 days ago | parent [-]

<subscribe>

sull 2 days ago | parent | prev [-]

on it

collinmanderson 4 days ago | parent | prev [-]

> It already has no deps

Yes when I heard it was python I immediately checked the dependencies expecting a ginormous list and found basically nothing. Incredibly impressive, just a few "stolen" libs here: https://github.com/9001/copyparty/tree/hovudstraum/copyparty...

Worth scrolling through util.py to see lots of hand-implemented code: MultipartParser, read_header(), read_socket_chunked(), html_escape(), atomic_move(), killtree ("still racy but i tried"), termsize(), etc

https://github.com/9001/copyparty/blob/hovudstraum/copyparty...

6k loc for http server/client handling transferring files, rss feed, etc. See `def run(self)` for main request parsing.

https://github.com/9001/copyparty/blob/hovudstraum/copyparty...