Name | ssscoring JSON |
Version |
2.9.0
JSON |
| download |
home_page | None |
Summary | ssscoring - Speed Skydiving scoring tools |
upload_time | 2025-07-08 13:36:41 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.9.9 |
license | None |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
% ssscoring(3) Version 2.9.0 | Speed Skydiving Scoring API documentation
Name
====
**SSScoring** - Speed Skydiving Scoring high level library in Python
Synopsis
========
```bash
pip install -U ssscoring
```
Have one or more FlySight speed run track files available (can be v1 or v2), set
the source directory to the data lake containing them.
```python
# synopsys.py
from ssscoring.calc import aggregateResults
from ssscoring.calc import processAllJumpFiles
from ssscoring.calc import roundedAggregateResults
from ssscoring.flysight import getAllSpeedJumpFilesFrom
DATA_LAKE = './resources' # can be anywhere
jumpResults = processAllJumpFiles(getAllSpeedJumpFilesFrom(DATA_LAKE))
print(roundedAggregateResults(aggregateResults(jumpResults)))
```
Output:
```bash
python synopsys.py
score 5.0 10.0 15.0 20.0 25.0 finalTime maxSpeed
01-00-00:v2 472 181 329 420 472 451 24.7 475
resources test-data-00:v1 443 175 299 374 427 449 25.0 449
resources test-data-01:v1 441 176 305 388 432 442 25.0 442
resources test-data-02:v1 451 164 295 387 441 452 25.0 453
```

