from urllib.parse import urljoin
import time
import asyncio
from typing import Any
from typing import Callable


TRELLO_URL_BASE = 'https://api.trello.com/1/'


def join_url(part: str) -> str:
	"""
	Adds `part` to  API base url.  Always returns url without trailing slash.

	:param part:
	:return: url
	"""
	part = part.strip('/')
	newpath = urljoin(TRELLO_URL_BASE, part)

	while newpath.endswith('/'):
		newpath = newpath[:-1]

	return newpath


def easy_run(func: Callable[Any], *args, **kwargs) -> Any:
	el = asyncio.get_event_loop()
	return el.run_until_complete(func(*args, **kwargs))

@@ -458,44 +458,11 @@
 run(
-func: Callable%5BAny%5D, *args, **kwargs
+gen
 ) -%3E
@@ -532,27 +532,9 @@
 ete(
-func(*args, **kwargs)
+gen
 )%0A

Make easy_run better by taking the generator from coroutines