This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

NikePlus API

As a Nike+ user and software engeneer I thought it would be interesting to be able to get the raw data of my runs. This little bit of software enables you to fetch that data either in XML (as provided by Nike) or in JSON.

All you need is you UserID, which you can get by following those steps:

  1. Sign in to NikePlus.
  2. Click My Runs.
  3. Click the Share button on the top right of your runs.
  4. Click Add to a Web page.
  5. Click Grab the Code.

The Code is now copied to your clipboard. Inside that code, you can find your UserID.

How to use

The following tests are live tests with my UserID. They will ensure, that the code works against the live Nike+ API.

>>> import sw.nikeplus
>>> user_id = 279218513

Retrieving data in XML

>>> print sw.nikeplus.get_xml(user_id)
<?xml...<status>success...<run id="1889752785" workoutType="standard"><startTime>2006-10-31T16:50:07+01:00...

The response from Nike+ is cached. If, for any reason, the service is out-of-order on the next try, the old response is returned. You may force a refresh by providing the optional parameter force.

Retrieving data in JSON

>>> print sw.nikeplus.get_json(user_id)
{'status': 'success',...'startTime': '2006-10-31T16:50:07+01:00', 'duration': '1752873', 'id': '1889752785', 'workoutType': 'standard'...

The response from Nike+ is cached here, too. You can provide the optional parameter force as well, if you like to disable caching.

Helper functions

There is a helper function called xml2json. It should work with every XML, not just with the Nike+ one. It is tested inside the package, but may be used from other packages, if you need it:

>>> import sw.nikeplus.utils
>>> print sw.nikeplus.utils.xml2json(
...     """<?xml version="1.0" encoding="UTF-8"?>
...        <note id="1234">
...          <to>Tove</to>
...          <from>Jani</from>
...          <heading>Reminder</heading>
...          <body>Don't forget me this weekend!</body>
...        </note>""")
{'body': "Don't forget me this weekend!", 'to': 'Tove', 'from': 'Jani', 'heading': 'Reminder', 'id': '1234'}


0.1 (2012-04-04)

  • initial release
Release History

Release History


This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
sw.nikeplus-0.1.tar.gz (7.0 kB) Copy SHA256 Checksum SHA256 Source Apr 4, 2012

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting