dgr
django-geoip-redis
pypi i django-geoip-redis
dgr

django-geoip-redis

App to figure out where your visitors are from by their IP address. Based on default DB or Redis.

by GoTLiuM InSPiRiT

1.2.2 (see all)License:GPL v3
pypi i django-geoip-redis
Readme

Django-GeoIP-Redis

.. image:: https://api.travis-ci.org/gotlium/django-geoip-redis.png?branch=master :alt: Build Status :target: https://travis-ci.org/gotlium/django-geoip-redis .. image:: https://coveralls.io/repos/gotlium/django-geoip-redis/badge.png?branch=master :target: https://coveralls.io/r/gotlium/django-geoip-redis?branch=master .. image:: https://pypip.in/v/django-geoip-redis/badge.png :alt: Current version on PyPi :target: https://crate.io/packages/django-geoip-redis/ .. image:: https://pypip.in/d/django-geoip-redis/badge.png :alt: Downloads from PyPi :target: https://crate.io/packages/django-geoip-redis/

Documentation available at Read the Docs <http://django-geoip-redis.readthedocs.org/>_.

Demo installation:

.. code-block:: bash

$ sudo apt-get install redis-server virtualenvwrapper
$ mkvirtualenv django-geoip-redis
$ git clone https://github.com/gotlium/django-geoip-redis.git
$ cd django-geoip-redis
$ pip install -r requirements/package.txt
$ python setup.py develop
$ cd demo
$ pip install -r requirements.txt
$ python manage.py syncdb --noinput
$ python manage.py migrate
$ python manage.py loaddata ../fixtures/db.json
$ python manage.py shell

.. code-block:: python

>>> from geoip.geo import record_by_ip_as_dict
>>> print (record_by_ip_as_dict('91.195.136.52'))

If you want use native db for local development, you can add GEO_BACKEND = 'db' into local_settings.py

Performance:

  • django-geoip-redis:

    • MySQL(SSD): 728 rps
    • SQLite(SSD): 46 rps
    • Redis: 3548 rps
  • django-geoip(no isp, no provider):

    • MySQL(SSD): 855 rps
    • SQLite(SSD): 47 rps
  • django.contrib.gis.geoip.GeoIP(no isp, no provider, but C API):

    • standard: 4666 rps
    • memory: 73 rps
    • check: 4510 rps
    • index: 76 rps
    • mmap: 4425 rps

Tested on Ubuntu 12.04(x86_64), Django(1.6), uWSGI(1.0.3), Nginx(1.1.19) with Apache Benchmark:

.. code-block:: bash

$ ab -c 100 -n 1000 http://localhost/ip/91.195.136.52/

| On tests used default configuration for Redis & MySQL without any modifications. | | Demo page available here <http://geoip-gotlium.rhcloud.com/ip/91.195.136.52/>_.

Compatibility:

  • Python: 2.6, 2.7, 3.3
  • Django: 1.3.x, 1.4.x, 1.5.x, 1.6

.. image:: https://d2weczhvl823v0.cloudfront.net/gotlium/django-geoip-redis/trend.png :alt: Bitdeli badge :target: https://bitdeli.com/free

GitHub Stars

13

LAST COMMIT

9yrs ago

MAINTAINERS

1

CONTRIBUTORS

3

OPEN ISSUES

0

OPEN PRs

3
VersionTagPublished
1.2.2
9yrs ago
1.2.1
9yrs ago
1.2
9yrs ago
1.1.2
9yrs ago
No alternatives found
No tutorials found
Add a tutorial