{
"info": {
"author": "Dan Kamins",
"author_email": "dos@axonchisel.net",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 4 - Beta",
"Environment :: Other Environment",
"Environment :: Web Environment",
"Intended Audience :: Developers",
"Intended Audience :: Information Technology",
"Intended Audience :: Science/Research",
"Intended Audience :: System Administrators",
"Intended Audience :: Telecommunications Industry",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 2.6",
"Programming Language :: Python :: 2.7",
"Topic :: Database",
"Topic :: Office/Business :: Financial",
"Topic :: Scientific/Engineering :: Visualization",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: System :: Monitoring"
],
"description": "Ax\\_Metrics - \"BI Glue\" Business Intelligence middleware Python library\n=======================================================================\n\nOverview\n--------\n\nAx\\_Metrics is an Business Intelligence (BI) open source Python\nmiddleware library facilitating aggregation of metrics and KPIs from any\nsource and custom reporting for humans or other APIs.\n\nTarget Problem\n~~~~~~~~~~~~~~\n\n1. You have multiple systems of all scales generating metrics and logs.\n\n2. Your centralized or distributed Data Warehouse (DW) collects this\n data, indexes it by time, and makes it available.\n\n3. You want fast, friendly, pretty, clean access to KPIs that will help\n you grow your business.\n\n4. Most solutions are incompatible, insecure, expensive, or far too\n complex.\n\n5. You have technical knowledge at least on the level of understanding\n HTML, XML, YAML, etc.\n\nThe Solution: Ax\\_Metrics\n~~~~~~~~~~~~~~~~~~~~~~~~~\n\nAx\\_Metrics is a library to empower BI initiatives. The *components\ndescribed below* work together to comprise a powerful hub for connecting\ndata, processing it, and getting it where it needs to be.\n\nMDefL\n^^^^^\n\nAx\\_Metrics **Metrics Definition Language** - Model your metrics and\nKPIs (Key Performance Indicators) with just a few lines of this\nYAML-based definition language, defining where and how they're located,\nindexed, and typed. *Some example metric sets (\"MetSets\") used by\nautomated tests: metset1.yml and metset-http.yml.*\n\nEMFetch\n^^^^^^^\n\nAx\\_Metrics **Extensible Metrics Fetch** - The EMFetch engine provides\nlow level access to raw time-indexed metrics data for the rest of\nAx\\_Metrics. Metrics described by your MDefL reference the EMFetch\nplugin used to access them. *Plugins like emf\\_http are available for\nuse, or extend them with your own Python code to easily integrate with\nany custom data source.*\n\nMQL\n^^^\n\nAx\\_Metrics **Metrics Query Language** - Create MQL queries in this\nYAML-based query language to slice, dice, time shift, forecast, smooth,\ncompare, and format your data into reports for humans or other APIs. *An\nexample query used by automated tests can be seen in mqe-query2.yml,\nwhile an even more complex query set containing multiple pre-defined\nqueries can be seen in queryset2.yml.*\n\nMQEngine\n^^^^^^^^\n\nAx\\_Metrics **Metrics Query Engine** - Embed MQEngine in your BI flow or\nplace it behind a web server to process MQL queries on demand, within\nany security/authorization layer and web app you already use. MQEngine\nis the Ax\\_Metrics core that processes any query you throw at it and\nyields data sets.\n\nEROut\n^^^^^\n\nAx\\_Metrics **Extensible Report Outputter** - ERout outputters present\ndata reports from MQEngine in many formats, for humans or further API\nconsumption. *Plugins like csv and geckoboard\\_numsec (for your 60\" LCD\ndashboard powered by `Geckoboard `__) are\navailable for use, or extend them with your own Python code to easily\nintegrate with other any data consumer, human or machine.*\n\nServant\n^^^^^^^\n\nAx\\_Metrics **Servant** - The high layer Servant is available to wrap\neverything up in a convenient package. This is the recommended\nintegration point for most Ax\\_Metrics use: *build a Servant around a\nServantConfig object, then construct ServantRequest objects and feed\nthem to the Servant. This is also the best place to start if you want to\ndig into the Ax\\_Metrics code itself, as it leads to all other pieces.\nSee test\\_servant.py for test code that invokes Servant.*\n\nAx\\_Metrics is *NOT...*\n~~~~~~~~~~~~~~~~~~~~~~~\n\nNOT a web service\n^^^^^^^^^^^^^^^^^\n\nAx\\_Metrics does NOT include any web services or APIs that run in the\nbackground or require hosting or IT/DevOps support. It is a software\nlibrary to utilize and integrate as you see fit. (Though it does include\nsome helper routines to make integrating with your own web environment\neasier.)\n\nNO persistence DW capabilities\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nAx\\_Metrics fetches data dynamically and generates reports on demand.\nSome data may be cached for performance purposes, but this cache should\nbe considered a volatile implementation detail only. Your data is\nassumed to already persist in a queryable form.\n\nNOT a turnkey solution\n^^^^^^^^^^^^^^^^^^^^^^\n\nAx\\_Metrics requires custom integration into DW sources, custom\ndefinition of metrics and reports, and often customization of output\nformats. It is a powerful and time-saving support library for use in BI\ndata visualization projects, but it is not a magic bullet.\n\nNOT a visualizer or chart generator\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nAx\\_Metrics is designed to be used *with* visualization and charting (or\nother) output systems. It is a middleware library that helps fetch,\nanalyze, and wrangle your data into a format ready to be visualized.\n\n\"Can't I can just use SQL instead?\"\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nIf your data already exists in a relational database, then you already\nhave direct access to it. You can write SQL queries to generate various\nreports, but as you analyze more deeply, your queries will become\ncomplex, slow, and eventually impossible, requiring additional\nprocessing outside of your DB.\n\nReview various 3rd party charting packages and you'll see mostly\nsimplistic examples like \"sales per month by region\" which are easily\nqueryable from raw data. That's a great start, but it will only get your\nBI efforts so far.\n\nAx\\_Metrics treats raw time series data (such as might be stored and\nqueryable in a relational DB) as the *input* to deeper BI analysis. Read\non to see some examples of the types of reports it can produce. And in\naddition to higher level analysis, Ax\\_Metrics can also provide ties in\nto multiple DW sources as well as the foundation for your metrics\ndefinitions and queries, all written in the high-level user-friendly\nlanguages MDefL and MQL, allowing you to focus on your own personal\nbusiness metrics instead of reinventing the wheel.\n\nIn summary, you can use SQL (or anything else) to query raw time series\ndata, but when you layer Ax\\_Metrics on top of that, you add\nintelligence and move your data closer to more powerful and useful\nvisualization and analysis.\n\nExamples of Use\n---------------\n\nExample Metrics\n~~~~~~~~~~~~~~~\n\nAnything that can be measured numerically over some period of time is a\nvalid metric.\n\nExamples:\n\n- new trials\n- new sales\n- new revenue\n- invites sent\n- invites read\n- invites accepted\n- web visitors\n- web requests\n- expenses\n- app server errors\n\nExample Reports\n~~~~~~~~~~~~~~~\n\nOnce your metrics are defined and the EMFetch plugins integrated with\nyour data sources, a wide variety of reports can be easily built to view\nthat data. Much of the power of Ax\\_Metrics arises out of the rich time\nframe model and query language.\n\nExamples:\n\n- amount per 5 minutes for the last 6 hours\n- daily amount over past 30 days, compared to same 30 day period 1 year\n ago *(e.g. visualized as multi-series (2) line chart)*\n- amount in current calendar week to date, compared to previous week\n and same week 1 year ago *(e.g. as multi-series (3) line chart)*\n- amount in calendar month to date, compared to forecast amount *(e.g.\n visualized as bullet chart)*\n- amount in last completed calendar quarter, measured weekly with 30\n day smoothing, compared to forecast amount, previous quarter, and\n same quarter last 2 years *(e.g. visualized as multi-series (5) line\n chart)*\n\nInstallation\n------------\n\nInstall with pip\n~~~~~~~~~~~~~~~~\n\n::\n\n $ pip install ax_metrics\n\nMeta\n----\n\nStatus\n~~~~~~\n\nCreated 2014-11. Initial implementation released.\n\nRequirements\n~~~~~~~~~~~~\n\n- Python 2.6+ (Python 3 is not supported at this time)\n- A few small PyPi packages that should be installed automatically if\n you use pip. (See setup.py for details)\n\nOfficial Links\n~~~~~~~~~~~~~~\n\nSource repository & issue tracker:\n\n- https://github.com/axonchisel/ax\\_metrics\n\nLicense\n~~~~~~~\n\nThis open source software is licensed under the permissive `MIT\nlicense `__. The full license\ntext can be found in LICENSE.txt within this repo.\n\nDevelopers\n~~~~~~~~~~\n\nInterested in digging in to the Ax\\_Metrics code and possibly\ncontributing? Here are some essential links:\n\n- Developers Overview Guide - contributing, project structure, etc.\n- https://github.com/axonchisel/ax\\_metrics - GitHub official page\n\nGenesis\n~~~~~~~\n\nThis project was inspired in late 2014 by a need to effectively digest\nand visualize large amounts of business metrics -- to measure, guide,\nchallenge, and inspire. The source code is cleaned and released under a\nliberal license in the hopes that others will find it useful and build\non it.\n\nHistory\n~~~~~~~\n\nVersion 0.9.2 (2015-01-08)\n^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n- Fix `#1 `__\n (Stepper time shifts ghosts incorrectly when range\\_val>1).\n- More graceful installation (remove ref to nonexistent \\*.txt docs,\n calmer notice when pandoc missing).\n\nVersion 0.9.1 (2014-12-08)\n^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n- First public release.\n\nVersion 0.0.0 (2014-11-07)\n^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n- Project created.\n\n--------------\n\nAx\\_Metrics - Copyright (c) 2014 Dan Kamins, AxonChisel.net",
"description_content_type": null,
"docs_url": null,
"download_url": "UNKNOWN",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/axonchisel/ax_metrics",
"keywords": "business intelligence,BI,data,data warehouse,DW,BIDW,metrics,KPI,analytics,middleware,library,api,report,chart,dashboard",
"license": "MIT",
"maintainer": null,
"maintainer_email": null,
"name": "Ax_Metrics",
"package_url": "https://pypi.org/project/Ax_Metrics/",
"platform": "Any",
"project_url": "https://pypi.org/project/Ax_Metrics/",
"project_urls": {
"Download": "UNKNOWN",
"Homepage": "https://github.com/axonchisel/ax_metrics"
},
"release_url": "https://pypi.org/project/Ax_Metrics/0.9.2/",
"requires_dist": null,
"requires_python": null,
"summary": "\"BI Glue\" Business Intelligence middleware library for aggregation of metrics/KPI from any source and custom reporting for humans or other APIs",
"version": "0.9.2"
},
"last_serial": 1376217,
"releases": {
"0.9.1": [
{
"comment_text": "",
"digests": {
"md5": "a01cc664c021995d9586c0c20bc05ba9",
"sha256": "8e092c4f0ccd2de7670c42139a08f330e0bcefbd00906cbad5dcf36e11cd5c1c"
},
"downloads": -1,
"filename": "Ax_Metrics-0.9.1.tar.gz",
"has_sig": false,
"md5_digest": "a01cc664c021995d9586c0c20bc05ba9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 82508,
"upload_time": "2014-12-09T05:47:47",
"url": "https://files.pythonhosted.org/packages/f5/af/0aeea33c57ac0ad67634dc7646e719820f82ebe350b7653e259e728a8cb0/Ax_Metrics-0.9.1.tar.gz"
}
],
"0.9.2": [
{
"comment_text": "",
"digests": {
"md5": "65d57302070f71d1f0e31fecd23479b8",
"sha256": "3dc97d6d22b536fbb0a4ab4ea3b49e52a1590488aa79309087b149c22a1537b4"
},
"downloads": -1,
"filename": "Ax_Metrics-0.9.2.tar.gz",
"has_sig": false,
"md5_digest": "65d57302070f71d1f0e31fecd23479b8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 82917,
"upload_time": "2015-01-09T01:17:26",
"url": "https://files.pythonhosted.org/packages/1f/3c/c534f2823de2ce77c2d03ffff9da94cc6cae0d190e91daf1c4689074d242/Ax_Metrics-0.9.2.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "65d57302070f71d1f0e31fecd23479b8",
"sha256": "3dc97d6d22b536fbb0a4ab4ea3b49e52a1590488aa79309087b149c22a1537b4"
},
"downloads": -1,
"filename": "Ax_Metrics-0.9.2.tar.gz",
"has_sig": false,
"md5_digest": "65d57302070f71d1f0e31fecd23479b8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 82917,
"upload_time": "2015-01-09T01:17:26",
"url": "https://files.pythonhosted.org/packages/1f/3c/c534f2823de2ce77c2d03ffff9da94cc6cae0d190e91daf1c4689074d242/Ax_Metrics-0.9.2.tar.gz"
}
]
}