Skip to main content

The rowingdata library to create colorful plots from CrewNerd, Painsled and other rowing data tools

Project description

Based on python code by Greg Smith (https://quantifiedrowing.wordpress.com/) and inspired by the RowPro Dan Burpee spreadsheet (http://www.sub7irc.com/RP_Split_Template.zip)

To install

$ easy_install rowingdata

Or

$ pip install rowingdata

To upgrade:

$ pip install —-upgrade rowingdata

or

$ easy_install —-upgrade rowingdata

Release Notes:

0.5

  • Upload to Concept2 logbook is working!

0.45

  • Added saving and loading of rower data (so you can store your password and HR data)

0.43

  • Attempting to remove the dubious DataFrame copy errors using df.loc

0.42

  • Added RowPro CSV Parser

  • Added summary statistics and interval statistics (also copies the output to clipboard)

  • Interval statistics now (sort of) works for Desktop Painsled data

To Use

Beta. Use with caution.

Import

Import the package

>>> from rowingdata import *

Your personal data

If you’re not me (or have identical heart rate thresholds), you will have to change the default values for the rower. For example:

>>> john = rowingdata.rower(hrut2=100,hrut1=120,hrat=140,hrtr=150,hran=170,hrmax=180,c2username="johntherower",c2password="caughtacrab")

You can store this locally like this

>>> john.write("johnsdata.txt")

Then you can load this like this

>>> john = rowingdata.read_obj("johnsdata.txt")

Painsled

To use with Painsled CSV data, simply do

>>> row = rowingdata.rowingdata("testdata.csv",rower=myrower)
>>> row.plotmeters_erg()
>>> print row.allstats()

To use with RowPro CSV data, simply do

>>> rp = rowingdata.RowProParser("RP_testdata.csv")
>>> rp.write_csv("example_data.csv")
>>> row = rowingdata.rowingdata("example_data.csv")
>>> row.plotmeters_erg()
>>> row.plottime_erg()
>>> print row.summary()

CrewNerd (and other TCX)

To use with CrewNerd TCX data, simply do

>>> tcx = rowingdata.TCXParser("2016-03-25-0758.tcx")
>>> tcx.write_csv("example_data.csv")
>>> row = rowingdata.rowingdata("example_data.csv",rower=myrower)
>>> row.plotmeters_otw()
>>> row.plottime_otw()
>>> print row.summary()

Other useful stuff

To get any data column as a numpy array, use (for example for HR data - see list below for other accessible data fields).

>>> row.getvalues[' HRCur (bpm)']

To create the colorful plots as well as copy a text summary to the clipboard, assuming you have a summary file from CrewNerd called 2016-03-25-0758.CSV and a TCX file called 2016-03-25-0758.TCX

>>> rowingdata.dorowall("2016-03-25-0758")

Now you will have the summary data on your clipboard

>>> row.uploadtoc2()

This will upload your row to Concept2 logbook. Only date, distance, duration. Still have to add type, weight category, verification code??

Data Fields

The available data fields are

  • ‘Timestamp (sec)’

  • ‘ Horizontal (meters)’

  • ‘ Cadence (stokes/min’

  • ‘ HRCur (bpm)’

  • ‘ Stroke500mPace (sec/500m)’

  • ‘ Power (watts)’

  • ‘ DriveLength (meters)’

  • ‘ StrokeDistance (meters)’

  • ‘ DriveTime (ms)’

  • ‘ StrokeRecoveryTime (ms)’

  • ‘ AverageDriveForce (lbs)’

  • ‘ PeakDriveForce (lbs)’

  • ‘cum_dist’

Known bugs

  • Something wrong with the time values when imported from RowPro

Future functionality

  • Add upload to concept2 logbook (that’s why we have the username and such in the rower class)

  • Add support for other erg software tools (just need the csv/tcx and it will be easy)

  • Add some command line tools to do the most common stuff

Project details


Release history Release notifications | RSS feed

This version

0.5

Download files

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

Source Distribution

rowingdata-0.5.zip (16.8 kB view details)

Uploaded Source

File details

Details for the file rowingdata-0.5.zip.

File metadata

  • Download URL: rowingdata-0.5.zip
  • Upload date:
  • Size: 16.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for rowingdata-0.5.zip
Algorithm Hash digest
SHA256 1ea6cbe6f97b8b81a77bca6cfeaa7f5819de093a6d88895114d72c6650d71e1e
MD5 810c7e1adb236e8781df08d37952627b
BLAKE2b-256 f3a52ea1ab5baba3bf580966d96b66cc4722c3b4cff3a16f0b5897f66f0d2b8f

See more details on using hashes here.

Supported by

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