Getting date-time of an annotated document

Is there a way to extract the exact moment a specific document has been annotated?

Currently in the output Jsonl file I'm getting only _task_hash and _input_hash and I couldn't find a way of extracting date-time from those fields

Hi! By default, Prodigy doesn't store the timestamps on the individual examples – but it does create separate session datasets for each annotation session, using the timestamp of when the session was started. You can see an overview of all timestamped sessions by running prodigy stats -ls and the timestamp name of the session dataset is also printed when you exit the server.

If you do want to store more fine-grained timestamps, you can do that with a custom stream that adds an entry to all outgoing examples:

def add_timestamps_to_stream(stream):
    for eg in stream:
        eg["timestamp"] = str(datetime.datetime.now())
        yield eg

This will reflect the time the example was generated, though – depending on the batch size and the annotation behaviour, this might not exactly reflect when the example was actually annotated. (Like, in theory, an annotator could open the app and request a batch of examples to annotate, do nothing for 2 hours and then start and submit the answers.) If you want to add timestamps on the client side, you could probably do this, too, by using custom JavaScript and calling window.prodigy.update({ timestamp: new Date().toJSON() }).

2 Likes