Skip to main content

Starcraft Data Platform

Status: Work in Progress Coverage Status

This repository is under active development. It defines the database architecture for ingesting, storing, and analyzing Starcraft II replay data.


Overview

The Starcraft Data Platform is designed to:

  • Store raw replay data, player information, and event logs in a relational database.
  • Provide analytics views and materialized tables for advanced insights.
  • Enable machine learning workflows by supporting feature engineering and model outputs.

Planned Features

  1. Core Functionality:

    • Relational database schema for storing raw replay data.
    • Analytics views for player statistics and performance trends.
    • ML schema for storing model outputs and feature sets.
  2. Technology Stack:

    • PostgreSQL for database storage.
    • SQLAlchemy for ORM models.
    • Docker for containerized deployment.
  3. Future Enhancements:

    • Performance optimization for materialized views.
    • Expanded analytics for build orders and map-specific trends.

Current Focus

The current phase of development is focused on:

  • Designing the raw schema for replay ingestion.
  • Creating analytics views for player statistics.

Getting Started

⚠️ This project is not yet ready for deployment or public use. Setup instructions will be added as development progresses.


Planned Structure

This repository will be organized into the following structure:

  • db/: Contains all database-related files.

    • schema.sql: A consolidated SQL file for creating all database schemas, including raw, analytics, and ML schemas.
    • models/: A directory housing SQLAlchemy ORM models.
      • replay.py: ORM models for replay metadata tables (e.g., Info, Player, Team).
      • events.py: ORM models for event data (e.g., UnitBornEvent, SelectionEvent).
      • datapack.py: ORM models for unit and ability metadata (e.g., UnitType, Ability).
    • analytics/: SQL files for analytics views and materialized tables.
      • player_stats.sql: A view aggregating player performance metrics.
      • map_performance.sql: A view tracking win rates by map and race.
      • player_stats_summary.sql: A materialized view summarizing player statistics across replays.
  • tests/: Contains unit tests for validating schema and models.

    • test_schema.py: Tests to ensure the database schema is correctly defined.
    • test_models.py: Tests for ORM models to verify accurate data interaction.
    • test_analytics.py: Tests for analytics queries and performance.
  • Dockerfile: Configuration for containerizing the project, ensuring consistent environments for development and deployment.

  • README.md: This documentation file, providing an overview of the project and its structure.


How to Contribute

Contributions are welcome once the repository reaches a stable state. If you'd like to collaborate, please reach out or open an issue to discuss ideas.


License

[MIT License]


Metadata

Release files for starcraft-data-orm 0.1.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for starcraft-data-orm 0.1.7
File Size Uploaded
starcraft_data_orm-0.1.7.tar.gz 15.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for starcraft-data-orm 0.1.7
File Interpreter ABI Platform
starcraft_data_orm-0.1.7-py3-none-any.whl Python 3 none any Details

Total release size: 43.3 kB

Release files / starcraft_data_orm-0.1.7.tar.gz

Download URL starcraft_data_orm-0.1.7.tar.gz
Size 15.3 kB
Tags Source
SHA-256 checksum
How to use checksums
665792c06d5cf5dd6d2bac373ad4ce03bceef75c33b93ef326878cfc293cfc49
BLAKE2b-256 checksum
How to use checksums
184e86e25b0cef7ea0eb7f6b7970bbcdd658950d613a0488f4b7a06d48eb7ee2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.9.21

Release files / starcraft_data_orm-0.1.7-py3-none-any.whl

Download URL starcraft_data_orm-0.1.7-py3-none-any.whl
Size 28.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0bd4ba865f8474886187bcb025208c600755fc2a49d1b7c29435475d0b291dd7
BLAKE2b-256 checksum
How to use checksums
32446fede96174a0283d35eacd4774a660a99815ce60535bc7dcd87a56e05e5c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.9.21

Release history Release notifications | RSS feed

This release

0.1.7 This release

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page