From ff54add49e15b0207f8831be7a91d545409b1ab8 Mon Sep 17 00:00:00 2001 From: <> Date: Sun, 5 May 2024 00:16:49 +0000 Subject: [PATCH] Deployed f4a6add with MkDocs version: 1.6.0 --- .nojekyll | 0 404.html | 974 +++ About/changelog/index.html | 1073 +++ About/contact/index.html | 1122 +++ About/license/index.html | 1029 +++ Functions/AuthManager/index.html | 1099 +++ Functions/GetAthletes/index.html | 1148 +++ Functions/GetForceTime/index.html | 1195 +++ Functions/GetGroups/index.html | 1124 +++ Functions/GetMetrics/index.html | 1160 +++ Functions/GetTags/index.html | 1134 +++ Functions/GetTeams/index.html | 1124 +++ Functions/GetTests/index.html | 1234 +++ Functions/GetTestsAth/index.html | 1237 +++ Functions/GetTestsGroup/index.html | 1238 +++ Functions/GetTestsTeam/index.html | 1238 +++ Functions/GetTestsType/index.html | 1298 ++++ Functions/GetTypes/index.html | 1148 +++ Functions/LoggerConfig/index.html | 1096 +++ UserGuide/EnvSetUp/index.html | 1207 +++ UserGuide/Examples/index.html | 1206 +++ UserGuide/GetData/index.html | 1131 +++ assets/images/favicon.png | Bin 0 -> 1870 bytes assets/javascripts/bundle.a7c05c9e.min.js | 29 + assets/javascripts/bundle.a7c05c9e.min.js.map | 7 + assets/javascripts/lunr/min/lunr.ar.min.js | 1 + assets/javascripts/lunr/min/lunr.da.min.js | 18 + assets/javascripts/lunr/min/lunr.de.min.js | 18 + assets/javascripts/lunr/min/lunr.du.min.js | 18 + assets/javascripts/lunr/min/lunr.el.min.js | 1 + assets/javascripts/lunr/min/lunr.es.min.js | 18 + assets/javascripts/lunr/min/lunr.fi.min.js | 18 + assets/javascripts/lunr/min/lunr.fr.min.js | 18 + assets/javascripts/lunr/min/lunr.he.min.js | 1 + assets/javascripts/lunr/min/lunr.hi.min.js | 1 + assets/javascripts/lunr/min/lunr.hu.min.js | 18 + assets/javascripts/lunr/min/lunr.hy.min.js | 1 + assets/javascripts/lunr/min/lunr.it.min.js | 18 + assets/javascripts/lunr/min/lunr.ja.min.js | 1 + assets/javascripts/lunr/min/lunr.jp.min.js | 1 + assets/javascripts/lunr/min/lunr.kn.min.js | 1 + assets/javascripts/lunr/min/lunr.ko.min.js | 1 + assets/javascripts/lunr/min/lunr.multi.min.js | 1 + assets/javascripts/lunr/min/lunr.nl.min.js | 18 + assets/javascripts/lunr/min/lunr.no.min.js | 18 + assets/javascripts/lunr/min/lunr.pt.min.js | 18 + assets/javascripts/lunr/min/lunr.ro.min.js | 18 + assets/javascripts/lunr/min/lunr.ru.min.js | 18 + assets/javascripts/lunr/min/lunr.sa.min.js | 1 + .../lunr/min/lunr.stemmer.support.min.js | 1 + assets/javascripts/lunr/min/lunr.sv.min.js | 18 + assets/javascripts/lunr/min/lunr.ta.min.js | 1 + assets/javascripts/lunr/min/lunr.te.min.js | 1 + assets/javascripts/lunr/min/lunr.th.min.js | 1 + assets/javascripts/lunr/min/lunr.tr.min.js | 18 + assets/javascripts/lunr/min/lunr.vi.min.js | 1 + assets/javascripts/lunr/min/lunr.zh.min.js | 1 + assets/javascripts/lunr/tinyseg.js | 206 + assets/javascripts/lunr/wordcut.js | 6708 +++++++++++++++++ .../workers/search.b8dbb3d2.min.js | 42 + .../workers/search.b8dbb3d2.min.js.map | 7 + assets/stylesheets/main.66ac8b77.min.css | 1 + assets/stylesheets/main.66ac8b77.min.css.map | 1 + assets/stylesheets/palette.06af60db.min.css | 1 + .../stylesheets/palette.06af60db.min.css.map | 1 + img/HDBlack Horizontal.png | Bin 0 -> 32203 bytes img/WHITE_H_LOGO.png | Bin 0 -> 10162 bytes img/android-chrome-192x192.png | Bin 0 -> 9259 bytes img/android-chrome-512x512.png | Bin 0 -> 43412 bytes img/apple-touch-icon.png | Bin 0 -> 8222 bytes img/favicon-16x16.png | Bin 0 -> 425 bytes img/favicon-32x32.png | Bin 0 -> 804 bytes img/favicon.ico | Bin 0 -> 15406 bytes img/hdlogo_sm.png | Bin 0 -> 10262 bytes img/site.webmanifest | 1 + index.html | 1082 +++ search/search_index.json | 1 + sitemap.xml | 3 + sitemap.xml.gz | Bin 0 -> 127 bytes 79 files changed, 32592 insertions(+) create mode 100644 .nojekyll create mode 100644 404.html create mode 100644 About/changelog/index.html create mode 100644 About/contact/index.html create mode 100644 About/license/index.html create mode 100644 Functions/AuthManager/index.html create mode 100644 Functions/GetAthletes/index.html create mode 100644 Functions/GetForceTime/index.html create mode 100644 Functions/GetGroups/index.html create mode 100644 Functions/GetMetrics/index.html create mode 100644 Functions/GetTags/index.html create mode 100644 Functions/GetTeams/index.html create mode 100644 Functions/GetTests/index.html create mode 100644 Functions/GetTestsAth/index.html create mode 100644 Functions/GetTestsGroup/index.html create mode 100644 Functions/GetTestsTeam/index.html create mode 100644 Functions/GetTestsType/index.html create mode 100644 Functions/GetTypes/index.html create mode 100644 Functions/LoggerConfig/index.html create mode 100644 UserGuide/EnvSetUp/index.html create mode 100644 UserGuide/Examples/index.html create mode 100644 UserGuide/GetData/index.html create mode 100644 assets/images/favicon.png create mode 100644 assets/javascripts/bundle.a7c05c9e.min.js create mode 100644 assets/javascripts/bundle.a7c05c9e.min.js.map create mode 100644 assets/javascripts/lunr/min/lunr.ar.min.js create mode 100644 assets/javascripts/lunr/min/lunr.da.min.js create mode 100644 assets/javascripts/lunr/min/lunr.de.min.js create mode 100644 assets/javascripts/lunr/min/lunr.du.min.js create mode 100644 assets/javascripts/lunr/min/lunr.el.min.js create mode 100644 assets/javascripts/lunr/min/lunr.es.min.js create mode 100644 assets/javascripts/lunr/min/lunr.fi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.fr.min.js create mode 100644 assets/javascripts/lunr/min/lunr.he.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hu.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hy.min.js create mode 100644 assets/javascripts/lunr/min/lunr.it.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ja.min.js create mode 100644 assets/javascripts/lunr/min/lunr.jp.min.js create mode 100644 assets/javascripts/lunr/min/lunr.kn.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ko.min.js create mode 100644 assets/javascripts/lunr/min/lunr.multi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.nl.min.js create mode 100644 assets/javascripts/lunr/min/lunr.no.min.js create mode 100644 assets/javascripts/lunr/min/lunr.pt.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ro.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ru.min.js create mode 100644 assets/javascripts/lunr/min/lunr.sa.min.js create mode 100644 assets/javascripts/lunr/min/lunr.stemmer.support.min.js create mode 100644 assets/javascripts/lunr/min/lunr.sv.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ta.min.js create mode 100644 assets/javascripts/lunr/min/lunr.te.min.js create mode 100644 assets/javascripts/lunr/min/lunr.th.min.js create mode 100644 assets/javascripts/lunr/min/lunr.tr.min.js create mode 100644 assets/javascripts/lunr/min/lunr.vi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.zh.min.js create mode 100644 assets/javascripts/lunr/tinyseg.js create mode 100644 assets/javascripts/lunr/wordcut.js create mode 100644 assets/javascripts/workers/search.b8dbb3d2.min.js create mode 100644 assets/javascripts/workers/search.b8dbb3d2.min.js.map create mode 100644 assets/stylesheets/main.66ac8b77.min.css create mode 100644 assets/stylesheets/main.66ac8b77.min.css.map create mode 100644 assets/stylesheets/palette.06af60db.min.css create mode 100644 assets/stylesheets/palette.06af60db.min.css.map create mode 100644 img/HDBlack Horizontal.png create mode 100644 img/WHITE_H_LOGO.png create mode 100644 img/android-chrome-192x192.png create mode 100644 img/android-chrome-512x512.png create mode 100644 img/apple-touch-icon.png create mode 100644 img/favicon-16x16.png create mode 100644 img/favicon-32x32.png create mode 100644 img/favicon.ico create mode 100644 img/hdlogo_sm.png create mode 100644 img/site.webmanifest create mode 100644 index.html create mode 100644 search/search_index.json create mode 100644 sitemap.xml create mode 100644 sitemap.xml.gz diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/404.html b/404.html new file mode 100644 index 0000000..f6bcf71 --- /dev/null +++ b/404.html @@ -0,0 +1,974 @@ + + + +
+ + + + + + + + + + + + + + +Lauren Green (lauren@hawkindynamics.com)
+Chris Wales (chris@hawkindynamics.com)
+90 Bridge St +STE 230 +Westbrook, ME 04092
++1 207 405 9142
+support@hawkindynamics.com
+ + + + + + + + + + + + + +Copyright (c) 2024 Hawkin Dynamics
+Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions:
+The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE.
+ + + + + + + + + + + + + +AuthManager(region: str = "Americas", authMethod: str = "env", refreshToken_name: str = "HD_REFRESH_TOKEN", refreshToken: str = None, env_file_name: str = None)
Choose the authentication method and settings for your project environment. If you want to store or replace your refresh token, simply pass it in the refreshToken
argument (unless authMethod
set to "manual").
region
: (str) The region that designates the url prefix. Defaults to "Americas". Other options include "Americas", "Europe", and "Asia/Pacific".
authMethod
: (str) Determine method of storing authentication variables, including refresh token. One of 'env', 'file', 'manual'. To store variables in your local system environment, use "env". To store variables in a .env file, use "file". To authenticate without storing your refresh token and region, use "manual".
refreshToken_name
: (str) Name of refresh token variable saved in system environment or .env file. Template .env file shows this as "HD_REFRESH_TOKEN".
refreshToken
: (str) If used with authMethod = "manual"
, token will be used to authenticate without being stored. Else, token will be store/set as the new refresh token value with method selected.
env_file_name
: (str) Required with authMethod = "file"
. Provide the file path (relative to the root of the project) and name for variable storage. Just like the example below, the template file can be simply be saved as ".env". But the file can be given any name, followed by ".env".
Value Error
+``` Python title="Default Authentication Using Environment Variables +from hdforce import AuthManager
+AuthManager() +```
+ + + + + + + + + + + + + +GetAthletes(inactive: bool = False)
Get the athletes for an account.
+inactive
: (bool) Specifies whether to include inactive athletes in the results. Default is False (inactive athletes are not included).
A Pandas DataFrame containing the athletes' information, with columns:
+Exception
+Default: inactive = False +
from hdforce import GetAthletes
+
+# returns all athletes, including inactive
+players = GetAthletes(inactive = True)
+# Find Lauren Green
+lg = players[players["name"] == "Lauren Green"]
+# Print lg table
+print(lg)
+
output
+id | +name | +teams | +groups | +active | +external.GradYear | +external.location | +external.uniqueId | +external.StudentID | +
---|---|---|---|---|---|---|---|---|
OLbsebtmf81eiwg1AeE5 | +Lauren Green | +['DPMb6ek2mgUNVcg8siSqpnIvE2i2', 'vW9iEKafhs2PamfWQpFZ'] | +['yh8RnOvg56dQNrZGBKWZ'] | +True | +2004 | +Whittier | +83keo9wjei939ekd9 | +SA0042643 | +
GetForceTime(testId: str)
Get force-time data for an individual test trial from an account.
+testId
: (str) The unique ID given to each test trial.
A Pandas DataFrame containing details of the test trial, with columns:
+Exception
+Value Error
+from hdforce import GetForceTime
+
+# Get force time data
+ftData = GetForceTime(testId = someTest)
+# Print rows 2000:2005
+print(ftData.iloc[2000:2005])
+
output
+Index | +Time(s) | +LeftForce(N) | +RightForce(N) | +CombinedForce(N) | +Velocity(m/s) | +Displacement(m) | +Power(W) | +rsi | +
---|---|---|---|---|---|---|---|---|
2000 | +2.001 | +42 | +119 | +161 | +-1.119636 | +-0.077419 | +-180.261446 | +[] | +
2001 | +2.002 | +46 | +122 | +168 | +-1.128090 | +-0.078543 | +-189.519185 | +[] | +
2002 | +2.003 | +49 | +126 | +175 | +-1.136487 | +-0.079675 | +-198.885184 | +[] | +
2003 | +2.004 | +53 | +130 | +183 | +-1.144821 | +-0.080816 | +-209.502302 | +[] | +
2004 | +2.005 | +56 | +135 | +191 | +-1.153090 | +-0.081965 | +-220.240178 | +[] | +
GetGroups()
Get groups for an account. This function is designed to retrieve all groups within your organization.
+A Pandas DataFrame containing the groups' information, with columns:
+Exception
+from hdforce import GetGroups
+
+# Get all groups
+groups = GetGroups()
+# Print groups table
+print(groups)
+
output
+id | +name | +
---|---|
KBHev5JXD9YY1Xz5zmSp | +Test Group 1 | +
vW9iEKafhs2PamfKSdGC | +Test Group 2 | +
yxYfkCEubB5o8xrLy5n2 | +Test Group 3 | +
GetMetrics()
Gets the test metrics details from Hawkin Dynamics System.
+A Pandas DataFrame containing the information for the metrics of each test type, with columns:
+Exception
+from hdforce import GetMetrics
+
+# Get all test metrics
+metrics = GetMetrics()
+# Print rows 10:15
+print(metrics[10:15])
+
output
+canonicalTestTypeId | +testTypeName | +id | +label | +units | +description | +
---|---|---|---|---|---|
7nNduHeM5zETPjHxvm7s | +Countermovement Jump | +peakBrakingForce | +Peak Braking Force | +N | +The peak instantaneous vertical ground reaction force applied to the system center of mass during the braking phase. | +
7nNduHeM5zETPjHxvm7s | +Countermovement Jump | +peakRelativeBrakingForce | +Peak Relative Braking Force | +% | +The peak instantaneous vertical ground reaction force applied to the system center of mass during the braking phase as a percentage of system weight. | +
7nNduHeM5zETPjHxvm7s | +Countermovement Jump | +avgPropulsiveForce | +Avg. Propulsive Force | +N | +The average vertical ground reaction force applied to the system center of mass during the propulsion phase. | +
7nNduHeM5zETPjHxvm7s | +Countermovement Jump | +avgRelativePropulsiveForce | +Avg. Relative Propulsive Force | +% | +The average vertical ground reaction force applied to the system center of mass during the propulsion phase as a percentage of system weight. | +
7nNduHeM5zETPjHxvm7s | +Countermovement Jump | +peakPropulsiveForce | +Peak Propulsive Force | +N | +The peak instantaneous vertical ground reaction force applied to the system center of mass during the propulsion phase. | +
GetTags()
Get test tags for an account. This function is designed to retrieve all tags within your organization.
+A Pandas DataFrame containing the tags' information, with columns:
+Exception
+from hdforce import GetTags
+
+# Get all teams
+tags = GetTags()
+# Print teams table
+print(tags)
+
output
+id | +name | +description | +
---|---|---|
Afcw45lIkeHFnlUyDeSn | +10/5 | +10/5 Multi-Rebound test protocol | +
KmZmhxUqrbOhLLvRLAbG | +5/3 | +5/3 Multi-Rebound test protocol | +
Lgc8uJh80NacB8eaqjOg | +20kg | +addition of 20kg load to system mass | +
hVgWJkwHZ9Mm8XDymP3W | +Hands On Hips | +Akimbo style jump | +
GetTeams()
Get teams for an account. This function is designed to retrieve all teams within your organization.
+A Pandas DataFrame containing the teams' information, with columns:
+Exception
+from hdforce import GetTeams
+
+# Get all teams
+teams = GetTeams()
+# Print teams table
+print(teams)
+
output
+id | +name | +
---|---|
KBHev5JXD9YY1Xz5zmSp | +Test Team 1 | +
vW9iEKafhs2PamfKSdGC | +Test Team 2 | +
yxYfkCEubB5o8xrLy5n2 | +Test Team 3 | +
GetTests(from_: int = None, to_: int = None, sync: bool = False, active: bool = True)
Get all test trials from an account. Allows filtering of results based on time frames, synchronization needs, and the active status of tests.
+from_
: (int) Unix timestamp specifying the start time from which tests should be fetched. Default is None, which fetches tests from the beginning.
to_
: (int) Unix timestamp specifying the end time until which tests should be fetched. Default is None, which fetches tests up to the current time.
sync
: (bool) If True, the function fetches updated and newly created tests to synchronize with the database. Default is False.
active
: (bool) If True, only active tests are fetched. If False, all tests including inactive ones are fetched. Default is True.
A Pandas DataFrame containing details of the test trial, with columns:
+DataFrame is also returned with specific attributes:
+Exception
+Value Error
+from hdforce import GetTests
+
+# Get test data between these dates
+Data = GetTests(from_ = 1690859091, to_ = 1711392994)
+
+# Print DataFrame Attributes
+print(f"Count: {Data.attrs["Count"]}")
+print(f"Last Sync:{Data.attrs["Last Sync"]}")
+print(f"Last Test Time: {Data.attrs["Last Test Time"]}")
+
+# Print rows 0:3
+print(Data.iloc[:3, :20]) # All columns not printed
+
DataFrame output
+id | +timestamp | +athlete_id | +athlete_name | +athlete_teams | +athlete_groups | +athlete_active | +external_GradYear | +external_location | +external_uniqueId | +external_StudentID | +external_DPMb6ek2mgUNVcg8siSqpnIvE2i2 | +testType_id | +testType_name | +testType_canonicalId | +tag_ids | +tag_names | +segment | +Right Avg_ Propulsive Force(N) | +Relative Propulsive Net Impulse(N_s/kg) | +
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
YB35oOBAGHNQew0WziDt | +1690859091 | +OLbsebtmf81eiwg1AeE5 | +Lauren Green | +['DPMb6ek2mgUNVcg8siSqpnIvE2i2', 'vW9iEKafhs2PamfKSdGC'] | +['yh8RnOvg56dQNrZGBKWZ'] | +True | +2004 | +Whittier | +83keo9wjei939ekd9 | +SA0042643 | +nan | +0f0017f87fb97445c95b9f2d1133b56b | +Drop Landing | +rKgI4y3ItTAzUekTUpvR | +[] | +[] | +Drop Landing:3 | +nan | +nan | +
2RnV4tM3J6IW2qYKgqg2 | +1690859127 | +OLbsebtmf81eiwg1AeE5 | +Lauren Green | +['DPMb6ek2mgUNVcg8siSqpnIvE2i2', 'vW9iEKafhs2PamfKSdGC'] | +['yh8RnOvg56dQNrZGBKWZ'] | +True | +2004 | +Whittier | +83keo9wjei939ekd9 | +SA0042643 | +nan | +0f0017f87fb97445c95b9f2d1133b56b | +Drop Landing | +rKgI4y3ItTAzUekTUpvR | +[] | +[] | +Drop Landing:4 | +nan | +nan | +
qNIZaBguZefAyar4oUtu | +1690859309 | +OLbsebtmf81eiwg1AeE5 | +Lauren Green | +['DPMb6ek2mgUNVcg8siSqpnIvE2i2', 'vW9iEKafhs2PamfKSdGC'] | +['yh8RnOvg56dQNrZGBKWZ'] | +True | +2004 | +Whittier | +83keo9wjei939ekd9 | +SA0042643 | +nan | +7b22e645bdf341c90cf0f5459c957e6a | +Drop Jump | +gyBETpRXpdr63Ab2E0V8 | +[] | +[] | +Drop Jump:3 | +1387.7479 | +1.5916 | +
GetTestsAth(athleteId: str, from_: int = None, to_: int = None, sync: bool = False, active: bool = True)
Get test trials only from a specific athlete. Allows filtering of results based on time frames, synchronization needs, and the active status of tests.
+athleteId
: (str) The unique identifier of the athlete whose tests are to be retrieved.
from_
: (int) Unix timestamp specifying the start time from which tests should be fetched. Default is None, which fetches tests from the beginning.
to_
: (int) Unix timestamp specifying the end time until which tests should be fetched. Default is None, which fetches tests up to the current time.
sync
: (bool) If True, the function fetches updated and newly created tests to synchronize with the database. Default is False.
active
: (bool) If True, only active tests are fetched. If False, all tests including inactive ones are fetched. Default is True.
A Pandas DataFrame containing details of the test trial, with columns:
+DataFrame is also returned with specific attributes:
+Exception
+Value Error
+from hdforce import GetTestsAth
+
+# Get my athlete test data
+Data = GetTestsAth(athleteId = "MyAthletesId", from_ = 1690859091, to_ = 1711392994)
+
+# Print DataFrame Attributes
+print(f"Count: {Data.attrs["Count"]}")
+print(f"Last Sync:{Data.attrs["Last Sync"]}")
+print(f"Last Test Time: {Data.attrs["Last Test Time"]}")
+
+# Print rows 0:3
+print(Data.iloc[:3, :20]) # All columns not printed
+
DataFrame output
+id | +timestamp | +athlete_id | +athlete_name | +athlete_teams | +athlete_groups | +athlete_active | +external_GradYear | +external_location | +external_uniqueId | +external_StudentID | +external_DPMb6ek2mgUNVcg8siSqpnIvE2i2 | +testType_id | +testType_name | +testType_canonicalId | +tag_ids | +tag_names | +segment | +Right Avg_ Propulsive Force(N) | +Relative Propulsive Net Impulse(N_s/kg) | +
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
YB35oOBAGHNQew0WziDt | +1690859091 | +OLbsebtmf81eiwg1AeE5 | +Lauren Green | +['DPMb6ek2mgUNVcg8siSqpnIvE2i2', 'vW9iEKafhs2PamfKSdGC'] | +['yh8RnOvg56dQNrZGBKWZ'] | +True | +2004 | +Whittier | +83keo9wjei939ekd9 | +SA0042643 | +nan | +0f0017f87fb97445c95b9f2d1133b56b | +Drop Landing | +rKgI4y3ItTAzUekTUpvR | +[] | +[] | +Drop Landing:3 | +nan | +nan | +
2RnV4tM3J6IW2qYKgqg2 | +1690859127 | +OLbsebtmf81eiwg1AeE5 | +Lauren Green | +['DPMb6ek2mgUNVcg8siSqpnIvE2i2', 'vW9iEKafhs2PamfKSdGC'] | +['yh8RnOvg56dQNrZGBKWZ'] | +True | +2004 | +Whittier | +83keo9wjei939ekd9 | +SA0042643 | +nan | +0f0017f87fb97445c95b9f2d1133b56b | +Drop Landing | +rKgI4y3ItTAzUekTUpvR | +[] | +[] | +Drop Landing:4 | +nan | +nan | +
qNIZaBguZefAyar4oUtu | +1690859309 | +OLbsebtmf81eiwg1AeE5 | +Lauren Green | +['DPMb6ek2mgUNVcg8siSqpnIvE2i2', 'vW9iEKafhs2PamfKSdGC'] | +['yh8RnOvg56dQNrZGBKWZ'] | +True | +2004 | +Whittier | +83keo9wjei939ekd9 | +SA0042643 | +nan | +7b22e645bdf341c90cf0f5459c957e6a | +Drop Jump | +gyBETpRXpdr63Ab2E0V8 | +[] | +[] | +Drop Jump:3 | +1387.7479 | +1.5916 | +
GetTestsGroup(groupId: str, from_: int = None, to_: int = None, sync: bool = False, active: bool = True)
Get test trials for specified group(s). Allows filtering of results based on time frames, synchronization needs, and the active status of tests.
+groupId
: (str) A single group ID, tuple or list of group IDs to receive tests from specific groups.
from_
: (int) Unix timestamp specifying the start time from which tests should be fetched. Default is None, which fetches tests from the beginning.
to_
: (int) Unix timestamp specifying the end time until which tests should be fetched. Default is None, which fetches tests up to the current time.
sync
: (bool) If True, the function fetches updated and newly created tests to synchronize with the database. Default is False.
active
: (bool) If True, only active tests are fetched. If False, all tests including inactive ones are fetched. Default is True.
A Pandas DataFrame containing details of the test trial, with columns:
+DataFrame is also returned with specific attributes:
+Exception
+Value Error
+from hdforce import GetTestsGroup
+
+# Get my group test data
+Data = GetTestsGroup(GroupId = ["groupId1", "groupId2", "groupId3"], from_ = 1690859091, to_ = 1711392994)
+
+# Print DataFrame Attributes
+print(f"Group IDs: {Data.attrs["Group Id"]}")
+print(f"Count: {Data.attrs["Count"]}")
+print(f"Last Sync:{Data.attrs["Last Sync"]}")
+print(f"Last Test Time: {Data.attrs["Last Test Time"]}")
+
+# Print rows 0:3
+print(Data.iloc[:3, :20]) # All columns not printed
+
Group IDs: ["groupId1", "groupId2", "groupId3"]
+Count: 58
+Last Sync: 1711392834
+Last Test Time: 1711392822
+
DataFrame output
+id | +timestamp | +athlete_id | +athlete_name | +athlete_teams | +athlete_groups | +athlete_active | +external_GradYear | +external_location | +external_uniqueId | +external_StudentID | +external_DPMb6ek2mgUNVcg8siSqpnIvE2i2 | +testType_id | +testType_name | +testType_canonicalId | +tag_ids | +tag_names | +segment | +Right Avg_ Propulsive Force(N) | +Relative Propulsive Net Impulse(N_s/kg) | +
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
YB35oOBAGHNQew0WziDt | +1690859091 | +OLbsebtmf81eiwg1AeE5 | +Lauren Green | +['teamId1', 'teamId2'] | +['groupId1'] | +True | +2004 | +Whittier | +83keo9wjei939ekd9 | +SA0042643 | +nan | +0f0017f87fb97445c95b9f2d1133b56b | +Drop Landing | +rKgI4y3ItTAzUekTUpvR | +[] | +[] | +Drop Landing:3 | +nan | +nan | +
2RnV4tM3J6IW2qYKgqg2 | +1690859127 | +OLbsebtmf81eiwg1AeE5 | +Lauren Green | +['teamId1', 'teamId3'] | +['groupId2', 'groupId3'] | +True | +2004 | +Whittier | +83keo9wjei939ekd9 | +SA0042643 | +nan | +0f0017f87fb97445c95b9f2d1133b56b | +Drop Landing | +rKgI4y3ItTAzUekTUpvR | +[] | +[] | +Drop Landing:4 | +nan | +nan | +
qNIZaBguZefAyar4oUtu | +1690859309 | +OLbsebtmf81eiwg1AeE5 | +Lauren Green | +['teamId2', 'teamId3'] | +['groupId3'] | +True | +2004 | +Whittier | +83keo9wjei939ekd9 | +SA0042643 | +nan | +7b22e645bdf341c90cf0f5459c957e6a | +Drop Jump | +gyBETpRXpdr63Ab2E0V8 | +[] | +[] | +Drop Jump:3 | +1387.7479 | +1.5916 | +
GetTestsTeam(teamId: str, from_: int = None, to_: int = None, sync: bool = False, active: bool = True)
Get test trials for specified team(s). Allows filtering of results based on time frames, synchronization needs, and the active status of tests.
+teamId
: (str) A single team ID, tuple or list of team IDs to receive tests from specific teams.
from_
: (int) Unix timestamp specifying the start time from which tests should be fetched. Default is None, which fetches tests from the beginning.
to_
: (int) Unix timestamp specifying the end time until which tests should be fetched. Default is None, which fetches tests up to the current time.
sync
: (bool) If True, the function fetches updated and newly created tests to synchronize with the database. Default is False.
active
: (bool) If True, only active tests are fetched. If False, all tests including inactive ones are fetched. Default is True.
A Pandas DataFrame containing details of the test trial, with columns:
+DataFrame is also returned with specific attributes:
+Exception
+Value Error
+from hdforce import GetTestsTeam
+
+# Get my team test data
+Data = GetTestsTeam(teamId = ["teamId1", "teamId2", "teamId3"], from_ = 1690859091, to_ = 1711392994)
+
+# Print DataFrame Attributes
+print(f"Team IDs: {Data.attrs["Team Id"]}")
+print(f"Count: {Data.attrs["Count"]}")
+print(f"Last Sync:{Data.attrs["Last Sync"]}")
+print(f"Last Test Time: {Data.attrs["Last Test Time"]}")
+
+# Print rows 0:3
+print(Data.iloc[:3, :20]) # All columns not printed
+
Team IDs: ["teamId1", "teamId2", "teamId3"]
+Count: 58
+Last Sync: 1711392834
+Last Test Time: 1711392822
+
DataFrame output
+id | +timestamp | +athlete_id | +athlete_name | +athlete_teams | +athlete_groups | +athlete_active | +external_GradYear | +external_location | +external_uniqueId | +external_StudentID | +external_DPMb6ek2mgUNVcg8siSqpnIvE2i2 | +testType_id | +testType_name | +testType_canonicalId | +tag_ids | +tag_names | +segment | +Right Avg_ Propulsive Force(N) | +Relative Propulsive Net Impulse(N_s/kg) | +
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
YB35oOBAGHNQew0WziDt | +1690859091 | +OLbsebtmf81eiwg1AeE5 | +Lauren Green | +['teamId1', 'teamId2'] | +['yh8RnOvg56dQNrZGBKWZ'] | +True | +2004 | +Whittier | +83keo9wjei939ekd9 | +SA0042643 | +nan | +0f0017f87fb97445c95b9f2d1133b56b | +Drop Landing | +rKgI4y3ItTAzUekTUpvR | +[] | +[] | +Drop Landing:3 | +nan | +nan | +
2RnV4tM3J6IW2qYKgqg2 | +1690859127 | +OLbsebtmf81eiwg1AeE5 | +Lauren Green | +['teamId1', 'teamId3'] | +['yh8RnOvg56dQNrZGBKWZ'] | +True | +2004 | +Whittier | +83keo9wjei939ekd9 | +SA0042643 | +nan | +0f0017f87fb97445c95b9f2d1133b56b | +Drop Landing | +rKgI4y3ItTAzUekTUpvR | +[] | +[] | +Drop Landing:4 | +nan | +nan | +
qNIZaBguZefAyar4oUtu | +1690859309 | +OLbsebtmf81eiwg1AeE5 | +Lauren Green | +['teamId2', 'teamId3'] | +['yh8RnOvg56dQNrZGBKWZ'] | +True | +2004 | +Whittier | +83keo9wjei939ekd9 | +SA0042643 | +nan | +7b22e645bdf341c90cf0f5459c957e6a | +Drop Jump | +gyBETpRXpdr63Ab2E0V8 | +[] | +[] | +Drop Jump:3 | +1387.7479 | +1.5916 | +
GetTestsType(typeId: str, from_: int = None, to_: int = None, sync: bool = False, active: bool = True)
Get test trials only from a specific type of test. Allows filtering of results based on time frames, synchronization needs, and the active status of tests.
+The typeId has been created to be more user friendly, as it accepts any of canonical Id, test type name, or common abbreviation:
+id | +name | +abbreviation | +
---|---|---|
7nNduHeM5zETPjHxvm7s | +Countermovement Jump | +CMJ | +
QEG7m7DhYsD6BrcQ8pic | +Squat Jump | +SJ | +
2uS5XD5kXmWgIZ5HhQ3A | +Isometric Test | +ISO | +
gyBETpRXpdr63Ab2E0V8 | +Drop Jump | +DJ | +
5pRSUQVSJVnxijpPMck3 | +Free Run | +FREE | +
pqgf2TPUOQOQs6r0HQWb | +CMJ Rebound | +CMJR | +
r4fhrkPdYlLxYQxEeM78 | +Multi Rebound | +MR | +
ubeWMPN1lJFbuQbAM97s | +Weigh In | +WI | +
rKgI4y3ItTAzUekTUpvR | +Drop Landing | +DL | +
typeId
: (str) The canonical test ID, test type name, or test name abbreviation. Must correspond to known test types.
from_
: (int) Unix timestamp specifying the start time from which tests should be fetched. Default is None, which fetches tests from the beginning.
to_
: (int) Unix timestamp specifying the end time until which tests should be fetched. Default is None, which fetches tests up to the current time.
sync
: (bool) If True, the function fetches updated and newly created tests to synchronize with the database. Default is False.
active
: (bool) If True, only active tests are fetched. If False, all tests including inactive ones are fetched. Default is True.
A Pandas DataFrame containing details of the test trial, with columns:
+DataFrame is also returned with specific attributes:
+Exception
+Value Error
+from hdforce import GetTestsType
+
+# Get CMJ test data
+Data = GetTestsType(typeId = "CMJ", from_ = 1690859091, to_ = 1711392994)
+
+# Print DataFrame Attributes
+print(f"Canonical Id: {Data.attrs["Canonical Id"]}")
+print(f"Test Type Name: {Data.attrs["Test Type Name"]}")
+print(f"Count: {Data.attrs["Count"]}")
+print(f"Last Sync:{Data.attrs["Last Sync"]}")
+print(f"Last Test Time: {Data.attrs["Last Test Time"]}")
+
+# Print rows 0:3
+print(Data.iloc[:3, :20]) # All columns not printed
+
Canonical Id:7nNduHeM5zETPjHxvm7s
+Test Type Name: Countermovement Jump
+Count: 58
+Last Sync: 1711392834
+Last Test Time: 1711392822
+
DataFrame output
+id | +timestamp | +athlete_id | +athlete_name | +athlete_teams | +athlete_groups | +athlete_active | +external_GradYear | +external_location | +external_uniqueId | +external_StudentID | +external_DPMb6ek2mgUNVcg8siSqpnIvE2i2 | +testType_id | +testType_name | +testType_canonicalId | +tag_ids | +tag_names | +segment | +Right Avg_ Propulsive Force(N) | +Relative Propulsive Net Impulse(N_s/kg) | +
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
5BgdD9160h7cC5Bc6Jj4 | +1698115161 | +OLbsebtmf81eiwg1AeE5 | +Lauren Green | +['DPMb6ek2mgUNVcg8siSqpnIvE2i2', 'vW9iEKafhs2PamfKSdGC'] | +['yh8RnOvg56dQNrZGBKWZ'] | +True | +2004 | +Whittier | +83keo9wjei939ekd9 | +SA0042643 | +nan | +96baa7ef1443c7a219702eb22e3e68d3 | +Countermovement Jump | +7nNduHeM5zETPjHxvm7s | +[] | +[] | +Countermovement Jump:2 | +1164.0342 | +2.8705 | +
SXxI8eNgN2qha7aAQ6tJ | +1698115180 | +OLbsebtmf81eiwg1AeE5 | +Lauren Green | +['DPMb6ek2mgUNVcg8siSqpnIvE2i2', 'vW9iEKafhs2PamfKSdGC'] | +['yh8RnOvg56dQNrZGBKWZ'] | +True | +2004 | +Whittier | +83keo9wjei939ekd9 | +SA0042643 | +nan | +96baa7ef1443c7a219702eb22e3e68d3 | +Countermovement Jump | +7nNduHeM5zETPjHxvm7s | +[] | +[] | +Countermovement Jump:3 | +1118.2702 | +2.8758 | +
AFv5YgN7yQimpZHSOQJE | +1698115201 | +OLbsebtmf81eiwg1AeE5 | +Lauren Green | +['DPMb6ek2mgUNVcg8siSqpnIvE2i2', 'vW9iEKafhs2PamfKSdGC'] | +['yh8RnOvg56dQNrZGBKWZ'] | +True | +2004 | +Whittier | +83keo9wjei939ekd9 | +SA0042643 | +nan | +96baa7ef1443c7a219702eb22e3e68d3 | +Countermovement Jump | +7nNduHeM5zETPjHxvm7s | +[] | +[] | +Countermovement Jump:4 | +1148.602 | +2.9366 | +
GetTypes()
Gets the test type names and IDs from Hawkin Dynamics System. These are foundational and static.
+A Pandas DataFrame containing the test type information, with columns:
+Exception
+from hdforce import GetTypes
+
+# Get test types
+testTypes = GetTypes()
+# Print type table
+print(testTypes)
+
output
+id | +name | +
---|---|
7nNduHeM5zETPjHxvm7s | +Countermovement Jump | +
QEG7m7DhYsD6BrcQ8pic | +Squat Jump | +
2uS5XD5kXmWgIZ5HhQ3A | +Isometric Test | +
gyBETpRXpdr63Ab2E0V8 | +Drop Jump | +
5pRSUQVSJVnxijpPMck3 | +Free Run | +
pqgf2TPUOQOQs6r0HQWb | +CMJ Rebound | +
r4fhrkPdYlLxYQxEeM78 | +Multi Rebound | +
ubeWMPN1lJFbuQbAM97s | +Weigh In | +
rKgI4y3ItTAzUekTUpvR | +Drop Landing | +
LoggerConfig.Configuration(file: bool = "False, level: str = "info", file_path: str=None, file_mode: str = 'a')
Configure logging for the application based on user preferences or defaults.
+file
: (bool) If True, logs will be written to a file. If False, logs will be written to stdout.
level
: (str) Desired log level. Valid values are 'debug', 'info', 'warning', 'error', 'critical'.
file_path
: (str) The full path where the log file will be saved. Defaults to 'hdforce.log' in the current project directory.
file_mode
: (str) Mode to open the log file, default is 'a'. Options are 'a' (append) and 'w'(overwrite)
Value Error
+Some configuration options were included with this package to help it adapt to your development and analysis needs. Whether it is your first time working with the hdforce package, or starting over with a new project, you can choose how you want to use the package and customize your experience.
+HDFORCE allows for event logging. This gives more detailed understanding of function processes and errors, to make development and debugging more efficient. Using the LoggerConfig.Configuration
function, users can configure a couple of key settings to their project environment.
Use the Refresh Token generated by https://cloud.hawkindynamics.com/integrations to get a valid Access Token. Only the organization administrator account has the ability to generate API tokens. Use this function to initiate access to your data in the cloud. All other HDFORCE functions will depend on the values returned from this function.
+In HDFORCE, we can create and manage your authentication settings with the authManager
function. The arguments passed will be used to handle authentication for the other functions used in the program. With this function you can control these settings:
region
: Sets the url prefix of your cloud siteauthMethod
: Sets storage method of auth variables. One of env, file, or manual. Default to 'env'.refreshToken_name
: Provide or set name of refresh Token variable. Default to "HD_REFRESH_TOKEN".refreshToken
: Optionally provided to pass token for authentication when authMethod="manual". Otherwise sets refresh token value when provided.env_file_name
: Required when authManager="file"
. Directs storage location of variables.The authentication manager allows the user to manage authentication with various development strategies. The 'env' method was designed to allow for simple authentication while developing in a local or contained environment, where the refresh token and variables are stored in system environment. The 'file' method can be used for more visible and dynamic interaction with the auth variables, as the refresh token and variables are stored with .env file. While the 'manual' method allows for use of the package without storing sensitive data, in so the refresh token is not stored and only used for authentication. This could be helpful in the scenario of developing a password protected application where the token can be used as a password.
+For those working in less vulnerable or sensitive environments, the use of environment variables stored in your local system can be very helpful and efficient because you can use it from project to project without making changes. The process of storing environment variables will differ for Windows and Mac users.
+It's important to note that authManager is set to look for the variable names of 'HD_REFRESH_TOKEN' and 'REGION'. These variable names should be used when storing environment variables
+1. Open Environment Variables:
+2. Add New Environment Variables:
+3. Accessing Environment Variables in Python:
+You can access these variables in your Python code using the os module:
+ +1. Open Terminal:
+2. Edit the Profile File:
+open -e ~/.bash_profile
if you are using Bash, or open -e ~/.zshrc
if you are using Zsh, then press Enter. This opens your profile file in a text editor.3. Add New Environment Variables:
+export VARIABLE_NAME='value'
. For example:4. Load the New Settings:
+source ~/.bash_profile
or source ~/.zshrc
in the Terminal and press Enter.5. Accessing Environment Variables in Python:
+Verifying Environment Variables +To ensure your environment variables are set correctly, you can print them in your Python script:
+ +If the output shows your set value, the environment variables are correctly configured.
+In the case of the "file" method, the user will need to save a .env file in the source directory. When using this method, you will also need to pass the file name to the env_file_name
argument as a string. It's most common to use something as simple as ".env", but you can name your file anything ending with .env.
Below is an example of what the .env file can look like. This can be used as a template, as the variable name "HD_REFRESH_TOKEN" is the default to what the authManager
function will use for the refreshToken_name
. If you want ot use a different variable name, simply pass the string through the refreshToken_name
argument, along with the token to the refreshToken
argument. The other values for ACCESS_TOKEN, TOKEN_EXPIRATION, and CLOUD_URL are defaults within the authManager
function, and should be maintained.
HD_REFRESH_TOKEN=your_api_token # Replace With Your Refresh Token
+REGION=your_region # Replace With Your URL region
+ACCESS_TOKEN= # Access token will be stored here
+TOKEN_EXPIRATION= # Token Expiration will be stored here
+CLOUD_URL= # Your region's URL here
+
With the variables stored, we can use it with our other functions without worrying about authentication for each call.
+# Run authentication manager
+AuthManager(authMethod="env", region= "Americas")
+
+# Run authentication manager with file method
+AuthManager(authMethod="file", env_file_name=".env", region= "Americas")
+
+# Run authentication manager with manual method
+AuthManager(authMethod="manual", region="Americas", refreshToken="your_refresh_token")
+
Run at the beginning of script/session to set desired logging settings
+from hdforce import LoggerConfig
+
+# Configure to set up a log file for thorough debugging
+LoggerConfig.Configuration(file = TRUE, level = 'debug')
+
Initial Set Up
+First use in a new environment. Storing refresh token and region.
+from hdforce import AuthManager
+
+AuthManager(
+ region = "Americas",
+ authMethod = "env",
+ refreshToken_name = "HD_REFRESH_TOKEN",
+ refreshToken = "YourRefreshTokenHere"
+ )
+
Initial Set Up with File
+First use in a new environment and using the "file" method. The .env file should be created before authenticating, and can already include variables and values.
+HD_REFRESH_TOKEN=YourRefreshTokenHere
+REGION=Americas
+ACCESS_TOKEN=
+TOKEN_EXPIRATION=
+CLOUD_URL=
+
If you want to update the file variables +
from hdforce import AuthManager
+
+AuthManager(
+ region = "Europe",
+ authMethod = "file",
+ refreshToken_name = "HD_REFRESH_TOKEN",
+ refreshToken = "YourRefreshTokenHere",
+ env_file_name = ".env"
+ )
+
import hdforce as hd
+
+# Get Test types and IDs
+types = hd.GetTypes()
+
+# Get all athletes (including inactive)
+players = hd.GetAthletes( inactive = True )
+
+# Get Teams, Groups, Tags for filtering tests
+teams = hd.GetTeams()
+groups = hd.GetGroups()
+tags = hd.GetTags()
+
Get Tests +
from hdforce import GetTests
+
+# Set from and to time points
+time1 = 1690859091
+time2 = 1711392994
+
+# get all tests in system (not recommended)
+allTests = GetTests()
+
+# get test from a time
+fromTests = GetTests(from_ = time2)
+
+# get test up to a time
+fromTests = GetTests(to_ = time1)
+
+# get test from between time points
+fromTests = GetTests(from_ = time1, to_ = time2)
+
+# Sync tests since last sync (only new or updated tests)
+lastSync = allTests.attrs["Last Sync"] # find last sync value in returned DataFrame attributes
+newTests = GetTests(from_ = lastSync , sync = True)
+
Get Tests by Athlete +
from hdforce import GetTestsAth, GetTestsType, GetTestsGroup, GetTestsTeam
+
+# Set from and to time points
+time1 = 1690859091
+time2 = 1711392994
+
+# get all tests for athlete
+me = players.id[players["name"] == "Lauren Green"] # Get my athlete info from players variable
+
+myId = me.iloc[0] # Get my id
+
+myTests = GetTestsAth(athleteId = myId) # Get my tests
+
Get Tests by Type +
# get CMJ tests since time2
+updateCMJ = GetTestsType(typeId = 'Countermovement Jump', from_ = time2, sync = True)
+
Get Group Test Up to time 1 +
theGroup = groups.id[groups["name"] == "group1"]
+groupTests = GetTestsGroup(groupId = theGroup, to_ = time1)
+
Get Team Test from time2 +
# Specify the team names you want to find indices for
+team_names = ['Team 1', 'Team 3', 'Team 6']
+
+# Get indices for the specified team names
+indices = teams[teams['name'].isin(team_names)].index.tolist()
+
+# Select the team IDs using iloc
+teamIds = teams.iloc[indices]['id']
+
+teamTests = GetTestsTeam(teamId = teamIds, from_ = time2)
+
Get Force-Time Data +
from hdforce import GetTestsAth, GetForceTime
+
+# Get my athlete info from players variable
+me = players.id[players["name"] == "Lauren Green"]
+
+# Get my id
+myId = me.iloc[0]
+
+# Get my tests
+myTests = GetTestsAth(athleteId = myId)
+
+# Get test trial id of first test
+someTest = myTests.iloc[0]
+
+# Get force time data
+ftData = GetForceTime(testId = someTest)
+
While the purpose of the package is to help with accessing data specific to your organization, it may be helpful to store some data that is specific to Hawkin and the Hawkin Dynamics system. Things like test types and test metrics will help you call your data more efficiently and better understand the values you are seeing.
+GetTypes
- Get the test type names and IDs for all the test types in the system. The response will be a data frame containing the tests that are in the HD system.GetMetrics
- Get all the metrics for each test type. The response will be a data frame containing the test canonical ID, test type name, metric ID, metric label, a metric unit of measure, and description.Every organization has data specific to them. With that, these entities will have unique IDs. It is important to have these IDs available to make the most of your test calls.
+GetAthletes()
- Get the athletes for an account. Inactive players will only be included if inactive
parameter is set to TRUE. The response will be a data frame containing the athletes that match this query.GetTeams()
- Get the team names and IDs for all the teams in the org. The response will be a data frame containing the teams that are in the organization.GetGroups()
- Get the group names and IDs for all the groups in the org. The response will be a data frame containing the groups that are in the organization.GetTags()
- Get the tag names, IDs, and descriptions for tags created by users in your org. The response will be a data frame.This is what you are here for. These functions allow you to call test data most efficiently. It is encouraged that you take advantage of the from_
, to_
, and sync
parameters. This will help prevent from having calls with large payloads that may timeout and fail.
from_
= Optionally supply a time (Unix timestamp) you want the tests from. If you do not supply this
+value you will receive every test. This parameter is best suited for bulk exports of historical data.to_
= Optionally supply a time (Unix timestamp) you want the tests to. If you do not supply this value
+you will receive every test from the beginning of time or the optionally supplied from_
+parameter. This parameter is best suited for bulk exports of historical datasync
= The result set will include updated and newly created tests, following the time constraints of from_
and to_
. This parameter is best suited to keep your database in sync with the Hawkin database. It cannot and should not be used to fetch your entire database. A recommended strategy would be to have a job that runs on a short interval e.g. every five minutes that sends the lastSyncTime
that it received as the from_
parameter with sync=True
.active
= If True, only active tests are fetched. If False, all tests including inactive ones are fetched. The default is set to True.GetTests()
- Get the tests for your account. You can specify a time frame from_
, or to_
, which the tests should come (or be synced). The Response will be a data frame containing the trials within the time range (if specified).GetTestsAth()
- Get only tests of the specified athlete from your organization. You can specify a time frame from_
, or to_
, which the tests should come (or be synced). Response will be a data frame containing the trials from the athlete, within the time range (if specified).GetTestsType()
- Get only tests of the specified test type from your organization. You can specify a time frame from_
, or to_
, which the tests should come (or be synced). Response will be a data frame containing the trials from that test type, within the time range (if specified).GetTestsTeam()
- Get only tests of the specified teams from your organization. Requires a teamId
argument, which expects a text string, list or tuple (max of 10 teams). You can specify a time frame from_
, or to_
, which the tests should come (or be synced). Response will be a data frame containing the trials from those teams, within the time range (if specified).GetTestsGroup()
- Get only tests of the specified groups from your organization. Requires a groupId
argument, which expects a text string, list or tuple (max of 10 groups). You can specify a time frame from_
, or to_
, which the tests should come (or be synced). Response will be a data frame containing the trials from those groups, within the time range (if specified).GetForceTime()
- Get the force-time data for a specific test by id. This includes both left, right and combined force data at 1000hz (per millisecond). Calculated velocity, displacement, and power at each time interval will also be included.