This program calculates up and downspeed of a given connection for as long as it is running. 

    #upspeed/downspeed indicator
    #written by Chubak -> [email protected]
    
    import requests
    import time
    import os
    
    def get_seconds(datetime):
        time = datetime.split(' ')[3].split(':')
    
        time_hours = int(time[0])
        time_minutes = int(time[1])
        time_seconds = int(time[2])
    
        return time_hours*360 + time_minutes*60 + time_seconds
    
    
    
    
    def downspeed():
        url = "http://speedtest.ftp.otenet.gr/files/test100k.db"
    
        current_seconds = get_seconds(time.asctime())
    
        file = requests.get(url)
        headers = file.headers
    
        file_size = int(headers['Content-Length'])/1000
    
        dl_seconds = get_seconds(time.asctime())
    
        time_difference = dl_seconds - current_seconds
    
        return round(file_size / time_difference)
    
    
    
    def upspeed():
        current_seconds = get_seconds(time.asctime())
    
        dummy_file = os.path.join(os.getenv('APPDATA'), 'dummy.txt')
        post_url = 'http://httpbin.org/post'
        with open(dummy_file, 'wb') as dummy:
            for i in range (1500):
                dummy.write(str.encode('This is a dummy text. Its sole propose is being uploaded to a server. '))
    
            dummy.close()
    
        files = {'file' : open(dummy_file, 'rb')}
    
        request = requests.post(post_url, data=files)
    
        headers = request.headers
    
        file_size = int(headers['Content-Length'])/1000
    
        dl_seconds = get_seconds(time.asctime())
    
        time_difference = dl_seconds - current_seconds
    
        return round(file_size / time_difference)
    
    
    if __name__ == '__main__':
        while True:
            up = None
            down = None
    
            if up == None and down == None:
                up = upspeed()
                down = downspeed()
    
                print('At {0} your Downspeed is: {1}, and your Upspeed is: {2}'.format(time.asctime(), down, up))
    
                time.sleep(5)
    
                up = None
                down = None

I'd appreciate it if your dropped any hints about turning this into a desktop widget. Thanks.