For the complete documentation index, see llms.txt. This page is also available as Markdown.

Naming Scheme

Some BookieSports files (in particular name and description fields) allow the use of variables. Those are dynamic and filled in by bookie-sync, automatically.

As an example, the file MLB_ML_1.yaml defines betting markets for a Moneyline market group. The betting markets carry the name of the event participants. We encode this in BookieSports using variables:

bettingmarkets:
     - description:
         en: '{teams.away}'
     - description:
         en: '{teams.home}'

Overview of variables

  • teams:

    • {teams.home}: Home team

    • {teams.away}: Away team

  • result:

    • {teams.home}: Points for home team

    • {teams.away}: Points for away team

    • {teams.hometeam}: Points for home team

    • {teams.awayteam}: Points for away team

    • {teams.total}: Total Points

  • handicaps:

    • {teams.home}: Comparative (symmetric) Handicaps (e.g., +-2) for home team

    • {teams.away}: Comparative (symmetric) Handicaps (e.g., +-2) for away team

    • {teams.home_score}: Absolute handicap for home team (e.g., 2)

    • {teams.away_score}: Absolute handicap for away team (e.g., 0)

  • overunder:

    • {teams.value}: The over-/under value

Internal Processing

The variable parsing is done in bos-sync (substitutions.py) and work through decode_variables and a few classes that deal with the variables. This allows us to have complex variable substitutions.

The variables all consist of a module identifier and the actual member variable:

All modules are listed in the substitutions variable in decode_variables::

The modules themselves (capitalized first letter) are defined in the same file and can be as easy as:

or as complex as:

Last updated

Was this helpful?