{ "info": { "author": "Justin Quick", "author_email": "justquick@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Utilities" ], "description": "Mongol\n======\n\n:Authors:\n Justin Quick \n:Version: 0.1\n\n\n::\n\n pip install mongol==0.1.0\n\nMongol is a web analytics tool to let you track your site's traffic and generate custom reports.\nIt uses MongoDB as the datastore and Python with pymongo to populate and query the database.\nIt uses standard WSGI to gather analytics information and serve a tracking GIF pixel.\nCustom analytics data can be tossed at the service and you can then make custom reports to track pretty much anything you want.\nThis project is perfect at answering questions like *\"What are the top 10 most viewed pages?\"*\n\nRequirements\n--------------\n\nMongol requires `pymongo `_ to connect to a `MongoDB `_ instance.\nFor the serivce, it is recomended to use with `Gevent `_ but it also works with `Tornado `_ and even `Apache `_/`mod_wsgi `_.\nHere is the recomended list of requirements::\n\n sudo pip install pymongo gevent\n \nInstall\n--------\n\nSetup and install MongoDB. Here is their `quickstart guide `_.\nNext, download the source code and install the scripts::\n\n git clone git://github.com/justquick/mongol.git\n cd mongol\n sudo python setup.py install\n\n\n``mongol-serve``\n-----------------\n\n::\n\n mongol-serve [address:port]\n \nStarts the service instance at the optional address and port. Defaults to host at 0.0.0.0:8000.\nThis service hosts the tracking GIF but you can pass any sort of analytics data as ``GET`` parameters.\nThe only two required parameters are 1) ``site`` which is the domain of your site and 2) ``url`` which is the absolute URL of the page you wish to track.\n``site`` and ``url`` will be populated if ``HTTP_REFERER`` which the browser sends as the page that the tracking GIF was found on.\nAny other ``GET`` parameters are stored for later use.\n\n``mongol-report``\n-----------------\n\n::\n\n mongol-report config-file\n \nGenerates JSON reports from the analytics database based on the configuration parameters found in the ``config-file`` filename argument.\nThis is best put on a cronjob so that the generated reports are up to date.\nReport files can be served up by a separate service (ideally `lighttpd `_) so that the analytics service doesnt get clogged up by serving the reports.\n\nConfiguration Options\n----------------------\n\nConfiguration files contain sections of reports to generate when you run ``mongol-report``.\nEach section name will generate one report file called ``section-name.json``.\nHere are the options for each section:\n\n * ``output`` - required string. The output directory to store files in (eg ``~/mongol/reports``)\n * ``time`` - optional string. Time at which to remove older records (eg ``days:2``). Mongol is really suited to look at data in the past X amount of time and removes any records that were recorded before then. By default it does not do any limiting.\n * ``callback`` - optional string. Function name to wrap results with creating proper JSONP reports. Defaults to ``results``.\n * ``limit`` - optional int. Limit the results in the reports. Defaults to ``10``.\n * ``order`` - optional string. Order the results. Either ``A`` for ascending or ``D`` for descending. Defaults to ``D``\n * ``mapper`` - optional string. The JS source code of the mapping function to use in MongoDB's map/reduce capabilies. Defaults to ::\n \n function () {\n emit({url:this.url, title:this.title}, this.pageviews);\n }\n\n * ``reducer`` - optional string. The JS source code of the reducing function to use in MongoDB's map/reduce capabilies. Defaults to ::\n \n function (key, values) {\n var total = 0;\n for (var i = 0; i < values.length; i++) {\n total += values[i];\n }\n return total;\n }\n\nFor help with the map/reduce stuff, take a look at `MongoDB's MapReduce documentation `_\n\nTODO\n------\n\n * Use cookies\n * Enable MongoDB clustering support", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/justquick/django-activity-stream", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "mongol", "package_url": "https://pypi.org/project/mongol/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/mongol/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/justquick/django-activity-stream" }, "release_url": "https://pypi.org/project/mongol/0.1.0/", "requires_dist": null, "requires_python": null, "summary": "Track your site's traffic and generate custom reports", "version": "0.1.0" }, "last_serial": 185196, "releases": { "0.1.0": [] }, "urls": [] }