Showing posts with label app. Show all posts
Showing posts with label app. Show all posts

May 10, 2012

Versioning

django-reversion-compare - Add compare view to django-reversion for comparing two versions of a reversion model

Jan 8, 2012

Social apps

django-allauth - Integrated set of Django applications addressing authentication, registration, account management as well as 3rd party (social) account authentication. Visit http://jug.gl for a live demo
django-netauth - django auth backend (RU)

Dec 23, 2011

Requests: HTTP for Humans

Очень юзабельное приложение http://docs.python-requests.org/en/latest/index.html

И не менее красивый код https://github.com/kennethreitz/requests/blob/develop/requests/ Есть чему поучиться

Nov 10, 2011

Django applications

CMS

Mezzanine - An open source content management platform built using the Django framework.
django-fiber - a simple, user-friendly CMS
merengue - Merengue is a full-featured and pluggable CMS designed for creating websites, writing less code and mantaining clean, elegant and re-usable code.
feincms - A Django-based CMS with a focus on extensibility and concise code

Blog

django-multiblogs - An application for managing multiple blogs, and even *gasp* blog "sets".
django-articles - The blog engine that powers codekoala.com. See http://bitbucket.org/codekoala/django-articles/issues for the ticket tracker

Forum

pybbm - PyBB Modified. Django forum application

Feedback

django-basic-feedback - Provides a Feedback button on your pages and lets you view feedback via Django's admin site. Requires jQuery. 
Django-feedback

Shop

Plata - the lean and mean Django-based Shop
LFS - Lightning Fast Shop

Shopping cart

Cartridge -A Django shopping cart application

Categories

django-categories - This app attempts to provide a generic category system that multiple apps could use. It uses MPTT for the tree storage and provides a custom admin for better visualization

Wiki

django-wiki - Super simple pluggable wiki application for Django.
Hatta - Wiki engine that lives in Mercurial repository.

Poll

django-poll-system - The application to organize polling (or voting) on your site. Demo

Admin

django-admin-sortable - Drag and drop sorting for models and inline models in Django admin
django-admin-filtrate - This Django app makes it easier to create custom filters in the change list of Django Admin and supplies a TreeFilter and a DateRangeFilter too
django-exportable-admin - Provides a custom ModelAdmin which adds CSV export for changelist views

Hosts

django-subdomains - Subdomain tools for the Django framework, including subdomain-specific URL routing
django-hosts - Dynamic and static host resolving for Django. Maps host names to URLconfs

Db

django-denorm - provides a declarative way of denormalizing models in Django based applications while maintaining data consistency.

Permissions

django-object-permissions - A method for adding object-level or row-level permissions
django-moderation - is reusable application for Django framework, that allows to moderate any model objects.
django-su - Login as any user from the Django admin interface, then switch back when done

Messages

django-postman - User-to-User messaging system for Django, with gateway to AnonymousUser, moderation and thread management, user & exchange filters, auto-complete support.

Translation

django-transmeta - an application for translatable content in Django's models. Each language is stored and managed automatically in a different column at database level.

Template tag

django-ttag - A template tag constructor library for Django

Image

django-image-cropping - A reusable app for cropping images easily and non-destructively in Django

JavaScript and CSS Compression

django-pipeline - Pipeline is an asset packaging library for Django, providing both CSS and JavaScript concatenation and compression, built-in JavaScript template support, and optional data-URI image embedding.

Geo

django-cities - Countries and cities of the world for Django projects
django-countries - Nice little application for Django projects providing fixtures and models for a "complete" list of world countries

Map

django-leaflet - allows you to use Leaflet (version 0.3) in your Django projects.

PDF

pdfdocument - ReportLab-wrapper

Barcodes

python-qrcode - This module uses the Python Imaging Library (PIL) to allow for the generation of QR Codes.

CSV

django-csv-importer - Convert csv files into python object or django model
django-exportable-admin - Provides a custom ModelAdmin which adds CSV export for changelist views

Visitors analytic

httpagentparser - Extracts OS Browser etc information from http user agent string
django-mobi - Django middleware and view decorator to detect phones and small-screen devices.
geobaza - Geobaza is the software for geolocation by IP-address.
django-online-counter - Django online visitor counter

JavaScript

djangbone - Django backends to talk to Backbone.js
dajaxproject - Easy to use AJAX libraries for django

Autocomplete/Select

django-ajax-selects - jQuery UI-powered auto-complete fields for ForeignKey, ManyToMany and text fields
django-chosen - django FormFields using the Chosen javascript plugin for jQuery
django-smart-selects - chained and grouped selects for django forms

Inline edition

django-inplaceedit - allows inline edition of some data from the database

