Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 3 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 6 years ago)
- Default Branch: master
- Last Pushed: 2021-04-30T20:44:24.000Z (almost 4 years ago)
- Last Synced: 2024-08-01T12:25:05.761Z (6 months ago)
- Topics: filesystems, fuse, google-sheets
- Language: Python
- Homepage: https://devpost.com/software/spreadsheetfs
- Size: 9.77 KB
- Stars: 225
- Watchers: 8
- Forks: 20
- 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