https://github.com/GunshipPenguin/spreadsheetfs
Use Google Sheets as a Filesystem to get Unlimited Free Cloud Storage
https://github.com/GunshipPenguin/spreadsheetfs
filesystems fuse google-sheets
Last synced: 10 months ago
JSON representation
Use Google Sheets as a Filesystem to get Unlimited Free Cloud Storage
- Host: GitHub
- URL: https://github.com/GunshipPenguin/spreadsheetfs
- Owner: GunshipPenguin
- License: mit
- Created: 2019-01-19T21:14:45.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2021-04-30T20:44:24.000Z (over 4 years ago)
- Last Synced: 2024-11-03T22:32:05.860Z (about 1 year ago)
- Topics: filesystems, fuse, google-sheets
- Language: Python
- Homepage: https://devpost.com/software/spreadsheetfs
- Size: 9.77 KB
- Stars: 229
- Watchers: 8
- Forks: 18
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# spreadsheetfs
Winner: Best use of Google Cloud Platform at Hack Cambridge 4D.
Mounts a FUSE virtual filesystem that stores its data as base64 encoded binary
data in a Google Sheet. Since data entered in Google sheets don't count
towards your 15GB free storage limit in Google Drive, this technically enables
you to get free unlimited cloud storage.
See the [Devpost page](https://devpost.com/software/spreadsheetfs) for
a full description.
Note that like most hackathon projects, this code was thrown together over the
course of about 15 hours in a semi-conscious state, so don't expect anything
incredibly robust.
# Setup
Ensure you have virtualenv, pip and python2 installed.
```
virtualenv venv
source venv/bin/activate
pip install -r requirements.txt
```
# Running
Edit the constants at the beginning of `main.py` to suit your needs and run
the following to mount the FUSE filesystem and start communicating with the
Google Sheets API.
```
python main.py [mountpoint]
```
# Debugging Tips
`strace` is a good tool to use to see what filesystem related syscalls are
doing. For example, if attempts to create a file with `touch` on a
spreadsheetfs mounted on `~/mountpoint`, make sure your spreadsheetfs is
mounted and run:
```
strace touch ~/mountpoint/somefile.txt
```
# License
[MIT](https://github.com/GunshipPenguin/spreadsheetfs/blob/master/LICENSE) © Rhys Rustad-Elliott