Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Django Software Stack (sourcefabric.org)
88 points by _1rgc on Jan 17, 2011 | hide | past | favorite | 24 comments


Great list, one thing that might be interesting for a lot of folks is django-sentry, developed by the folks at disqus. That app allows you to do centralized logging from an arbitrary number of django (or other python) applications. Saves a lot of hassle especially for widely distributed systems!

EDIT Link: https://github.com/dcramer/django-sentry


We use pip over easy_install

http://pip.openplans.org/


pip + requirements file + virtualenv (virtualenvwrapper) makes the setup of an development environment really easy. With virtualenvwrapper you can hook into different scripts, for example when you start/switch working on a project


Is there a good step-by-step on a setup like this? I've used RVM for Ruby and that is pretty straight forward...

Someone commenting on their workflow using these tools would be awesome as well.


I've been bitten by this a few times as pypi was down. I still do this, but I'm thinking about setting up some private hosting for the libs I need.


"Private hosting" in this case, can be as simple as a plain-jane Apache server with some tarballs in a directory with listing turned on. Use -f to point pip to the directory. Instant private hosting. This is more or less how we publish internal libraries at work.


you don't need pypi to use pip.


Rvm does well for ruby


And of course some asshat downvotes because you bring up ruby...

I'll just point out that rvm isn't a pip for ruby. It only manages what version of ruby you're currently using and allows seamless switching. It comes in handy with ruby because of all the compatibility issues between ruby versions and rails versions. Pip is a sophisticated package manager that can be used with virtualenv to isolate where Python libraries are installed. They are indeed both good tools for development but serve different purposes.


RVM also manages gemsets, which lets you quickly save and switch the set of installed gems (packages). You're correct that it doesn't replace gem as a package manager.


At this point, pip is the way to install Python packages. Anyone who's pointing you otherwise is a bit out-of-date (touch?).


Sure that's "the word on the street" so to speak, but is pip really so much of an improvement over easy_install (or buildout, no experience with it) ? Don't get me wrong, I like and use pip as much as of the next python guy, but I often get the impression that pip (and virtualenv) have an almost fanboyish charm; many/most of their advocates just ape each other and they'd be strongly pressed to explain why they are so much better than the alternatives (if they are even aware of them).


What is awesome is that easy_install always seemed to work for me. Having access to pip is icing on the cake now.

I tried to install Ruby the other day and I swear the packaging is broken 9 times out of 10.


Does pip install required Windows binaries like easy_install?


The original page is 404 for me. This is the correct link:

http://sourcefabric.org/en/community/blog/139/Django-Softwar...


Django Packages is another great way to figure out what apps other people are using:

http://djangopackages.com/categories/apps/


"As far as (non-mission critical)web frameworks go, I think these days you have two options: Python/Django and Ruby/Rails."

I wonder what the author means by "non-mission critical?" Someone considering writing a web app in Django/Rails that is used by thousands of customers might be scared off by that statement.


I read this to mean that after some level of complexity all generic frameworks break down, you have to rewrite parts of them to better address your requirements, be it functional or performance related. It's not a coincidence that some of the largest Python web shops build on top of Pylons instead of Django as it has smaller footprint and it's easier to customize.


I have always thought that "mission critical" software means that if something goes wrong, a human being might get hurt (ie: heavy machinery, missiles, etc.)



Typo: The templating lib is called Jinja, not Jinga.


I love python and Django but this highlights one of the main things I don't like about Django development, the thousand of packages you end up using.


Oddly enough, that's also one of the advantages. small pluggable apps are the use model for django.


As opposed to what? Having to write all the code in-house yourself? Or giant, monolithic applications that are guaranteed to cross scope with one another and probably yell and scream if you try to take one of their dependencies out for ones that you prefer?

Small, independent, and interchangeable parts works. It works damn well. I've yet to see a better alternative.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: