PMXBOT Log file Viewer

Help | Karma | Search:

#pypa-dev logs for Sunday the 22nd of May, 2016

(Back to #pypa-dev overview) (Back to channel listing) (Animate logs)
[13:06:25] <nlh> ping dstufft
[15:06:27] <dstufft> nlh: pong, unless it was about that paragraph I guess :]
[16:11:07] <agronholm> dstufft: I had a chance to look at warehouse code and its use of sqlalchemy, and only one thing struck as odd to me
[16:11:17] <agronholm> that model classes were all over the place
[16:11:29] <agronholm> templates at least were neatly tucked inside one directory hierarchy
[16:12:53] <dstufft> agronholm: that's probably largely coming from my Django background, where I conceptually make things like "packaging" "accounts" etc their own apps
[16:12:55] <dstufft> "Apps"
[16:13:20] <apollo13> curious, you did start out with django iirc, why did you decide to drop it?
[16:13:44] <agronholm> wasn't warehouse first a flask app? at least I worked on it while it still was
[16:14:01] <agronholm> before flask it was plain werkzeug
[16:14:26] <dstufft> Warehouse has beena lot of things :] Started out as a Werkzeug + my Custom framework, then someone poted it to Flask but Id on't think we ever merged it, then I started to do it in Django, then finally settled on Pyramid
[16:15:07] <dstufft> Werkzeug + my Custom Framework got ditched because, well it meant figuring out a lot of things was blocked on me taking the time to figure out the "my custom framework way" of solving X
[16:15:08] <agronholm> ah
[16:15:33] <dstufft> Flask never got merged (or got ditched... I don't recall) because I really dislike Flask's "lol let's stick everything in a thread local" thing
[16:15:36] <agronholm> fwiw I think pyramid is the best option available
[16:16:22] <apollo13> I am obviously biased, but I think django could have been okayish if we had compound primary keys and stuff
[16:16:51] <apollo13> the "full-blown" aspect of django makes it easier for people to get on board, that said, if one is into webdev, there should be no problem with pyramid either
[16:17:35] <dstufft> Django probably would have worked, but I decided against it largely because of flexibility- The Django ORM wasn't as powerful as SQLAlchemy so it took more work to try and port things to it (you can see the accounts table today mirrors Django's, as an artifact of me trying to retrofit our DB into Django). Of course Django doesn't force you to use the ORM, but once you drop the ORM you lose a lot of the benefits of Django
[16:18:40] <dstufft> I also wanted to use Jinja2, which again, you can use in Django but at the time (this was before mYk's multi template stuff) that typically meant hacks or ditching a lot of the Django apps or needing to rewrite all of the templates
[16:19:12] <dstufft> by the time you switch out DTL and the Django ORM, it felt like Django was basically just a glorified request router :]
[16:19:53] <apollo13> dstufft: absolutely, I think with 1.10 the world looks quite different once again
[16:23:04] <dstufft> There were also some smaller niggles, mostly related to the fact that we do some weird things for historical reasons and Pyramid made them slightly easier to do because it's a bit more flexible as a whole than Django is. (The flip side of that is I've had to pull in bits of stuff from Django to get the same level of out of the box security)
[16:23:58] <dstufft> so yea, that's basically why Pyramid over all the other options I tried, I didn't try bottle or whatever other fraemwork out there so no idea if they would have worked or not :]