For later versions of python, you need a mix of all of the other answers to get the OPs output. The hmac.new function wants the key argument to be of type bytes or bytearray, so running the code in Neil Slater's answer would produce the following error:
TypeError: key: expected bytes or bytearray, but got 'str'
Even if the key argument were fixed, the hmac.new function would then complain about the my string with the following error:
TypeError: Unicode-objects must be encoded before hashing
To fix both of these, the encode method from Wilson Wu's answer is used to convert the variables into the correct types.
import hashlib
import hmac
# Define my and key as per question
my = "/api/embedded_dashboard?data=%7B%22dashboard%22%3A7863%2C%22embed%22%3A%22v2%22%2C%22filters%22%3A%5B%7B%22name%22%3A%22Filter1%22%2C%22value%22%3A%22value1%22%7D%2C%7B%22name%22%3A%22Filter2%22%2C%22value%22%3A%221234%22%7D%5D%7D"
key = "e179017a-62b0-4996-8a38-e91aa9f1"
# Encode as per other answers
byte_key = key.encode("UTF-8")
message = my.encode()
# Now use the hmac.new function and the hexdigest method
h = hmac.new(byte_key, message, hashlib.sha256).hexdigest()
# Print the output
print(h)
The output that this prints is
adcb671e8e24572464c31e8f9ffc5f638ab302a0b673f72554d3cff96a692740
exactly as the OP expected.