Author here: Sheetfu original goal was to port the Google Apps Script API for spreadsheet (made in javascript) to Python, so you'll see a lot of common ground between those 2 libs.
You could probably achieve the same with both Pygsheet and Sheetfu, the interface is a bit different. Sheetfu, however, contains the Table module, which completely abstracts the coordinate system for a more ORM-ish syntax.
Anyone tried airtable? It seems like it's designed specifically for this, and looks nice, but the fact that they limit number of rows per table on the free plan is a bit of a WTF.
I've tinkered with Airtable a bit and it's a solid product. It's a "database" shown in the style of a spreadsheet. With a number of great features, but of course you got to pay for that.
The plan limit for free I get. However overall I think they use the records-per-base limit as their major "please don't use us for anything automated" function. You couldn't, say, build a light CRM on anything less than the enterprise version because 50k records (for pro aka $20/user/mo) just wouldn't cut it.
For those people who need database type powers for a very very small company - it's really impressive. Anyone larger...probably builds something themselves.
I also messed around with Airtable a bit and I do agree that it's a very polished experience. Interestingly, I've noticed that there's actually a large amount of real estate agents who are sick of Salesforce and are very hyped for Airtable. They're waiting for Airtable to add some essential features Salesforce has before jumping ship.
This remark is really intriguing me. It sounds like a business opportunity. I'm very interested to discuss about what real estate agents are waiting from Airtable.
I think we can cut Airtable a little slack since it's geared towards professionals/businesses instead of average consumers. Kind of like how Slack puts a cap on the number of messages in their free version.
As far as I know, Gspread does not handle data other than cells values. Sheetfu can however, you can get or set notes, and colors for example. Pygsheet also can do that.
Sheetfu contains the Table module which gives you the possibility to interact with your sheet as it it was a database table (as close as we can get to ORM-ish approach).
Yeah, this could be more pythonic for sure. Setter and getter methods are always a bit iffy in Python, usually their presence in a library doesn’t bode well.
They could make some of them work with the same syntax as dictionaries, which would be a good start.
> usually their presence in a library doesn’t bode well
Yuuup. My personal favorite is SendGrid/Twilio's email envelope handling, in which the way you add multiple headers is by .... assigning to an attribute multiple times:
IMAP cannot operate on a whole thread at a time. Ironically you will hardly notice the difference when operating with the web interface, which is very much thread based, but it can be useful to apply a label to a whole thread if your interaction with GMail happens in Thunderbird or mutt. For example, I have a Google Apps script that adds a label to a whole thread whenever someone CCs me on a bug, so that the entire bug suddenly pops up in the "my bugs" Thunderbird folder, including messages prior to my being added.