Extract data from DataVolley .dvw files and VolleyStation .vsm files
Project description
py-datavolley
A Python package for parsing and analyzing volleyball scouting data from DataVolley files (*.dvw).
Currently rebuilding pydatavolley with modern Python tooling (Astral ecosystem) for improved experience: UV for package management, Ruff for linting/formatting and Ty for type checking.
Running
If you want to clone, here's how to set up the development environment using UV:
Setup Development Environment
# Install uv if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Installation
Ensure you have uv - this will make the process much easier.
uv add openvolley-pydatavolley
import datavolley as dv
dv.read_dv('datavolley_path')
# For convience you may want to use pandas
import pandas as pd
data = dv.read_dv('datavolley_path')
pd.DataFrame(data)
# Or polars
import polars as pl
data = dv.read_dv('datavolley_path')
pl.DataFrame(data)
Development
-
Clone the repository:
git clone https://github.com/your-username/py-datavolley.git cd py-datavolley
-
Create and activate virtual environment:
# UV automatically creates and manages virtual environments uv sync
-
Install development dependencies:
# Development dependencies are defined in pyproject.toml uv sync --group dev
Testing
After the setup process run main with:
# Use example file or your own file
uv run main.py
Which will return:
Json
[ {
"match_id": "106859",
"video_time": 495,
"code": "a02RM-~~~58AM~~00B",
"team": "University of Dayton",
"player_number": 2,
"player_name": "Maura Collins",
"player_id": "-230138",
"skill": "Reception",
"skill_subtype": "Jump Float",
"evaluation_code": "-",
"setter_position": None,
"attack_code": None,
"set_code": None,
"set_type": None,
"start_zone": "5",
"end_zone": "8",
"end_subzone": "A",
"num_players_numeric": None,
"home_team_score": "0",
"visiting_team_score": "0",
"home_setter_position": "1",
"visiting_setter_position": "6",
"custom_code": None,
"home_p1": "19",
"home_p2": "9",
"home_p3": "11",
"home_p4": "15",
"home_p5": "10",
"home_p6": "7",
"visiting_p1": "1",
"visiting_p2": "16",
"visiting_p3": "17",
"visiting_p4": "10",
"visiting_p5": "6",
"visiting_p6": "8",
"start_coordinate": "0431",
"mid_coordinate": "-1-1",
"end_coordinate": "7642",
"point_phase": None,
"attack_phase": None,
"start_coordinate_x": 1.26875,
"start_coordinate_y": 0.09259600000000001,
"mid_coordinate_x": None,
"mid_coordinate_y": None,
"end_coordinate_x": 1.68125,
"end_coordinate_y": 5.425924,
"set_number": "1",
"home_team": "University of Louisville",
"visiting_team": "University of Dayton",
"home_team_id": 17,
"visiting_team_id": 42,
"point_won_by": None,
"serving_team": None,
"receiving_team": None,
"rally_number": None,
"possesion_number": None
}
]
Contributing
Please create an issue, fork and create a pull request.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file openvolley_pydatavolley-0.1.5.tar.gz.
File metadata
- Download URL: openvolley_pydatavolley-0.1.5.tar.gz
- Upload date:
- Size: 40.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa9a88180ba178b72de29c4728c22b26a1ed7e8baed608dfe1a3edf9dba365c9
|
|
| MD5 |
d1138820926a11b315b17954df7e2b5e
|
|
| BLAKE2b-256 |
5688dab66f25650f307007c04ac6c355b7ec27534ee21f2ea1d2d1583e80452b
|
File details
Details for the file openvolley_pydatavolley-0.1.5-py3-none-any.whl.
File metadata
- Download URL: openvolley_pydatavolley-0.1.5-py3-none-any.whl
- Upload date:
- Size: 47.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
54c4d9184f203cd56916d72220a1f9adaf8d1d700c653a2bca9c08cc135084b9
|
|
| MD5 |
50b1306aae61f50cf9d84487f63a1a5f
|
|
| BLAKE2b-256 |
25d75af487cf2433a67bbeeb307271857e3e46ef9847f182314d31e9c037f803
|