5 ms·
Show HN: libsaas, it's libcloud for SaaS
- someone13 14y agoDidn't want to test this, in case it's actually a problem, but the usage examples seem to include your Mailchimp key. You may want to remove that :-)
- olegp 14y agoI have written something similar in JavaScript: https://github.com/olegp/restwrapper https://github.com/olegp/restwrapper
- jeffbarr 14y agoIsn't this what web services were promising us? Cool library, but ideally the SaaS apps would export APIs for this functionality.
- johns 14y agoThis is using the services' APIs, but standardizing as much as possible the Python code required to use them.
- wulczer 14y agoThe lowest common denominator of SaaS APIs is HTTP. Apart from that, everyone does it different. Some use JSON, some use XML, some use SOAP... Sometimes you authenticate with Basic authentication, sometimes you use OAuth 1.0 and need to sign each request, sometimes it's OAuth 2.0 and you just need the token. Oh, and the actual GET parameter for the token is different, too... There are APIs where you need to set a 'X-API-Version' header to something, or you'll get weird results. The list goes on... The goal here is to hide all that crap from developers and focus on achieving the desired result.
- thereason 14y agoInstead of hiding it, why don't we ditch it altogether? HTTP is simpler, more direct and easier to debug. By sticking to HTTP, we might get closer to a situation where "everyone does it the same". Life might be easier. Nah, it would never work. Pay no mind. I'm just a fool.
- legutierr 14y agoYou're not a fool, just a dreamer.
- drivebyacct2 14y agoAll of the things in that post use HTTP. (Though SOAP doesn't require HTTP). Did you mean REST? Even then, people often don't get it right, and it's still not as nice a language specific API. (er, application specific api)
- jmonegro 14y agoI quite like it. I'll get to porting it to Ruby.
- sgrove 14y agoPlease do, would be very awesome!
- wulczer 14y agoThere were some very sketchy plans about making this multilanguage... The best we could come up with was writing a small C module that would call Python code and that you could wrap in other languages. If anyone has a better idea on how to keep the logic in one language, but make it accessible to everyone (preferably without inventing a whole DSL, that would end up being just like a real programming language, but worse), please speak up!
- drivebyacct2 14y ago>a small C module that would call Python code Seems strange to me. Seems like for a lot of this, where it's often HTTP based anyway, you could implement much of it in C without it being a complete nightmare.
- alttab 14y agoNot very practical if you needed to deliver the integration over the Internet in a web app
- drivebyacct2 14y agoHuh? We're talking about a library to use in applications, web apps or otherwise, and finding ways to make them usable with multiple languages. That screams "C", as every language I can name can call C code. If they delivered libsaas as a C library, everyone can write a small wrapper and then have it in their favorite language. Honestly, I don't know what "deliver integration over the Internet in a web app" means in this context at all. I'm sure there are already C libraries to make REST calls easy and the rest is just creating the proper queries and parsing responses into usable structures, etc.
- bryanh 14y agoVery impressive. At Zapier we're building an internal tool very similar to this (and in Python to boot). Maybe we should hook up?
- wulczer 14y agoThat would be awesome! Hit us up on contact@ducksboard.com (or my profile email)
- deleted 14y ago[deleted]