Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 6 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.3%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: Kaszanas
  • License: mit
  • Language: Python
  • Default Branch: dev
  • Size: 2.09 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 1
  • Open Issues: 0
  • Releases: 3
Created over 5 years ago · Last pushed 12 months ago
Metadata Files
Readme Changelog License Citation

README.md

DOI

SC2AnonServerPy

This project is used for weak anonymization of StarCraft II replays for research. Depending on further parsing and extraction implementations this project can assist with replacing toon identifiers (unique) or nicknames (not unique) with a weak anonymized ID or a customized function.

Installation

[!NOTE] To run this project there are some prerequisites that you need to have installed on your system: - Docker - Optional make (if you do not wish to use make, please refer to the commands defined in the makefile and run them manually)

Our prefered way of distributing the toolset is through DockerHub. We use the Docker Image to provide a fully reproducible environment for our scripts.

To pull the image from DockerHub, run the following command:

bash docker pull kaszanas/datasetpreparator:latest

If you wish to clone the repository and build the Docker image yourself, run the following command:

bash make docker_build

Usage

  1. Place replays in ./processing/demos/input which is a default path for the replay input.
  2. Open a terminal and run make grpc_server, which is responsible for persistent anonymization process.
  3. Open another terminal and run make grpc_client with default command line arguments to start up a sample replay processing.
  4. The resulting processed files will be placed in ./processing/demos/output by default.
  5. Turn off the server by a keyboard interrupt (CTRL+C).

CLI Usage

The grpc_server.py script is used to start the gRPC anonymization server. The script has the following command line arguments:

``` Usage: grpc_server.py [OPTIONS]

Options: --anonymized-db-path FILE Path to the .pickle file that will be used to store anonymized nicknames. [required] --help Show this message and exit. ```

The grpc_client.py script is used to start the replay processing. The script has the following command line arguments:

``` Usage: grpc_client.py [OPTIONS]

Options: --replay-directory DIRECTORY Path to the directory that contains .SC2Replay files. [required] --output-directory DIRECTORY Path to the directory where .pickle files for processed replays will be saved. [required] --agents INTEGER Number of multiprocessing agents. [default:1] --chunksize INTEGER Number of replays to process by each agent. [default: 1] --multiprocessing / --no-multiprocessing True if multiprocessing should be used. [default: no-multiprocessing] --anonymize-toon / --no-anonymize-toon True if the unique toon should be anonymized. [default: anonymize-toon] --anonymize-chat / --no-anonymize-chat True if chat should be anonymized. [default: anonymize-chat] --help Show this message and exit. ```

Implementation Notes

If You would like to implement a custom anonymization function please see the Listener class in grpc_server.py.

For the sake of logging and comments when "nickname" is mentioned it means any string that is meant to be anonymized and is sent to the gRPC server for that matter.

Pleaase keep in mind that the grpc_client.py is a sample implementation and uses https://github.com/ggtracker/sc2reader to perform processing.

Cite Us!

@software{Bialecki2021, author = {Białecki, Andrzej and Białecki, Piotr}, title = {{Kaszanas/SC2AnonServerPy: 1.0.0 SC2AnonServerPy Release}}, month = jul, year = 2021, publisher = {Zenodo}, version = {1.0.0}, doi = {10.5281/zenodo.5138313}, url = {https://doi.org/10.5281/zenodo.5138313} }

Owner

  • Login: Kaszanas
  • Kind: user
  • Location: Warsaw
  • Company: Warsaw University of Technology

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Białecki"
  given-names: "Andrzej"
  orcid: "https://orcid.org/0000-0003-3668-4638"
- family-names: "Białecki"
  given-names: "Piotr"
title: "SC2AnonServerPy"
version: 1.0.0
doi: 10.5281/zenodo.5138314
date-released: 2021-07-26
url: https://doi.org/10.5281/zenodo.5138314

GitHub Events

Total
  • Create event: 12
  • Release event: 1
  • Issues event: 23
  • Delete event: 1
  • Issue comment event: 3
  • Push event: 35
  • Pull request event: 23
Last Year
  • Create event: 12
  • Release event: 1
  • Issues event: 23
  • Delete event: 1
  • Issue comment event: 3
  • Push event: 35
  • Pull request event: 23

Dependencies

.github/workflows/ci.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
.github/workflows/docker_images.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
  • docker/build-push-action 471d1dc4e07e5cdedd4c2171150001c434f0b7a4 composite
  • docker/login-action 9780b0c442fbb1117ed29e0efdff1e18412f7567 composite
  • docker/metadata-action 902fa8ec7d6ecbf8d84d538b9b233a880e428804 composite
docker/Dockerfile docker
  • python ${PYTHON_VERSION} build
pyproject.toml pypi
  • grpcio >=1.71.0
  • grpcio-tools >=1.71.0
  • sc2reader >=1.8.0
  • typer >=0.15.2
uv.lock pypi
  • argcomplete 3.5.3
  • cfgv 3.4.0
  • charset-normalizer 3.4.1
  • click 8.1.8
  • colorama 0.4.6
  • commitizen 4.4.1
  • decli 0.6.2
  • distlib 0.3.9
  • filelock 3.17.0
  • grpcio 1.71.0
  • grpcio-tools 1.71.0
  • identify 2.6.9
  • jinja2 3.1.6
  • markdown-it-py 3.0.0
  • markupsafe 3.0.2
  • mdurl 0.1.2
  • mpyq 0.2.5
  • nodeenv 1.9.1
  • packaging 24.2
  • platformdirs 4.3.6
  • pre-commit 4.1.0
  • prompt-toolkit 3.0.50
  • protobuf 5.29.3
  • pygments 2.19.1
  • pyyaml 6.0.2
  • questionary 2.1.0
  • rich 13.9.4
  • ruff 0.9.10
  • sc2anonserverpy 1.0.0
  • sc2reader 1.8.0
  • setuptools 76.0.0
  • shellingham 1.5.4
  • termcolor 2.5.0
  • tomlkit 0.13.2
  • typer 0.15.2
  • typing-extensions 4.12.2
  • virtualenv 20.29.3
  • wcwidth 0.2.13