Skip to content

raybellwaves/cfanalytics

Repository files navigation

cfanalytics: Downloading, analyzing and visualizing CrossFit data

https://travis-ci.org/raybellwaves/cfanalytics.svg?branch=master

cfanalytics is an open source project and Python package that aims to provide analyzes to CrossFit® workouts. The goal is to enhance data-driven performance of athletes.

https://github.com/raybellwaves/cfanalytics/blob/master/Plots/Men_Rx_2018_Overall_rank_P0.1.png

https://github.com/raybellwaves/cfanalytics/blob/master/Plots/Women_Rx_2018_Miami_Overall_rankP0.png

Installing

The version numbers 0.1.X are all development versions as I chip away at the project on here in my spare time. I occasionally build the package if i've finished something large. But you can grab the least-buggy version of this package by typing:

pip install git+https://github.com/raybellwaves/cfanalytics

Make sure you have the optional dependencies installed below for this to work.

The psudo-stable packages are here.

conda install -c conda-forge cfanalytics

pip install cfanalytics

As a precautionary note, it has been developed entirely on Mac OSX using Python installed with anaconda. Therefore, use in Windows and Linux at your own peril.

As good practice, I recommend installing with anaconda/miniconda and in a new enviroment:

$ conda create -n cfa python=3.6
$ source activate cfa
$ conda install -c matplotlib cartopy joblib netcdf4
$ pip install motionless
$ pip install git+https://github.com/fmaussion/salem.git
$ pip install git+https://github.com/raybellwaves/cfanalytics
$ # eventually: conda install -c conda-forge cfanalytics matplotlib cartopy

You can type source deactivate when finished. You can also check which environments you have created by typing conda info --envs. To remove an environment type conda remove --name cfa --all.

Optional dependencies (for plotting)

Examples

See examples here.

Documentation

The documentation is hosted at http://cfanalytics.readthedocs.io/

Projects using this data

Contributing

See my TODO list here.

Acknowledgements

  • Thanks to posts on r/crossfit. e.g. here, I worked out how to download data from the CrossFit® open.
  • Cfopendata is a very minor adaptation from captamericadevs/CFOpenData. Who smartly developed code to download CrossFit® open data using aiohttp.
  • Affliatelist used this answer as well as this answer on SO.
  • Cfplot().regionplot() was made possible by the work of the cartopy developers and developers of Natural Earth.
  • Cfplot().cityplot() was made possible by the work by fmaussion in salem
  • xarray developers. Whose package template I used for this package as well as the package itself.

Disclaimer

This project is not affiliated with CrossFit, Inc.