-
Notifications
You must be signed in to change notification settings - Fork 103
Web App Development Essentials
Richard Forshaw edited this page Apr 14, 2015
·
7 revisions
These are the tools that you absolutely must have and why
Tool | What it does | Why you need it | Included in Anaconda? |
---|---|---|---|
Django | Makes backend web development easy | Whaaaat? You don't know why? Just use it and find out... | Yes |
dj-database-url | URL-encodes database connections | Small Django extension which allows you to set database connections in an application & platform agnostic way. (Note, if you want to take the next step, consider django-environ ) | No |
static and dj-static | Serves static media better than Django | A Django extension for serving static files simply and effectively. _Note: Possible upgrade to whitenoise | No |
django-debug-toolbar | Debugging for Django | Because debugging. | No |
nose and django-nose | A better testing framework for Python and Django | Because testing. | Yes |
redis and django-redis | Fast caching of your site | Redis is an advanced key-value-pair database which can be used as your Django Cache storage to speed up your web application | Yes |
gunicorn | Light-weight web server for Python | Much more light-weight than something like Apache, and integrates with Django & WSGI out of the box. Used for the Heroku platform as you need to install your own Web Server | Yes |
ipdb | Python's 'pdb' debug tool with additional IPython functionality | If you are used to using pdb then you don't necessarily need this, but it's recommended as a better version if pdb | No. However Anaconda does come with IPython |
IPython | A powerful and versatile interactive Python interpreter | Just trust us. | Yes |
psycopg2 | Python DB interface module for Postgres | Click uses postgreSQL by default, and this is the most popular Python iterface to Postgres. | Yes |
pytz | Brings advanced timezone support to Python, allowing you to build apps using timezones without thinking too hard | Because timezones require thinking hard | Yes |
python-dateutil | Extensions to the standard python datetime module | Advanced date and time functions | Yes |
requests | Advanced handling of HTTP requests | Because no-one likes urllib2. Or possibly ever did. (Unless of course you like httplib2...) | Yes |
virtualenvwrapper | Manages python dependencies on a per-project basis | Allows you to run multiple project on the same OS instance independently of each other | No, but VirtualEnv is |
AutoEnv | Manipulate environment settings dependent on your folder location | Allows you to easily assign environment variables relevant only to your project | No |
The following is a list of Platforms, Architecture and Philosophies that Click Engineering projects are built on.
The web framework for perfectionists with deadlines. Probably the most extensive Python-Web-Framework out there. Does so many things out of the box.
Platform for deploying web applications. Goes well with Django
A philosophy for making your web app simple, scalable, easy to deploy and develop and suited to modern cloud platforms.