File upload

plupload - The developers of TinyMCE brings you Plupload, a highly usable upload handler for your Content Management Systems or similar. Plupload is currently separated into a Core API and a jQuery upload queue widget this enables you to either use it out of the box or write your own custom implementation.
uploadify - Uploadify is a jQuery plugin that integrates a fully-customizable multiple file upload utility on your website. It uses a mixture of Javascript, ActionScript, and any server-side language to dynamically create an instance over any DOM element on a page.

JSON

django-serverpush - django server push solution

GUI

pyside - bindings for the Qt cross-platform application and UI framework
wxpython - a blending of the wxWidgets C++ class library with the Python programming language

Testing

selenium - Python bindings for Selenium
django-selenium - Selenium testing support for django

Logging

django-peavy
  • Middleware to tag each request with a unique ID.
  • Logging filters to capture request metadata like user, remote IP, and headers.
  • Logging handlers for:
    • Capturing exception information, including a copy of the Django server error page, in a database.
    • Sending error notifications to admins without revealing sensitive information like the contents of request.POST.
  • A database router for sending log records to a separate database.
  • A simple user interface for browsing log records in the database.
django-object-log - A method for logging user actions on models

Profiling

django-profiler - Util for profiling python code mainly in django projects but can be used also on ordinary python code. It counts sql queries a measures time of code execution.
django-debug-logging - A plugin for the Django-Debug-Toolbar to provide statistic logging and a UI for reviewing the logs.
django-statsd - Integration between statsd and django. It allows you to use different clients, sends timings as middleware and integrates with django debug toolbar.
psutil - is a module providing an interface for retrieving information on all running processes and system utilization (CPU, disk, memory, network) in a portable way by using Python, implementing many functionalities offered by command line tools.

Data visualization

django-graphviz

Nov 8, 2011

Data apps for Django

django-tables2

Simplifies the task of turning sets of data into HTML tables. It has native support for pagination and sorting

{% load django_tables2 %}
{% render_table table %}

django-autoreports (csv export)

