https://github.com/franciscop/drive-db/
I also made a small tutorial of how to use it:
11–20 of 25 posts
https://github.com/franciscop/drive-db/
I also made a small tutorial of how to use it:
A couple weeks ago I helped my nephew with a project he was working on using gspread. I haven't programmed in Python in years but was able to make it all go in an hour or so of poking at the gspread docs. It's pretty neat. I've often thought spreadsheets should be more commonly used as the UI for software. Lots of business folks have a good grasp of spreadsheets, but not of programmer-y or database concepts. I dunno…
I've had this same thought! I've been working on [VisiData] (Python+spreadsheet+terminal) for the past year, and I think the interface is more than sufficient for all kinds of applications. Besides the main VisiData app, I've made a git interface (vgit), a game (vdgalcon, a remake of Galactic Conquest), a chat client, and I have designs for a unix shell and a python debugger, among other things.
If you want to try to fit something you're working on into a terminal spreadsheet interface, we could put something together really quickly. With vdtui (the core interface layer), you just have to collect your row objects, specify the columns, write the commands, et voila! We should be able to get a workable prototype going in an hour or two at most.
・SQL into Sheets - http://pastebin.com/ACwqc5um
・LibreOffice Calc server - https://github.com/robsco-git/spreadsheet_server
・Sheets API (JS) - http://chriszarate.github.io/sheetrock/ | https://github.com/theoephraim/node-google-spreadsheet
・Grunt / Jekyll - https://github.com/stpe/grunt-gss-to-json
・simple read-only (JS) - https://github.com/franciscop/drive-db | https://github.com/digplan/gsheet-web
・auth proxy (Golang) - https://github.com/VLO-GDA/server-app
...
"with python"
!!!!!!!!!
It's a really nice setup for bringing data from APIs and other services into a more usable, query-able setup for people more used to spreadsheets.
A couple weeks ago I helped my nephew with a project he was working on using gspread. I haven't programmed in Python in years but was able to make it all go in an hour or so of poking at the gspread docs. It's pretty neat. I've often thought spreadsheets should be more commonly used as the UI for software. Lots of business folks have a good grasp of spreadsheets, but not of programmer-y or database concepts. I dunno…
Oh, just let some customer send their data over, and we can copy and paste it in.... HAHA right... good luck with that if you don't teach every single user who touches that data how to sanitize it. That's too much for a bunch of humans to deal with, generally, for anything remotely complex. It's too easy to make too many mistakes, whether it be typos, copy/pasting the wrong thing, referring to something by a slang or localized terms, that fails a lookup, so they create a new record, etc... Sure, I'm sure some nutter has implemented a fuzzy search algorithm in Excel, but I doubt it's truly production quality... Most people would just use Access or a real database at that point.
So my solution is to build software to solve these problems. Spreadsheets are great, especially collaborative ones, for certain tasks. I've seen plenty of large companies running their whole business off a gigantic shared spreadsheet (on google drive) complete with colored spreadsheet dashboards up on TVs, and everything. (and yes, we built new pipeline software for them, using those formula, it was invaluable)
Spreadsheets just don't scale though (depending how you use them), and for anything remotely complex, humans will make mistakes. At some point you might as well be doing some kind of light-weight bespoke software development, as you'll gain more flexibility and ease of use in the long run, and you'll probably save time/money/hassle with proper data warehousing, etc...
I'm not saying I never use sheets, it's ideal, but you have to build in lots of validation logic, etc... I use gspread myself, personally, when doing very specific data tasks for clients, but I hate giving clients direct access to a sheet that interfaces with code, or I do give them access to a sheet, but not access to run the code against it. Too much room for pain and confusion. They will break it, and most customers are not the trial-and-error type, and not all tasks are even safe to attempt with brute force.
Search functionality is not there, retrieve row, find and replace is not adequate, row index not sent when retrieve values etc. Updating particular row gets hard etc. We ended up adding row counter as a column as well.
We used Sheets in between two major iterations of our internal tools and we found it inadequate for any advanced usage.
Also sheets api would tend to 503/504 (not sure which one) if there was more than 10k rows with 4-5 columns.
"4 lines of code connecting to an http(s) endpoint" ... "with python" !!!!!!!!!