7 ms·
ButterDB
- ams6110 12y agoThis is a potentially useful project but I could never use it for fear of "FuckItDB" appearing in an exception call trace that a client might see. Names don't have to mean anything, but certain names are still unacceptable.
- djur 12y agoBased on the "don't use this for anything important" note, I think that's probably intentional. If someone spends the time to build this into something production-ready, they can change the name, too.
- Widdershin 12y agoI actually changed the name from fuckitdb to butterdb in response to valid criticisms that alleged the name excluded people. I originally intended this library to be a joke library, hence the "don't use this for anything important". I think I will remove that bit and just improve any issues people run into.
- theGimp 12y agoAccording to this commit, the name was changed to butterdb about three months ago. https://github.com/Widdershin/butterdb/commit/6a73c9199d53f5aeab11fcf58c894e8268794c34 https://github.com/Widdershin/butterdb/commit/6a73c9199d53f5... Digging on PyPI, I found the new package named butterdb. The version is bumped from .13 to .14, though that might just be the name change. In any case, it might be a good idea to change the submission to reflect the new name and the new package. https://pypi.python.org/pypi/butterdb/0.1.4 https://pypi.python.org/pypi/butterdb/0.1.4
- oniTony 12y ago> for fear of "FuckItDB" appearing in an exception call trace that a client might see. Just wrap it with FuckIt.py (previously discussed at https://news.ycombinator.com/item?id=6858855 https://news.ycombinator.com/item?id=6858855 ) "to make sure your Python code runs whether it has any right to or not"
- michaelhoffman 12y agoI'm surprised this was released under the MIT License. The WTFPL would be more appropriate. http://www.wtfpl.net/ http://www.wtfpl.net/
- pekk 12y agoIt would have been more inappropriate. Which could be the goal, I don't know. But more seriously, it's legally risky to have anything to do with code licensed under WTFPL because it does not actually specify that you can do anything with the code without possible legal reprisals, from which no protection is offered. Probably safe to point and laugh at it, though.
- chazu 12y agoAlthough the WTFPL website (http://www.wtfpl.net/faq/ http://www.wtfpl.net/faq/) does note somewhat ominously that it hasn't been tested in courts, it seems legitimate enough to me. Is there any evidence outside of its lack of history in court that would indicate it isn't suitable for production use? EDIT: gnu.org also says "We do not recommend this license" ,pointing to the Apache license as providing better protection against 'patent treachery'. (https://www.gnu.org/licenses/license-list.html https://www.gnu.org/licenses/license-list.html)
- tptacek 12y agoTrack down what 'DannyBee has to say about WTFPL and licenses like it. There are good reasons not to use it even if you don't care what happens with your code.
- AgentConundrum 12y agoI believe this is what tptacek is referring to: https://news.ycombinator.com/item?id=8104407 https://news.ycombinator.com/item?id=8104407
- tptacek 12y ago
- Yver 12y agoI expected it to be a new NoSQL, "eventually consistent" database server.
- rmrfrmrf 12y agoooo that's clever!
- ZaneA 12y agoThis was posted to the NZ Python User Group a couple of months back, where a bit of discussion around the name took place, https://groups.google.com/d/msg/nzpug/womO01rqF58/niM48Fn8QAUJ https://groups.google.com/d/msg/nzpug/womO01rqF58/niM48Fn8QA...
- freeslugs 12y agoOmg! wow this is insane. nice job guys! :)
- timf 12y agoThis is a good library for interacting with Google spreadsheets, I've written an app with it: https://github.com/burnash/gspread https://github.com/burnash/gspread
- canistr 12y agoBeen using gspread for a couple of months. Love it.
- Widdershin 12y agobutterdb is powered by gspread. Definitely a quality library.
- deleted 12y ago[deleted]
- Widdershin 12y agoHey folks, I'm the author of this library. I actually renamed it to 'butterdb' a while ago because some people found fuckitdb hard to swallow. You can check out the code here: https://github.com/Widdershin/butterdb https://github.com/Widdershin/butterdb. I have grown a bit as a programmer since then, but I appreciate any feedback you might have. I actually used this in production against my own recommendation to run the matching for /r/longboarding's Secret Santa. All of our data came from Google Forms, so it just made sense. Hit me up if you have any questions.
- ejr 12y agoThanks for writing this. Do you have plans to extend this to any locally stored spreadsheets? Ex: Excel, Calc (Libre and Open Office) and so on. I imagine even XML based documents would still present some vendor quirks to overcome.
- Widdershin 12y agoI have considered it, and just opened an issue to track demand (https://github.com/Widdershin/butterdb/issues/14 https://github.com/Widdershin/butterdb/issues/14). I would probably use another library to handle parsing (and hopefully avoid some of those pitfalls), just like I rely on gspread to handle all Google Spreadsheets integration. If you'd use butterdb if it had that feature, please let me know.
- ejr 12y agoThank you. I would use it right now actually as I do have some spreadsheets with Google. There are some I'd rather use locally like this and it would be just a nice extra. It would also avoid the need to maintain a network connection.
- Widdershin 12y agoI'll definitely implement that at some point then. It's quite easy to swap out the database the model is backed by, so shouldn't be too hard.
- crampy_cricket 12y agowould be really nice to have as an sqlalchemy dialect.
- S4M 12y agoI'm surprised it wasn't licensed under the WTFPL (https://en.wikipedia.org/wiki/Do_What_The_Fuck_You_Want https://en.wikipedia.org/wiki/Do_What_The_Fuck_You_Want)
- plq 12y agoORM Stands for Object Relational Mapper. ORMS are software packages that map objects (class instances) to relational database tables (among other relational structures) and vice versa. So maybe I'm nitpicking here but this project is not an ORM. There is no relational database here. Also it doesn't do joins, doesn't instrument attributes, makes no effort to convert object hierarchies to flat tables, etc, etc. This is a (de)serialization library for google spreadsheets. Not much different from a CSV, XLS or even html table (de)serializer. It's a nice hack though and certainly got its uses.
- Widdershin 12y agoThis is totally true. I simply hadn't thought of a better way to put it than ORM. I think it could be best put as an object spreadsheet mapper.
- shangxiao 12y agoWhile technically true, you can somewhat simulate relational data. It would be interesting to see if any object-relational impedance mismatches are addressed. Keep in mind languages evolve over time and definitions change ;)
- slosh 12y agoi really liked fuckitdb better lol
- rotten 12y agoThis could be a really handy way to provide user friendly front ends to "real" database tables.