Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

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.

Files for wmf_umapi_client, version 0.1.1-dev
Filename, size File type Python version Upload date Hashes
Filename, size wmf_umapi_client-0.1.1-dev.macosx-10.7-intel.tar.gz (4.9 kB) File type Dumb Binary Python version any Upload date Hashes View hashes
Filename, size wmf_umapi_client-0.1.1-dev.tar.gz (3.4 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page