在知乎上看到了C++,Java有哪些高大上的项目的问题,最近在看Python,故此也来问下Python有哪些高大上的项目?
其它的都是浮云了
Pony ORM是我心中高大上的顶峰,官网链接 Pony ORM - Use Pure Python to Speak to Your Data
传统的ORM,需要你使用它提供的.query、.filter、.get之类的函数实现查询。而Pony ORM另辟蹊径,直接以generator expression,然后解析AST树的方式构造SQL语句。
select(p for p in Person if p.age > 20)
shadowsocks
goagent,无疑是给这间封闭的屋子添加了一扇窗,他的作者水平不一定是国内最顶尖的,但却是最值得我们尊敬的。
最高大上的难道不是已经成为 IaaS 事实标准的 OpenStack?
话说 thefuck 到底算不算高大上呢_(:3」∠)_
Python 优秀项目的列表 ( awesome-python )
vinta/awesome-python · GitHub
pycrumbs/pycrumbs.md at master · kirang89/pycrumbs · GitHub
svaksha/pythonidae · GitHub
checkcheckzz/python-github-projects · GitHub
rasbt/python_reference · GitHub
Easy-Python
以及 awesome-* 系列的列表
bayandin/awesome-awesomeness · GitHub
sqlmap!
goagent!
对了,还有shadowsocks!
Open edX
Open edX致力于打造一个强大灵活的大规模开放在线课堂平台。也用来研究学习和远程教育
算起来,毕业之后最熟悉的应该就是这个项目了
高大上可能算不上吧,技术上并不惊艳,毕竟多是业务逻辑,Open edX用到许多蛮新的开源项目,不过也没什么很黑魔法的地方,很集市的一个项目倒是真的。
这个项目对教育界的冲击可能远比对开源界大,在我接触的人中,了解Open edX的愿景和进展后,会眼前一亮并热血沸腾的,多是对教育变革极其兴趣的教育界人士,edX可能是唯一一个开放/强大,允许他们自由打造自己的mooc平台的工具,对于他们可能真算得高大上吧
对于技术人员,edX可能并不漂亮,在技术层面的设计和架构考虑的多是实用性。
edX是个很混杂的项目,混用了多语言,多数据库。开发语言中以Python为主,截止到今天,Python在核心库占代码总量的71.6%. 之前用Ruby写的一些东西,最近也正在用Python重写,不过这种混杂在挺长的一段时间内估计改观不大。edX里很能体现出Python优秀的胶水特质
在看完《大教堂与集市》之前,我其实蛮怀疑edX会被复杂度/组织方式压垮,乍看之下,有种乱糟糟的感觉,并行的分支和并行的辅助项目都不时冒出,有些昙花一瞬,有些活了下来,有些已死,但基因被继承到其他项目里,活像进化历程。当然这些都是开源社区的常态。看完《大教堂与集市》,又混迹edX社区,发现这个项目还是很健康的,尽管看起来像个集市,人员来去自由,缺乏秩序。但社区的平行试错能力和bug反馈解决能力都很强大,是书中所言的那种健康
截止到今天,写入AUTHORS里的人一共193位,当然我这种只修复过小bug的渣渣也被写入,可见核心开发者也并不太多。整个社区还算健康吧,反正我挺喜欢的,对pull request的回馈也很及时,让参与者有被重视的感觉。
在web方面, Open edX应该是个很不小的项目了,定制了基础框架 django,用mako替换django鸡肋的模板,前端业务逻辑很复杂,使用了backbone.js。而js代码大多用coffeescript写,css混用Less和Sass来生成,而组件之间的通信采用RESTful
混乱程度,可见一斑, 技术层面估计只有被吐槽的份了,我倒是对它的组织和愿景更感兴趣。折腾edX,我开始喜欢上集市,并真心相信开源不只是一种信念,它是一种良好/高效的组织方式
edX里有个runtime蛮有趣的,最近社区正准备把课程组件迁移到Xblock,其核心便是runtime,如此一来,课程团队需要的话,可以根据课程需求去扩展edX,据说这是edx最成功的创新(也许是因为其他部分的平庸囧),就扩展性而言,非侵入且强大,还真是挺有趣的
在相似项目中,应该算得高大上了吧
第一反应是ajalt/fuckitpy · GitHub
The Python Error SteamrollerFuckIt.py uses state-of-the-art technology to make sure your Python code runs whether it has any right to or not. Some code has an error? Fuck it.
PyPy:用Python实现的Python
OpenStack:穷人的云计算