Generate mock data for teams, venues, users, events, and players.
This tool is useful for seeding demo databases or testing systems that depend on structured sports-style data.
- Teams: Generates mock schools with unique team codes, silly mascots, emails, and websites (based on authentic U.S. city names).
- Venues: Assigns each team a venue with consistent U.S. address and phone number formatting.
- Users: Creates role-based users (Team Admin, Coach, Assistant Coach, Venue Admin, Event Admin) tied to each team.
- Events: Generates events with realistic names, dates, times, and team associations, plus an event–team join table.
- Players: Generates lists of players for each of the teams, with random ages using indicated range.
- GUI: Simple cross-platform desktop interface (Tkinter) to run any combination of the generators with adjustable options.
The team mascots are intentionally juvenile and silly. To expand the number of possible random teams generated, a probability factor is applied to a pool of colors that may be prepended to the mascots.
For example, you could end up with a list of teams like this:
- Arlington Heights Sugar Gliders
- Old Bridge Tumbleweeds
- Sarasota White Chinchillas
- Clearfield Sugar Gliders
- Massapequa Purple Parsnips
- Forest Hills Rutabagas
- Python 3.10+
- Dependencies:
geonamescache
faker
tkinter
Install all requirements:
pip install -r requirements.txt
Run the graphical user interface:
python generator.py
From the GUI you can:
- Choose an output folder
- Select which data sets to generate
- Configure counts (e.g. number of teams, events, teams per event, players)
- Pick which user roles to include
- Select the option to generate passwords and hash values for those users
The generated CSV files will appear in the chosen folder.
Each generator can also be run directly. For ex:
python generate_mock_teams.py --num-teams 50 --out mock_teams.csv
python generate_mock_venues.py --teams-csv mock_teams.csv --out mock_venues.csv
python generate_mock_users.py --teams-csv mock_teams.csv --out mock_users.csv --roles "Coach,Event Admin"
python generate_mock_events.py --teams-csv mock_teams.csv --venues-csv mock_venues.csv \
--events-out mock_events.csv --join-out mock_events-teams.csv --num-events 20 --teams-per-event 2
python generate_mock_players.py --teams-csv mock_teams.csv
- mock_teams.csv
- mock_venues.csv
- mock_users.csv
- mock_events.csv
- mock_events-teams.csv
- mock_players.csv
Each file contains structured relational data suitable for importing into a database.
This project is licensed under the MIT License.