Skip to main content

smartbetsAPI

Github License PyPi Black Accuracy Passing coverage Progress Downloads


"Punter's choice"

Worldwide soccer-matches predictor with Fast-API and a package for integrating the scripts in your own Python code.

Features

  • REST-API

  • Script integration (package)

  • Non-ML

Installation and usage

Installation

Python 3.9+ is required for this script to be fruitful to you.

  • Installing through pip is always the most preferred way:
pip  install smartbetsAPI
  • For those who like enjoying the latest releases from Github like me, rather than waiting for the next one:
pip install git+https://github.com/Simatwa/smartbetsAPI.git

To install it alongside REST-API dependencies simply run:

pip install "smartbetsapi[api]"

Usage

  1. Terminal

Running $ smartbetsAPI <token/password> will fire up the FastAPI server with the following default configurations.

Command Default
Port 8000
Username API
Filename None
level (Logging)20
host False
debug False
no-net False
log False
colorize False
gui (Termux) False
  • For instance :
 $ smartbetsAPI mypass9876

[!TIP]

Docs will be available at : http://localhost:8000/v1/docs

Redoc will be available at : http://localhost:8000/v1/redoc

Here is an example of a simple program that makes prediction using the REST API.

api running

[!Note]

Reinstall with sudo privileges if smartbetsAPI command can't be found.

Example predicting using REST API

from smartbets_API import predictor

predict = predictor('http://localhost:8080','password')

bets=predict.get_predictions('Arsenal','Manchester')

print(bets)

#Output

#(True, {'choice': 55.56, 'g': 14.0, 'gg': 80.0, 'ov15': 80.0, 'ov25': 65.0, 'ov35': 55.0, 'pick': 'ov15', 'result': '1'})
  • For more information you can run smartbetsAPI -h
  1. Importing Package

Module predictor provides two ways of interacting with it at the programming level, based on the data-type in which the teams have been packed and parsed to it:

  • Using predictorL object which accepts teams (List data-type).

For example:

#!/usr/bin/env python3

from smartbets_API.predictor import predictor



teams = [

    "Napoli",  # Home team (index [0])

    "AC Milan",  # Away team (index [1])

]

# Instantiating predictor

predict = predictor()



# Using predictorL object to handle teams (List data-type)

predictions = predict.predictorL(teams)



# Display info

print(predictions)



#Output

#{'g': 8.0, 'gg': 65.0, 'ov15': 70.0, 'ov25': 40.0, 'ov35': 30.0, 'choice': 60.0, 'result': '2', 'pick': 'ov15'}
  • Using predictorD object which takes teams (Dictionary data-type):

For example:

#!/usr/bin/env python3

from smartbets_API.predictor import predictor



teams = {

    1: "Manchester City",  # 1 for home-team

    2: "Liverpool",  # 2 for away-team

}



# Instantiating predictor

predict = predictor()



# Using predictorD object to handle teams (Dictionary data-type)

predictions = predict.predictorD(teams)



# Display info

print(predictions)



#Output

#{'g': 8.0, 'gg': 65.0, 'ov15': 60.0, 'ov25': 45.0, 'ov35': 30.0, 'choice': 56.16, 'result': '1', 'pick': 'gg'}
  • The output initials are explained in the table below.
Parameter Function
g Goal-average of the two teams
gg Probability of both teams to score
ov15 Probability of having more than 2 goals
ov25 Probability of having more than 3 goals
ov35 Probability of having more than 4 goals
choice Probability of the specified 'result' to occur
result The most suitable outcome from [1,1x,x,2x,2]
pick The most suitable outcome from [1,1x,x,2x,2,gg,ov15,ov25,ov35]

Note

  • Probabilities are in percentange (%)

Further info

The predictor class accepts multiple parameters that includes :

Parameter Function Default
include_positionInclude team's league ranking in making predictions False
log Log at api default log's path False
level Logging level 0
filename Log to the filename specified None
color Colorize the logs False
gui Run with some Graphical interface notifications (Termux)False
api Run with api-server's configurations False

The two predictor's object (predictorD, predictorL) accepts two parameters i.e.

  • teams - Required

  • net - Source of team's data - Default True (Online)

Source of data

Team performances are sourced from Soccerway after retrieving the uri from Google.

Warning Copyright related issues are liable to the user of this script!

Disclaimer

This project aims to help punters and bookmarkers to make informed and well researched soccer-predictions. Nevertheless, it is important to specify that 100% accuracy does not exist and smartbetsAPI can't guarantee the accuracy of the predictions. It is therefore your responsibility to trust the information generated by smartbetsAPI after evaluating its reliability. As the creator, I CANNOT be held responsible for any loss of capital that may occur during the use of this program.

Contributing and Support

Contributing

Contributions are always welcome!

Please take a look at the Contribution guidelines.

Feel free to open an Issue or to Fork this repo.

ToDo

  • Upgrade to Machine learning

  • Improve algorithim's accuracy

  • General code improvements

  • Fix bugs

Support

Consider donating to this project if you find it useful:

API Health Status

| No. | API | Status |

|--------|-----|--------|

| 1. | On-render | cron-job |

Credits

Special Thanks

Release files for smartbetsAPI 1.3.2

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

Source distribution (sdist)

Source distribution for smartbetsAPI 1.3.2
File Size Uploaded
smartbetsapi-1.3.2.tar.gz 34.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for smartbetsAPI 1.3.2
File Interpreter ABI Platform
smartbetsAPI-1.3.2-py3-none-any.whl Python 3 none any Details

Total release size: 73.0 kB

Release files / smartbetsapi-1.3.2.tar.gz

Download URL smartbetsapi-1.3.2.tar.gz
Size 34.5 kB
Tags Source
SHA-256 checksum
How to use checksums
b30d8b78450fdeb9e4732a96e30afec7f89b2892881378ff59504bfd64635b06
BLAKE2b-256 checksum
How to use checksums
f68e2643f9b67ad06d33a594feaa9dc73509cb4d7ddc6bee8f8a456c45c2f985
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.19

Release files / smartbetsAPI-1.3.2-py3-none-any.whl

Download URL smartbetsAPI-1.3.2-py3-none-any.whl
Size 38.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6201f44aead8cbdd016a8a299fda66e972155b336ada619b8accf2b8b79b0416
BLAKE2b-256 checksum
How to use checksums
278cad3f3b921d1e797572e687b76a09b986c9f615253944c2fcaf95f4676e6f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.19

Release history Release notifications | RSS feed

This release

1.3.2 This release

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.9

2 release files

1.2.7

1 release file

1.2.6

2 release files

1.2.5

1 release file

1.2.4

1 release file

1.2.3

1 release file

1.2.2

1 release file

1.2.1

1 release file

1.2.0

1 release file

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

1 release file

1.1.2

1 release file

1.1.1

2 release files

1.1.0

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.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