Skip to main content

Client wrapper for Wikimedia UMAPI.

Project description

umapi_client
============

Client wrapper for Wikipedia User Metrics API.

See https://github.com/wikimedia/user_metrics for UMAPI implementation.

Usage
-----

Set the ``UMAPI_USER`` and ``UMAPI_PASS`` in ``umapi_client/config.py``
(copied from ``umapi_client/config.py.settings``). Ensure that
``call_client`` is executable and requests are invoked by simply
calling this script followed by the URL path and parameters of a request. Only
cached responses will return a response with JSON, otherwise the request will
be queued by the service.


RFaulkner-WMF:umapi_client rfaulkner$ cd umapi_client/
RFaulkner-WMF:umapi_client rfaulkner$ ./scripts/call_client "cohorts/\
ryan_test_2/bytes_added"
{
"cohort": "ryan_test_2",
"group": "default",
"cohort_last_generated": "2013-03-19 07:43:26",
"aggregator": "None",
"metric": "bytes_added",
"namespace": [
0
],
"project": "enwiki",
"time_of_response": "2013-03-19 07:43:32",
"datetime_start": "2010-10-25 08:00:00",
"datetime_end": "2011-01-01 00:00:00",
"header": [
"user_id",
"bytes_added_net",
"bytes_added_absolute",
"bytes_added_pos",
"bytes_added_neg",
"edit_count"
],
"type": "raw",
"data": {
"15972203": [
683,
1133,
908,
-225,
5
],
"13234584": [
0,
0,
0,
0,
0
],
"15972135": [
0,
0,
0,
0,
0
]
},
"interval_hours": 24,
"t": 24
}

To save the contents to a file [-s] and timestamp the file [-t]:

RFaulkner-WMF:umapi_client rfaulkner$ ./scripts/call_client "cohorts/\
ryan_test_2/bytes_added" -s -t
Mar-29 12:47:33 DEBUG __main__ :: Attempting to create cookie jar,
logging in ..
Mar-29 12:47:34 DEBUG __main__ :: Login successful. Making request:
http://metrics.wikimedia.org/cohorts/ryan_test_2/bytes_added
Mar-29 12:47:35 DEBUG __main__ :: Writing response to file:
umapi_client_ryan_test_2_bytes_added_20130329.json
RFaulkner-WMF:umapi_client rfaulkner$ cat umapi_client_ryan_test_2_bytes_\
added_20130329.json
{
"cohort": "ryan_test_2",
"group": "default",
"cohort_last_generated": "2013-03-29 19:40:19",
"aggregator": "None",
"metric": "bytes_added",
"namespace": [
0
],
"project": "enwiki",
"time_of_response": "2013-03-29 19:40:26",
"datetime_start": "2010-10-25 08:00:00",
"datetime_end": "2011-01-01 00:00:00",
"header": [
"user_id",
"bytes_added_net",
"bytes_added_absolute",
"bytes_added_pos",
"bytes_added_neg",
"edit_count"
],
"type": "raw",
"data": {
"15972203": [
683,
1133,
908,
-225,
5
],
"13234584": [
0,
0,
0,
0,
0
],
"15972135": [
0,
0,
0,
0,
0
]
},
"interval_hours": 24,
"t": 24
}

To convert the output to csv:

RFaulkner-WMF:scripts rfaulkner$ ./json2csv umapi_client_ryan_test_2_bytes_added_20130331.json
Mar-31 23:57:20 DEBUG __main__ :: Attempting to read file...
Mar-31 23:57:20 DEBUG __main__ :: Writing to file...
RFaulkner-WMF:scripts rfaulkner$ cat ../../csv/umapi_client_ryan_test_2_bytes_added_20130331.json.csv
user_id,bytes_added_net,bytes_added_absolute,bytes_added_pos,bytes_added_neg,edit_count
13234584,0,0,0,0,0
15972203,683,1133,908,-225,5
15972135,0,0,0,0,0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wmf_umapi_client-0.1.1-dev.tar.gz (3.4 kB view hashes)

Uploaded Source

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page