Skip to content
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

Companion files comments #19

Merged
merged 4 commits into from
Apr 28, 2016
Merged

Conversation

fperez
Copy link
Member

@fperez fperez commented Apr 26, 2016

Include remaining comments that weren't fully addressed before merging PR 15, so we capture complete discussion in this file.

@takluyver
Copy link
Member

takluyver commented Apr 26, 2016

Kyle, what would be the advantage of using asar? To me, that seems much
more like reinventing the wheel than zip, which is extremely well
established.

@fperez
Copy link
Member Author

fperez commented Apr 27, 2016

Ping @rgbkrk in case he's not subscribed...

@rgbkrk
Copy link
Member

rgbkrk commented Apr 27, 2016

what would be the advantage of using asar

  • Random access support
  • Safety from the long file paths issue on Windows

If the project cared about it from an Electron perspective, any Electron app can read from asar files even being able to require from them. I do recognize it's not in the charter for Jupyter to care about Electron based apps. That's ok!

Main drawback is that there aren't any major Python implementations of asar unpacking other than the semi-implemented pyasar.

I'm not going to push hard on this one though, just threw it out as an option since I'm familiar with it and enjoy the semantics better than zip plus creating yet another protocol (would rather us define another JSON schema on top of something like asar). That's my 2 cents.

@takluyver
Copy link
Member

takluyver commented Apr 27, 2016

  • All the things we're currently thinking of putting in there will be loaded as whole files - maybe there will be something later that used random access into the middle of a file, but I find it hard to imagine what. If we're thinking of storing something like an sqlite database, I'm pretty sure it would still need to be outside any kind of archive.
  • I appreciate that it's super easy for electron to load asar, but I'm confident that it's quite easy for code in any language to use zip files. Buying a bit of convenience in one technology by using something which is not widely supported elsewhere seems like the wrong tradeoff.
  • I hope the protocol won't need to be too complex. I know it's easy to hope, though - maybe we should start trying to design the protocol, and see what it looks like.

(Bullet points to keep it short, I'm not trying to be dismissive)

@fperez
Copy link
Member Author

fperez commented Apr 28, 2016

It's not a matter of "not caring" about Electron: at least I do care a lot, and I want to maximize ease of interoperability as much as we can. But in this case, asar is an Electron-specific tool/technology without even any complete Python support, whereas (as Thomas says), zip is so ubiquitous that pretty much any language in common use today can handle it.

So I think it's OK to keep this idea in mind as we move forward, but for the sake of simplicity (zip is supported even in the python stdlib) as we start, I suggest we go with something that's ubiquitous...

I'll make a quick update to the doc to leave the asar reference but as a note only.

@fperez fperez merged commit eaf0e3a into jupyter:master Apr 28, 2016
@fperez fperez deleted the companion-files-comments branch April 28, 2016 20:12
@rgbkrk
Copy link
Member

rgbkrk commented Apr 28, 2016

Sounds good to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants