I used to play Diablo 3 fiercely with friends as our social game. Since the seasons lasted for a limited period of time, I decided to try my hands at a min-maxer for season builds.
Code: https://github.com/robertvanduursen/Diablo-API
Usage
You can enter your Battlenet ID for your Diablo Character, and with a bit of webscraping, load in your data.
For example, my level 70 Necromancer has the following gear
https://eu.diablo3.blizzard.com/en-us/profile/Ralicx-2273/hero/162844533

Example:
from Playstyle import Playstyle
from classes.Barbarian.skills import Whirlwind
from character import Character
build_1 = Character()
# load Smitina
build_1.load_from_save()
print(build_1.active_skills)
ps = Playstyle(build_1)
ps.fixed_points = [Whirlwind]
print(ps.fixed_points)
ps.Goals = ['max effects on Whirlwind']
ps.shake()
Disclaimer
This is an unofficial Python API. This project was made out of passion for the game and a test of skill as a programming portfolio piece. All names and references belong to Blizzard Entertainment