Autoreports is a Django application that lets you create reports in very Django Admin listing
Redefine 'admin/change_list.html' templates as follows
{% load adminmedia admin_list i18n autoreports_tags %} {# add auto_reports_tags #}

#...#

{% block object-tools %}
  {% if has_add_permission %}
    <ul class="object-tools">
      <li>
        <a href="add/{% if is_popup %}?_popup=1{% endif %}" class="addlink">
          {% blocktrans with cl.opts.verbose_name as name %}Add {{ name }}{% endblocktrans %}
        </a>
      </li>
      {% autoreports_admin %} {# add this stuff #}
    </ul>
  {% endif %}
{% endblock %}

#...#
For basic usage you have to api, and you can export to CSV each models.
/autoreports/app_label/module_name/
/autoreports/app_label/module_name/?filter1=value1

django-easyfilters

Easy creation of link-based filtering for a list of Django model objects. Demo

django-datatables - datatables.net

Nov 7, 2011

django-fabfile

django-fabfile - Fabric tasks for Django and Amazon Web Services

Forms apps, snippets, widgets

django-forms-ext

Fields
  • ForeignKeyChoiceField - When you have a formset that has a foreign key, Django will fire off a new (identical) query to build the choices for that field for each form in the formset by default. Using this field will allow you to run the query once for the choices and re-use that queryset for each form in the formset. CommaSeparatedField - Django has a comma separated integer field, but not just strings. Stupid, I know... we created one for use with strings 
  • QuerysetChoiceField - When you want to build a select box with a queryset but don't want a model instance when saving, use this thing. 

Views
  • FormSetView - Django 1.3's generic views do not include a FormSet view. That's what this is.

django-stdfields

Fields
  • MinutesField: use an integer to represent a duration of minutes and hours
  • EnumIntegerField: makes working with choices a bit easier
  • EnumCharField: the same, but for choices with a char key

django-forms-builder

A Django reusable app providing the ability for admin users to create their own forms

django-bfm

  • Multifile Uploads (Open File Dialog)
  • Live Upload Status report (Upload applet)
  • File browsing
  • Directory support
  • Core features has no dependencies (except for Django), lightweight
  • Looks like django admin (extends admin template)

django-custom-field

Allow end users to create easy (but slower to work with) fields attached to any Django model. Includes support so fields show up in the admin interface and helper functions that make it easy to access any custom fields programmatically.

django-wizard

allows views to be organized into steps for linear page flows

django-easyfilters

http://pypi.python.org/pypi/django-easyfilters/ - Easy creation of link-based filtering for a list of Django model objects.

Nov 3, 2011

geobaza - Geobaza is the software for geolocation by IP-address.

Nov 1, 2011

Images processing apps

django-imagekit
from django.db import models
from imagekit.models import ImageSpec
from imagekit.processors import resize, Adjust

class Photo(models.Model):
    original_image = models.ImageField(upload_to='photos')
    thumbnail = ImageSpec([Adjust(contrast=1.2, sharpness=1.1),
            resize.Crop(50, 50)], image_field='original_image',
            format='JPEG', quality=90)

Translation apps

django-linguo

from linguo.models import MultilingualModel
from linguo.managers import MultilingualManager

class Product(MultilingualModel):
    name = models.CharField(max_length=255, verbose_name=_('name'))
    description = models.TextField(verbose_name=_('description'))
    price = models.FloatField(verbose_name=_('price'))

    objects = MultilingualManager()

    class Meta:
        # name and description are translatable fields
        translate = ('name', 'description')

Oct 28, 2011

django-uuslug

https://github.com/un33k/django-uuslug - Guarantee a unique unicode slug for use in Django projects

Oct 26, 2011

CMSs

django-fiber
ella - Ella is an opensource CMS based on the Django framework. It originated in CentrumHoldings as CMS for their lifestyle magazines (mainly Žena.cz) with an ambition to become the only CMS powering all CentrumHoldings content websites from lifestyle magazines with medium traffic to news sites with millions of pageviews per day.

Oct 22, 2011

django-helptext

http://pypi.python.org/pypi/django-helptext/0.3 - A django application for editing django model field help text in the django admin

Oct 21, 2011

The Python Standard Library

http://docs.python.org/library/index.html

References & Development Aides

Oct 20, 2011

Django caching

Полезная презентация: Cache rules everything around me
http://lanyrd.com/2011/djangocon-us/shbrr/

django-cacheops

A slick app that supports automatic or manual queryset caching and automatic granular event-driven invalidation. It can also cache results of user functions and invalidate them by time or the same way as querysets. It uses redis as backend for ORM cache and redis or filesystem for simple time-invalidated one.

django-newcache

Ничего особо полезного не нашел. Есть бэкенд для pylibmc, но такой уже имеется в джанге.

johnny-cache

Кэширует все запросы. есть серьезные ограничения
Avoiding the database at all costs was not a goal, so different ordering clauses on the same dataset are considered different queries. Since invalidation happens at the table level, any table having been modified makes the cached query inaccessible
# cached, depends on `publisher` table
p = Publisher.objects.get(id=5)
# cached, depends on `book` and `publisher` table
Book.objects.all().select_related('publisher')
p.name = "Doubleday"
# write on `publisher` table, modifies publisher generation
p.save()
# the following are cache misses
Publisher.objects.get(id=5)
Book.objects.all().select_related('publisher')

django-autocache

В объект добавляется поле cache.
Instance Caching
class Model(django.models.Model):
    cache = autocache.CacheController()
    field = django.models.TextField()

Model.objects.get(pk=27)    # hits the database
Model.cache.get(27)         # Tries cache first
Related Objects Caching
instance = Model.cache.get(pk=27)
related_things = instance.things_set.all()  # hits the database
related_things = instance.cache.things_set  # Tries cache first
 Тоже есть ограничения
Autocache relies on the post_save and post_delete signals to keep your cache up to date. Performing operations that alter the database state without sending these signals will result in your cache becoming out of sync with your database.

cache-machine

Еще одна библиотека для автоматического кэширования и инвалидации. Ограничение - CachingManager должен быть менеджером модели по умолчанию
from django.db import models

import caching.base

class Zomg(caching.base.CachingMixin, models.Model):
    val = models.IntegerField()

    objects = caching.base.CachingManager()

django-cache-utils2

Django caching decorator + invalidate function
from cache_utils2 import cached, invalidate

@cached(60)
def foo(x, y=0):
    print 'foo is called'
    return x+y

foo(1, 2) # foo is called
foo(1, y=2)
foo(5, 6) # foo is called
foo(5, 6)
invalidate(foo, {'x': 1, 'y': 2})
foo(1, 2) # foo is called
foo(5, 6)
foo(x=2) # foo is called
foo(x=2)

Sep 23, 2011

django_graceful

django_graceful - Плавный перезапуск FastCGI-процессов

Его идея проста: настройки FastCGI хранятся в файле settings.py, а для управления FastCGI-процессами используются простые команды из manage.py. Эти команды поддерживают несколько параллельно запущенных экземпляров FastCGI-сервера и позволяют переключать веб-сервер между ними с помощью символической ссылки на файл unix-socket-а, то есть без перезапуска веб-сервера.