{ "info": { "author": "Jaroslaw Lachowski", "author_email": "jalachowski@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Internet :: Log Analysis", "Topic :: Internet :: WWW/HTTP :: Dynamic Content :: Page Counters", "Topic :: Internet :: WWW/HTTP :: WSGI :: Middleware", "Topic :: Security", "Topic :: System :: Monitoring", "Topic :: Utilities" ], "description": "This is a clone of ``django-tracking`` is at http://bitbucket.org/codekoala/django-tracking\n\n``django-tracking`` is a simple attempt at keeping track of visitors to\nDjango-powered Web sites. It also offers basic blacklisting capabilities.\n\nThe offial and original repository for ``django-tracking`` is at\nhttp://bitbucket.org/codekoala/django-tracking.\n\nFeatures\n========\n\n* Tracks the following information about your visitors:\n\n * Session key\n * IP address\n * User agent\n * Whether or not they are a registered user and logged in\n * Where they came from (http-referer)\n * What page on your site they last visited\n * How many pages on your site they have visited\n\n* Allows user-agent filtering for visitor tracking\n* Automatic clean-up of old visitor records\n* Can ban certain IP addresses, rendering the site useless to visitors from\n those IP's (great for stopping spam)\n* The ability to have a live feed of active users on your website\n* Template tags to:\n\n * display how many active users there are on your site\n * determine how many active users are on the same page within your site\n\n* Optional \"Active Visitors Map\" to see where visitors are in the world\n\nRequirements\n============\n\nAs far as I am aware, the only requirement for django-tracking to work is a\nmodern version of Django. I developed the project on Django 1.0 alpha 2 and\nbeta 1. It is designed to work with the newforms-admin functionality.\n\nIf you wish to use a Google Map to display where your visitors are probably at,\nyou must have a `Google Maps API key\n`_, which is free. You\nare required to have the `GeoIP C API library\n`_ installed.\nYou might want to grab the `GeoLite City binary\n`_ unless you are a paying MaxMind\ncustomer. This is the data file that ``django-tracking`` uses to translate an\nIP into a location on the planet. Configuring this feature is discussed later.\n\nInstallation\n============\n\nDownload ``django-tracking`` using *one* of the following methods:\n\npip\n---\n\nYou can download the package from the `CheeseShop\n`_ or use::\n\n pip install django-tracking-jl\n\nto download and install ``django-tracking``.\n\neasy_install\n------------\n\nYou can download the package from the `CheeseShop `_ or use::\n\n easy_install django-tracking-jl\n\nto download and install ``django-tracking``.\n\nCheckout from GitHub\n--------------------\n\nUse one of the following commands::\n\n git clone http://github.com/jlachowski/django-tracking.git\n\nPackage Download\n================\n\nDownload the latest ``.tar.gz`` file from the downloads section and extract it\nsomewhere you'll remember.\n\nConfiguration\n=============\n\nFirst of all, you must add this project to your list of ``INSTALLED_APPS`` in\n``settings.py``::\n\n INSTALLED_APPS = (\n 'django.contrib.admin',\n 'django.contrib.auth',\n 'django.contrib.contenttypes',\n 'django.contrib.sessions',\n 'django.contrib.sites',\n ...\n 'tracking',\n ...\n )\n\nRun ``manage.py syncdb``. This creates a few tables in your database that are\nnecessary for operation.\n\nDepending on how you wish to use this application, you have a few options:\n\nVisitor Tracking\n----------------\n\nAdd ``tracking.middleware.VisitorTrackingMiddleware`` to your\n``MIDDLEWARE_CLASSES`` in ``settings.py``. It must be underneath the\n``AuthenticationMiddleware``, so that ``request.user`` exists.\n\nAutomatic Visitor Clean-Up\n++++++++++++++++++++++++++\n\nIf you want to have Django automatically clean past visitor information out\nyour database, put ``tracking.middleware.VisitorCleanUpMiddleware`` in your\n``MIDDLEWARE_CLASSES``.\n\nIP Banning\n----------\n\nAdd ``tracking.middleware.BannedIPMiddleware`` to your ``MIDDLEWARE_CLASSES``\nin ``settings.py``. I would recommend making this the very first item in\n``MIDDLEWARE_CLASSES`` so your banned users do not have to drill through any\nother middleware before Django realizes they don't belong on your site.\n\nVisitors on Page (template tag)\n-------------------------------\n\nMake sure that ``django.core.context_processors.request`` is somewhere in your\n``TEMPLATE_CONTEXT_PROCESSORS`` tuple. This context processor makes the\n``request`` object accessible to your templates. This application uses the\n``request`` object to determine what page the user is looking at in a template\ntag.\n\nActive Visitors Map\n===================\n\nIf you're interested in seeing where your visitors are at a given point in\ntime, you might enjoy the active visitor map feature. Be sure you have added a\nline to your main URLconf, as follows::\n\n from django.conf.urls.defaults import *\n\n urlpatterns = patterns('',\n ....\n (r'^tracking/', include('tracking.urls')),\n ....\n )\n\nNext, set a couple of settings in your ``settings.py``:\n\n* ``GOOGLE_MAPS_KEY``: Your very own Google Maps API key\n* ``TRACKING_USE_GEOIP``: set this to ``True`` if you want to see markers on\n the map\n* ``GEOIP_PATH``: set this to the absolute path on the filesystem of your\n ``GeoIP.dat`` or ``GeoIPCity.dat`` or whatever file. It's usually something\n like ``/usr/local/share/GeoIP.dat`` or ``/usr/share/GeoIP/GeoIP.dat``.\n* ``GEOIP_CACHE_TYPE``: The type of caching to use when dealing with GeoIP data:\n\n * ``0``: read database from filesystem, uses least memory.\n * ``1``: load database into memory, faster performance but uses more\n memory.\n * ``2``: check for updated database. If database has been updated, reload\n filehandle and/or memory cache.\n * ``4``: just cache the most frequently accessed index portion of the\n database, resulting in faster lookups than ``GEOIP_STANDARD``, but less\n memory usage than ``GEOIP_MEMORY_CACHE`` - useful for larger databases\n such as GeoIP Organization and GeoIP City. Note, for GeoIP Country,\n Region and Netspeed databases, ``GEOIP_INDEX_CACHE`` is equivalent to\n ``GEOIP_MEMORY_CACHE``. *default*\n\n* ``DEFAULT_TRACKING_TEMPLATE``: The template to use when generating the\n visitor map. Defaults to ``tracking/visitor_map.html``.\n\nWhen that's done, you should be able to go to ``/tracking/map/`` on your site\n(replacing ``tracking`` with whatever prefix you chose to use in your URLconf,\nobviously). The default template relies upon jQuery for its awesomeness, but\nyou're free to use whatever you would like.\n\nUsage\n=====\n\nTo display the number of active users there are in one of your templates, make\nsure you have ``{% load tracking_tags %}`` somewhere in your template and do\nsomething like this::\n\n {% visitors_on_site as visitors %}\n

\n {{ visitors }} active user{{ visitors|pluralize }}\n

\n\nIf you also want to show how many people are looking at the same page::\n\n {% visitors_on_page as same_page %}\n

\n {{ same_page }} of {{ visitors }} active user{{ visitors|pluralize }}\n {{ same_page|pluralize:\"is,are\" }} reading this page\n

\n\nIf you don't want particular areas of your site to be tracked, you may define a\nlist of prefixes in your ``settings.py`` using the ``NO_TRACKING_PREFIXES``. For\nexample, if you didn't want visits to the ``/family/`` section of your website,\nset ``NO_TRACKING_PREFIXES`` to ``['/family/']``.\n\nIf you don't want to count certain user-agents, such as Yahoo!'s Slurp and\nGoogle's Googlebot, you may add keywords to your visitor tracking in your\nDjango administration interface. Look for \"Untracked User-Agents\" and add a\nkeyword that distinguishes a particular user-agent. Any visitors with the\nkeyword in their user-agent string will not be tracked.\n\nBy default, active users include any visitors within the last 10 minutes. If\nyou would like to override that setting, just set ``TRACKING_TIMEOUT`` to however\nmany minutes you want in your ``settings.py``.\n\nFor automatic visitor clean-up, any records older than 24 hours are removed by\ndefault. If you would like to override that setting, set\n``TRACKING_CLEANUP_TIMEOUT`` to however many hours you want in your\n``settings.py``.\n\nGood luck! Please contact me with any questions or concerns you have with the\nproject!", "description_content_type": null, "docs_url": null, "download_url": null, "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jlachowski/django-tracking", "keywords": "django,tracking,visitors", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "django-tracking-jl", "package_url": "https://pypi.org/project/django-tracking-jl/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-tracking-jl/", "project_urls": { "Homepage": "https://github.com/jlachowski/django-tracking" }, "release_url": "https://pypi.org/project/django-tracking-jl/0.5.8/", "requires_dist": null, "requires_python": null, "summary": "Basic visitor tracking and blacklisting for Django", "version": "0.5.8" }, "last_serial": 1782765, "releases": { "0.5.0": [ { "comment_text": "", "digests": { "md5": "2746d0258faee791a6f664e43703391e", "sha256": "f013cb06b7c2d2e0efe907dc56af1c4d0fc4640c7848ead3bcc8e295973a1bd2" }, "downloads": -1, "filename": "django-tracking-jl-0.5.0.tar.gz", "has_sig": false, "md5_digest": "2746d0258faee791a6f664e43703391e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1911635, "upload_time": "2014-08-12T18:07:58", "url": "https://files.pythonhosted.org/packages/f8/bd/0ee63ebd23c656b045cb7977278b2cd90cdcf669a2737e30b571221e56a1/django-tracking-jl-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "08271fadf8556dffd946fbf2b6eeedae", "sha256": "f97f476dd48f5e08b231f8200cb0cfc530cfe6ec85c9a185d704fba11494976a" }, "downloads": -1, "filename": "django-tracking-jl-0.5.1.tar.gz", "has_sig": false, "md5_digest": "08271fadf8556dffd946fbf2b6eeedae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1916532, "upload_time": "2015-05-08T17:53:34", "url": "https://files.pythonhosted.org/packages/a4/0c/d3ae6ea3fa247ffe73e85551cb163b345bbeaaf5413c685807b14e4bde95/django-tracking-jl-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "17feaa63064e56bd1425b92052523e20", "sha256": "3d299f764415fa7766c9b9f0470cb9570a847ec17f05439793f796cf6c6c0f7f" }, "downloads": -1, "filename": "django-tracking-jl-0.5.2.tar.gz", "has_sig": false, "md5_digest": "17feaa63064e56bd1425b92052523e20", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1916609, "upload_time": "2015-05-08T18:32:29", "url": "https://files.pythonhosted.org/packages/be/34/c1c3ce083633a19f3ef8cbc1ff506b188fc4b29f87766911cf464408ca0c/django-tracking-jl-0.5.2.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "217ce6f301f7ed23eb648b39ea7e7193", "sha256": "188e14d24008e0751f70568ac525f52c0da049e31f18fac34a16f76faa0dc5d3" }, "downloads": -1, "filename": "django-tracking-jl-0.5.3.tar.gz", "has_sig": false, "md5_digest": "217ce6f301f7ed23eb648b39ea7e7193", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1916613, "upload_time": "2015-05-14T12:44:10", "url": "https://files.pythonhosted.org/packages/d2/4e/5671ba9f4fc50105e67e701ad144539415c9aa6c25b843dded440c52ddc8/django-tracking-jl-0.5.3.tar.gz" } ], "0.5.5": [], "0.5.6": [ { "comment_text": "", "digests": { "md5": "8f3998df240b100e7d4e40a7b03c50d0", "sha256": "0d4f7ec96d3b4c9acd5bc7b13ea7376f608635fb75def01483915e47dd1dc26f" }, "downloads": -1, "filename": "django-tracking-jl-0.5.6.tar.gz", "has_sig": false, "md5_digest": "8f3998df240b100e7d4e40a7b03c50d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1916521, "upload_time": "2015-05-15T15:08:19", "url": "https://files.pythonhosted.org/packages/ec/40/441e70ee35145547ba5e413c86f190210c5902fd9670a40755930005bf2a/django-tracking-jl-0.5.6.tar.gz" } ], "0.5.7": [ { "comment_text": "", "digests": { "md5": "d7f57691f2b013208b99cc5ac69547db", "sha256": "ee4679483585a74b5437ccd3243bcf73bdccdaa252aaba7931bda2dd0633d12c" }, "downloads": -1, "filename": "django-tracking-jl-0.5.7.tar.gz", "has_sig": false, "md5_digest": "d7f57691f2b013208b99cc5ac69547db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1921626, "upload_time": "2015-10-01T18:01:52", "url": "https://files.pythonhosted.org/packages/b4/65/1512d43b87242d98d506449e0421e395f835bcb2333bd71ba04dd0841228/django-tracking-jl-0.5.7.tar.gz" } ], "0.5.8": [ { "comment_text": "", "digests": { "md5": "44077db4569ca62fb2a11e72023e48c1", "sha256": "957129086f6eab313097a0267e4264248257c5f7ee0549580659de94be7c58eb" }, "downloads": -1, "filename": "django-tracking-jl-0.5.8.tar.gz", "has_sig": false, "md5_digest": "44077db4569ca62fb2a11e72023e48c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1921634, "upload_time": "2015-10-23T11:41:05", "url": "https://files.pythonhosted.org/packages/91/14/9ab580125af5411448c3b5af185e49faef941c9eac0940ee98f695701ea8/django-tracking-jl-0.5.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "44077db4569ca62fb2a11e72023e48c1", "sha256": "957129086f6eab313097a0267e4264248257c5f7ee0549580659de94be7c58eb" }, "downloads": -1, "filename": "django-tracking-jl-0.5.8.tar.gz", "has_sig": false, "md5_digest": "44077db4569ca62fb2a11e72023e48c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1921634, "upload_time": "2015-10-23T11:41:05", "url": "https://files.pythonhosted.org/packages/91/14/9ab580125af5411448c3b5af185e49faef941c9eac0940ee98f695701ea8/django-tracking-jl-0.5.8.tar.gz" } ] }