Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

Async CSV performance logging

Project description

Async CSV Logger


This module is a async csv logger that helps you log performance of your algorithm.


This module is intented to be a csv logger which will write to file async-ly.

With the hope to have minimum performance impact on benchmarking your algorithm (i.e. I/O blocking to write to disk), this is especially useful for logging performance at each iteration/time-step. Internally, it utilise threading to async write to file.

There are two way to initialise and use the logger.


pip install asynccsv

1. Recommended way (with block)

from asynccsv import AsyncCSVLogger

with AsyncCSVLogger('path_of_your_log.csv') as logger:
    # csv titles
    logger.write(['Time', 'Accuracy', 'Num of nodes'])

    # do your other stuff
    # ......

    import datetime
    for i in range(10):
        # perform calculation
        # ....
        # write results to file
        logger.write([, acc, num_nodes])

2. The normal way

from asynccsv import AsyncCSVLogger

class MyAwesomeAlgorithm():

    def __init__(self):
        # with the 'log_timestamp' flag it will automatically log timestamp
        self.logger = AsyncCSVLogger('path_of_your_log.csv', log_timestamp=True)

    def run(self):
        # perform calculation
        # ...
        logger.write([acc, num_nodes])

if __name__ == '__main__':
    awesome = MyAwesomeAlgorithm()
    for i in range(10):

    # You SHOULD run this to properly close the threading and force
    # everything to be written to disk
    # This is automatically done by the 'with' block in previous example

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for asynccsv, version 1.0.1
Filename, size File type Python version Upload date Hashes
Filename, size asynccsv-1.0.1-py3-none-any.whl (1.9 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size asynccsv-1.0.1.tar.gz (2.9 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page