Live data from Hacker News

Show HN: PyFilesystem 2.0 – A Python interface to filesystems of all kinds

willmcgugan.com

11–20 of 22 posts

Re: Show HN: PyFilesystem 2.0 – A Python interface to filesystems of all kinds

#11
post #2

Oh, this looks really nice. Thank you for posting it! A while back, I had an idea for modelling a filesystem as a dict, so maybe this will inspire me to get off my ass and actually write it. Basically, the idea is that this: foo = rootfs['home']['amyjess']['stuff']['foo.txt'] rootfs['home']['amyjess']['stuff']['bar.txt'] = bar would be equivalent to this: with open('/home/amyjess/stuff/foo.txt', 'r') as foo_file: foo…

You might want to look at how Common Lisp abstracted the filesystem 20-odd years ago as an example of how to do it right and also how to do it wrong (e.g. lack of iterators in those days)

Re: Show HN: PyFilesystem 2.0 – A Python interface to filesystems of all kinds

#12
post #2

Oh, this looks really nice. Thank you for posting it! A while back, I had an idea for modelling a filesystem as a dict, so maybe this will inspire me to get off my ass and actually write it. Basically, the idea is that this: foo = rootfs['home']['amyjess']['stuff']['foo.txt'] rootfs['home']['amyjess']['stuff']['bar.txt'] = bar would be equivalent to this: with open('/home/amyjess/stuff/foo.txt', 'r') as foo_file: foo…

I once made something like this to mount json files as a fuse filesystem. It's not maintained and one of my first projects, so the code is somewhat questionable, but it does work.

It basically mounts a dict on a filesystem, the exact opposite of what you want :)

https://github.com/yhekma/datamounter

Re: Show HN: PyFilesystem 2.0 – A Python interface to filesystems of all kinds

#13
post #2

Oh, this looks really nice. Thank you for posting it! A while back, I had an idea for modelling a filesystem as a dict, so maybe this will inspire me to get off my ass and actually write it. Basically, the idea is that this: foo = rootfs['home']['amyjess']['stuff']['foo.txt'] rootfs['home']['amyjess']['stuff']['bar.txt'] = bar would be equivalent to this: with open('/home/amyjess/stuff/foo.txt', 'r') as foo_file: foo…

I was inspired to write a very basic working proof-of-concept based on your idea: https://gist.github.com/tcdent/742f62f7082bd4a0b958865a893cb...

Re: Show HN: PyFilesystem 2.0 – A Python interface to filesystems of all kinds

#14
post #2

Oh, this looks really nice. Thank you for posting it! A while back, I had an idea for modelling a filesystem as a dict, so maybe this will inspire me to get off my ass and actually write it. Basically, the idea is that this: foo = rootfs['home']['amyjess']['stuff']['foo.txt'] rootfs['home']['amyjess']['stuff']['bar.txt'] = bar would be equivalent to this: with open('/home/amyjess/stuff/foo.txt', 'r') as foo_file: foo…

I once made something like this to mount json files as a fuse filesystem. It's not maintained and one of my first projects, so the code is somewhat questionable, but it does work. It basically mounts a dict on a filesystem, the exact opposite of what you want :) https://github.com/yhekma/datamounter

My big question is why? you wanted to navigate or display a JSON dataset using filesystem-viewer tools? i.e. "Explore" the JSON dataset?

Re: Show HN: PyFilesystem 2.0 – A Python interface to filesystems of all kinds

#15
post #2

Oh, this looks really nice. Thank you for posting it! A while back, I had an idea for modelling a filesystem as a dict, so maybe this will inspire me to get off my ass and actually write it. Basically, the idea is that this: foo = rootfs['home']['amyjess']['stuff']['foo.txt'] rootfs['home']['amyjess']['stuff']['bar.txt'] = bar would be equivalent to this: with open('/home/amyjess/stuff/foo.txt', 'r') as foo_file: foo…

Come to think of it, I have already implemented something like this in Moya.

This would insert "bar/baz.txt" from filesystem "foo" in to a template:

    ${.fs.foo.bar.baz.txt}

Re: Show HN: PyFilesystem 2.0 – A Python interface to filesystems of all kinds

#16

Earlier quoted context omitted.

> pyfilesystem is great! Cheers. > My only suggestion would be to improve the search optimization for pypi. Fair point. Not entirely sure how to fix that. I'll look in to it...

PKG-INFO, line 2: Name: fs Looks like it's also registered in PyPI as "fs", from the URL: https://pypi.python.org/pypi/fs/

Maybe have a proxy https://pypi.python.org/pypi/pyfilesystem that has `fs` as a requirement? That way even if people install with `pip install pyfilesystem`, you're good.

Re: Show HN: PyFilesystem 2.0 – A Python interface to filesystems of all kinds

#17
post #16

Earlier quoted context omitted.

PKG-INFO, line 2: Name: fs Looks like it's also registered in PyPI as "fs", from the URL: https://pypi.python.org/pypi/fs/

Maybe have a proxy https://pypi.python.org/pypi/pyfilesystem that has `fs` as a requirement? That way even if people install with `pip install pyfilesystem`, you're good.

Hmm. That's an idea. Feels like a hack though. Do you know if there is a precedence for that?

Re: Show HN: PyFilesystem 2.0 – A Python interface to filesystems of all kinds

#18
post #16

Earlier quoted context omitted.

Maybe have a proxy https://pypi.python.org/pypi/pyfilesystem that has `fs` as a requirement? That way even if people install with `pip install pyfilesystem`, you're good.

Hmm. That's an idea. Feels like a hack though. Do you know if there is a precedence for that?

We're planning on something similar to move a big open source library somewhere else (so that dependencies don't break).

Re: Show HN: PyFilesystem 2.0 – A Python interface to filesystems of all kinds

#19
post #14

Earlier quoted context omitted.

I once made something like this to mount json files as a fuse filesystem. It's not maintained and one of my first projects, so the code is somewhat questionable, but it does work. It basically mounts a dict on a filesystem, the exact opposite of what you want :) https://github.com/yhekma/datamounter

My big question is why? you wanted to navigate or display a JSON dataset using filesystem-viewer tools? i.e. "Explore" the JSON dataset?

Well, mostly because I wanted to play with fuse, but it started out as an ansible thing (doesn't work with >2 though).

The ansible setup module returns the system information in json, and if you mount it with the --realtime flag, when you open a "file" like ram for instance, ansible fetches the current value for you. That way you have your infrastructure mounted so to speak. Sort of a /proc filesystem for your linux infrastructure.

I never got further than a working poc though. It works, but there are some bugs and there is no regard for security.

Post reply on HN