Speed run summary example:
https://raw.githubusercontent.com/pr3d4t0r/SSScoring/refs/heads/master/resources/SSScoring-speed-run-summary.png
SSScoring processes all FlySight files (tagged as v1 or v2, depending on the
device) and SkyTrax files. It aggregates and summarizes the results. Full
API documentation is available at:
https://pr3d4t0r.github.io/SSScoring/ssscoring.html
SSScore app is available for interactive scoring from:
https://ssscore.streamlit.app
Installation and Requirements
=============================
- Python 3.9.9 or later
- pandas and NumPy
The [requirements.txt](./requirements.txt) file lists all the packages required
for running SSScoring or using the API.
Quickstart
==========
- The [SSScoring interactive quickstart](./quickstart.ipynb) notebook for
Jupyter/Lucyfer is the fastest way to learn how to use the library
- The `ssscore` command line tool implements the same functionality as the
interactive quickstart, can be used for scoring speed skydives from the
command line with minimum installation
- Read the <a href='https://pr3d4t0r.github.io/SSScoring/ssscoring.html' target='_blank'>SSScoring API documentation</a>
### SSScore web tool
Analyze single tracks or a group of tracks using the SSScoring API in a
full-featured web application. Requires Internet connectivity.
URL: <a href='https://ssscore.streamlit.app/' target='_blank'>SSScore 2</a>
### ssscore command line tool
`ssscore` is a comnand line tool that scores one or more speed skydiving files
with as little user participation as possible. It supports options for
specifying the DZ altitude MSL in feet and for "simple training output" that
shows rounded speed values, useful for physical log book updates.
```bash
ssscore -e 616 -t ./TRACKS
```
Produces this outout:
```
elevation = 187.76 m (616.00')
Processing speed tracks in quickstart-example/...
score 5.0 10.0 ... 25.0 finalTime maxSpeed
R3_13-32-20:v2 490 187 333 ... 490 24.2 493
quickstart-example R1_09-20-26:v1 325 135 211 ... 319 25.0 328
quickstart-example R2_11-00-34:v1 476 185 333 ... 315 24.9 481
[3 rows x 8 columns]
Total score = 1291.00, mean speed = 430.33
```
See the <a href='https://github.com/pr3d4t0r/SSScoring/blob/master/ssscore.md' target='_blank'>`ssscore` man page</a>
for details on this quickstart tool.
Running the stand-alone apps
============================
While the web-based app shows the single and multiple jumps scoring functions as
part of a single app, they are two distinct executables. During development and
for local execution, it's easier to run them from the command line.
These commands assume that the code is installed in a Python virtual environment
and that the `streamlit` package is installed.
**Prepare the local run-time environment**
Installs all the required packages via `pip -e .` in the `local` target, and
it only needs to run once per session, and only after `make test` or `make clean`.
```bash
make local
```
**Scoring a multiple jumps set**
```bash
# installs all the required packages via pip -e .
# it only needs to run once per session, and only after make test or make clean
make local
streamlit run ssscoring/ssscoremultiple.py
```
**Scoring and analyzing a single jump**
```bash
make local
streamlit run ssscoring/ssscoresingle.py
```
These commands will start a new SSScore instance, current branch version, in the
system's default web browser.
Description
===========
SSScoring provides analsysis tools for individual or bulk processing of FlySight
GPS competition data gathered during speed skydiving training and competition.
Scoring methodology adheres to International Skydiving Commission (ISC),
International Speed Skydiving Association (ISSA), and United States Parachute
Association (USPA) published competition and scoring rules. Though FlySight is
the only Speed Measuring Device (SMD) accepted by all these organizations,
SSScoring libraries and tools also operate with track data files produced by
these devices:
- FlySight 1
- FlySight 2
- SkyTrax GPS and barometric device
SSScoring leverages data manipulation tools in the pandas and NumPy data
analysis libraries. All the SSScoring code is written in pure Python, but the
implementation leverages libraries that may require native code for GPU and AI
chipset support like Nvidia and M-chipsets.
### Features
- Pure Python
- Supports output from FlySight versions v1 and v2, and SkyTrax devices
- Automatic file version detection
- Bulk file processing via data lake scanning
- Automatic selection of FlySight-like files mixed among files of multiple types
and from different applications and operating systems
- Individual file processing
- Automatic jump file validation according to competition rules
- Automatic skydiver exit detection
- Automatic jump scoring with robust error detection based on exit altitude,
break off altitude, scoring window, and validation window
- Produces time series dataframes for the speed run, summary data in 5-second
intervals, scoring window, speed skydiver track angle with respect to the
ground, horizontal distance from exit, etc.
- Reports max speed, exit altitude, scoring window end, distance traveled from
exit, and other data relevant to competitors during training
- Internal data representation includes SI and Imperial units; implementers may
choose either one when working with the API
The latest SSScoring API is available on GitHub:
https://pr3d4t0r.github.io/SSScoring/ssscoring.html
The SSScoring package can be installed into any Python environment version 3.9
or later.
https://pypi.org/project/ssscoring
SSScoring also includes Lucyfer/Jupyter notebooks for dataset exploratory
analysis and for code troubleshooting. Unit test coverage is greater than 92%,
limited only by Jupyter-specific components that can't be tested in a standalone
environment.
### What is a data lake?
A **data lake** is a files repository that stores data in its raw, unprocessed
form. A speed skydiving data lake often has one or more of these types of
files:
- FlySight versions 1 or 2 files
- SkyTrax files
- Video files (MP4 or MOV of whatever)
- PDFs of meet bulletins and related event information
- Miscellaneous other junk
SSScoring identifies FlySight and SkyTrax files regardless of what other file
types are available in the data lake. SSScoring also identifies speed files
from other types of tracks (e.g. wingsuit) based on the performance profile and
scoring windows. Tell the SSScoring tools where to get all the track files,
even if they are several levels deep in the directory structure, and SSScoring
will find, validate, and score only the speed skydiving files regardless of what
else is available in the data lake. The only limitation is available memory.
SSScoring has been tested with as many as 467 speed files during a single run,
representing all the training files for a competitive skydiver over 10 months.
### Additional tools
- `nospot` shell script for disabling Spotlight scanning of FlySight file
systems
- `umountFlySight` Mac app and shell script for safe unmounting of a FlySight
device from a Macintosh computer
Contributors
============
| Name | GitHub |
|------|--------|
|Jochen Althoff|@Quadriga14193|
|Eugene Ciurana|@pr3d4t0r|
|Michael Cooper|@FlySight|
|Nik Daniel|n/a|
|Alexey Galda|@alexgalda|
|Marco Hepp|n/a|
|Stepan Sgibnev|@kotek14|
See Also
========
<a href='https://pr3d4t0r.github.io/SSScoring/ssscoring.html' target='_blank'>SSScoring API documentation</a> - github.io
<a href='https://ssscore.streamlit.app' target='_blank'>SSScore app on-line</a> - Streamlit Cloud
ssscore(1)
https://github.com/pr3d4t0r/SSScoring/blob/master/ssscore.md
License
=======
The **SSScoring** package, documentation and examples are licensed under the
[BSD-3 open source license](https://github.com/pr3d4t0r/SSScoring/blob/master/LICENSE.txt).
Raw data
{
"_id": null,
"home_page": null,
"name": "ssscoring",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9.9",
"maintainer_email": null,
"keywords": null,
"author": null,
"author_email": "Eugene Ciurana pr3d4t0r <ssscoring.project@cime.net>",
"download_url": null,
"platform": null,
"description": "% ssscoring(3) Version 2.9.0 | Speed Skydiving Scoring API documentation\n\nName\n====\n\n**SSScoring** - Speed Skydiving Scoring high level library in Python\n\n\nSynopsis\n========\n```bash\npip install -U ssscoring\n```\n\nHave one or more FlySight speed run track files available (can be v1 or v2), set\nthe source directory to the data lake containing them.\n\n```python\n# synopsys.py\nfrom ssscoring.calc import aggregateResults\nfrom ssscoring.calc import processAllJumpFiles\nfrom ssscoring.calc import roundedAggregateResults\nfrom ssscoring.flysight import getAllSpeedJumpFilesFrom\n\nDATA_LAKE = './resources' # can be anywhere\njumpResults = processAllJumpFiles(getAllSpeedJumpFilesFrom(DATA_LAKE))\nprint(roundedAggregateResults(aggregateResults(jumpResults)))\n```\n\nOutput:\n\n```bash\npython synopsys.py\n score 5.0 10.0 15.0 20.0 25.0 finalTime maxSpeed\n01-00-00:v2 472 181 329 420 472 451 24.7 475\nresources test-data-00:v1 443 175 299 374 427 449 25.0 449\nresources test-data-01:v1 441 176 305 388 432 442 25.0 442\nresources test-data-02:v1 451 164 295 387 441 452 25.0 453\n```\n\n\nSpeed run summary example:\nhttps://raw.githubusercontent.com/pr3d4t0r/SSScoring/refs/heads/master/resources/SSScoring-speed-run-summary.png\n\nSSScoring processes all FlySight files (tagged as v1 or v2, depending on the\ndevice) and SkyTrax files. It aggregates and summarizes the results. Full\nAPI documentation is available at:\n\nhttps://pr3d4t0r.github.io/SSScoring/ssscoring.html\n\nSSScore app is available for interactive scoring from:\n\nhttps://ssscore.streamlit.app\n\n\nInstallation and Requirements\n=============================\n\n- Python 3.9.9 or later\n- pandas and NumPy\n\nThe [requirements.txt](./requirements.txt) file lists all the packages required\nfor running SSScoring or using the API.\n\n\nQuickstart\n==========\n\n- The [SSScoring interactive quickstart](./quickstart.ipynb) notebook for\n Jupyter/Lucyfer is the fastest way to learn how to use the library\n- The `ssscore` command line tool implements the same functionality as the\n interactive quickstart, can be used for scoring speed skydives from the\n command line with minimum installation\n- Read the <a href='https://pr3d4t0r.github.io/SSScoring/ssscoring.html' target='_blank'>SSScoring API documentation</a>\n\n\n### SSScore web tool\n\nAnalyze single tracks or a group of tracks using the SSScoring API in a\nfull-featured web application. Requires Internet connectivity.\n\nURL: <a href='https://ssscore.streamlit.app/' target='_blank'>SSScore 2</a>\n\n\n### ssscore command line tool\n\n`ssscore` is a comnand line tool that scores one or more speed skydiving files\nwith as little user participation as possible. It supports options for\nspecifying the DZ altitude MSL in feet and for \"simple training output\" that\nshows rounded speed values, useful for physical log book updates.\n\n```bash\nssscore -e 616 -t ./TRACKS\n```\n\nProduces this outout:\n\n```\nelevation = 187.76 m (616.00')\nProcessing speed tracks in quickstart-example/...\n\n score 5.0 10.0 ... 25.0 finalTime maxSpeed\nR3_13-32-20:v2 490 187 333 ... 490 24.2 493\nquickstart-example R1_09-20-26:v1 325 135 211 ... 319 25.0 328\nquickstart-example R2_11-00-34:v1 476 185 333 ... 315 24.9 481\n\n[3 rows x 8 columns]\n\nTotal score = 1291.00, mean speed = 430.33\n```\n\nSee the <a href='https://github.com/pr3d4t0r/SSScoring/blob/master/ssscore.md' target='_blank'>`ssscore` man page</a>\nfor details on this quickstart tool.\n\n\nRunning the stand-alone apps\n============================\n\nWhile the web-based app shows the single and multiple jumps scoring functions as\npart of a single app, they are two distinct executables. During development and\nfor local execution, it's easier to run them from the command line.\n\nThese commands assume that the code is installed in a Python virtual environment\nand that the `streamlit` package is installed.\n\n**Prepare the local run-time environment**\n\nInstalls all the required packages via `pip -e .` in the `local` target, and\nit only needs to run once per session, and only after `make test` or `make clean`.\n\n```bash\nmake local\n```\n\n**Scoring a multiple jumps set**\n\n```bash\n# installs all the required packages via pip -e .\n# it only needs to run once per session, and only after make test or make clean\nmake local\nstreamlit run ssscoring/ssscoremultiple.py\n```\n\n**Scoring and analyzing a single jump**\n\n```bash\nmake local\nstreamlit run ssscoring/ssscoresingle.py\n```\n\nThese commands will start a new SSScore instance, current branch version, in the\nsystem's default web browser.\n\n\nDescription\n===========\nSSScoring provides analsysis tools for individual or bulk processing of FlySight\nGPS competition data gathered during speed skydiving training and competition.\nScoring methodology adheres to International Skydiving Commission (ISC),\nInternational Speed Skydiving Association (ISSA), and United States Parachute\nAssociation (USPA) published competition and scoring rules. Though FlySight is\nthe only Speed Measuring Device (SMD) accepted by all these organizations,\nSSScoring libraries and tools also operate with track data files produced by\nthese devices:\n\n- FlySight 1\n- FlySight 2\n- SkyTrax GPS and barometric device\n\nSSScoring leverages data manipulation tools in the pandas and NumPy data\nanalysis libraries. All the SSScoring code is written in pure Python, but the\nimplementation leverages libraries that may require native code for GPU and AI\nchipset support like Nvidia and M-chipsets.\n\n\n### Features\n\n- Pure Python\n- Supports output from FlySight versions v1 and v2, and SkyTrax devices\n- Automatic file version detection\n- Bulk file processing via data lake scanning\n- Automatic selection of FlySight-like files mixed among files of multiple types\n and from different applications and operating systems\n- Individual file processing\n- Automatic jump file validation according to competition rules\n- Automatic skydiver exit detection\n- Automatic jump scoring with robust error detection based on exit altitude,\n break off altitude, scoring window, and validation window\n- Produces time series dataframes for the speed run, summary data in 5-second\n intervals, scoring window, speed skydiver track angle with respect to the\n ground, horizontal distance from exit, etc.\n- Reports max speed, exit altitude, scoring window end, distance traveled from\n exit, and other data relevant to competitors during training\n- Internal data representation includes SI and Imperial units; implementers may\n choose either one when working with the API\n\nThe latest SSScoring API is available on GitHub:\nhttps://pr3d4t0r.github.io/SSScoring/ssscoring.html\n\nThe SSScoring package can be installed into any Python environment version 3.9\nor later.\nhttps://pypi.org/project/ssscoring\n\nSSScoring also includes Lucyfer/Jupyter notebooks for dataset exploratory\nanalysis and for code troubleshooting. Unit test coverage is greater than 92%,\nlimited only by Jupyter-specific components that can't be tested in a standalone\nenvironment.\n\n\n### What is a data lake?\n\nA **data lake** is a files repository that stores data in its raw, unprocessed\nform. A speed skydiving data lake often has one or more of these types of\nfiles:\n\n- FlySight versions 1 or 2 files\n- SkyTrax files\n- Video files (MP4 or MOV of whatever)\n- PDFs of meet bulletins and related event information\n- Miscellaneous other junk\n\nSSScoring identifies FlySight and SkyTrax files regardless of what other file\ntypes are available in the data lake. SSScoring also identifies speed files\nfrom other types of tracks (e.g. wingsuit) based on the performance profile and\nscoring windows. Tell the SSScoring tools where to get all the track files,\neven if they are several levels deep in the directory structure, and SSScoring\nwill find, validate, and score only the speed skydiving files regardless of what\nelse is available in the data lake. The only limitation is available memory.\nSSScoring has been tested with as many as 467 speed files during a single run,\nrepresenting all the training files for a competitive skydiver over 10 months.\n\n\n### Additional tools\n\n- `nospot` shell script for disabling Spotlight scanning of FlySight file\n systems\n- `umountFlySight` Mac app and shell script for safe unmounting of a FlySight\n device from a Macintosh computer\n\n\nContributors\n============\n\n| Name | GitHub |\n|------|--------|\n|Jochen Althoff|@Quadriga14193|\n|Eugene Ciurana|@pr3d4t0r|\n|Michael Cooper|@FlySight|\n|Nik Daniel|n/a|\n|Alexey Galda|@alexgalda|\n|Marco Hepp|n/a|\n|Stepan Sgibnev|@kotek14|\n\n\nSee Also\n========\n<a href='https://pr3d4t0r.github.io/SSScoring/ssscoring.html' target='_blank'>SSScoring API documentation</a> - github.io\n<a href='https://ssscore.streamlit.app' target='_blank'>SSScore app on-line</a> - Streamlit Cloud\nssscore(1)\nhttps://github.com/pr3d4t0r/SSScoring/blob/master/ssscore.md\n\n\nLicense\n=======\nThe **SSScoring** package, documentation and examples are licensed under the\n[BSD-3 open source license](https://github.com/pr3d4t0r/SSScoring/blob/master/LICENSE.txt).\n\n",
"bugtrack_url": null,
"license": null,
"summary": "ssscoring - Speed Skydiving scoring tools",
"version": "2.9.0",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "0d27468afd1f0b7828b5573e2722dda5ebee77c50a5898cabd3c99d8df8e45d7",
"md5": "450885b406f659dccc4ee5e6a00f48b4",
"sha256": "6aa08324d02c4c039a3871e32dd21b3af666ddab28fa4d0c1d341b96da524024"
},
"downloads": -1,
"filename": "ssscoring-2.9.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "450885b406f659dccc4ee5e6a00f48b4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9.9",
"size": 50047,
"upload_time": "2025-07-08T13:36:41",
"upload_time_iso_8601": "2025-07-08T13:36:41.516908Z",
"url": "https://files.pythonhosted.org/packages/0d/27/468afd1f0b7828b5573e2722dda5ebee77c50a5898cabd3c99d8df8e45d7/ssscoring-2.9.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-08 13:36:41",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "ssscoring"
}