skillfed

DataRecorder

用于记录数据的模块。

datarecorder v3.6.2 86.9K downloads/30d#13,833 on PyPI
Permissive license MIT DORMANT released

What it is and what it does

DataRecorder is a Python data-logging toolkit that buffers writes to disk files, reducing I/O overhead and protecting against data loss during crashes. It wraps four main tools: Recorder (for CSV, XLSX, JSON, TXT), Filler (for targeted cell writes in spreadsheets), ByteRecorder (for binary data), and DBRecorder (for SQLite). Each tool accepts data via `add_data()` and flushes to disk on `record()` or program exit.

The package is designed for data-collection workflows where frequent file opens are expensive and crashes risk data loss. It supports multithreaded writes to the same file and includes conveniences like auto-creating tables from dictionary keys and resuming interrupted tasks. The project is dormant (no updates in 668 days), so it is stable but will not receive active maintenance.

Use it for:

  • Batch-export scraped or collected data to CSV/XLSX without opening files repeatedly.
  • Resume interrupted data collection by tracking progress in a spreadsheet and resuming from the last row.
  • Write binary blobs (images, serialized objects) to disk with automatic batching.
  • Insert records into SQLite with auto-created schema from dictionary data.
  • Coordinate writes from multiple threads to a single output file safely.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

DataRecorder provides buffered writing tools for saving data to files (CSV, XLSX, JSON, TXT, SQLite) with support for multithreaded access and automatic crash recovery.

Yes, if you need simple buffered file writing with multithreading support and your use case does not require active maintenance. The low install friction, permissive license, and no known vulnerabilities make it a safe choice for data-logging tasks. The dormant status means no bug fixes or feature updates, so evaluate whether the existing feature set meets your needs.

Install

datarecorder on PyPI

pip

pip install datarecorder

uv

uv add datarecorder

poetry

poetry add datarecorder

Installing DataRecorder

Before you install

Low friction: pure Python wheel with a single runtime dependency (openpyxl). Maintenance is dormant—last release was 668 days ago—so expect no active bug fixes or updates.

License in practice

MIT license (permissive) allows free use, modification, and distribution with minimal restrictions, making it safe for most projects.

Quickstart

from DataRecorder import Recorder

r = Recorder('data.csv')
r.add_data(((1, 2, 3), (4, 5, 6)))
r.add_data('row7')
r.record()

Verify before relying

  • Whether the package handles concurrent writes safely across processes (not just threads).
  • Performance characteristics when buffering millions of records before flush.
  • Compatibility with Python versions beyond 3.6 despite classifier claiming 3.6 support.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.6)
Install friction low — pure-Python wheel
Runtime dependencies 1 — openpyxl
Maintenance dormant — 668 days since the last release
First released
Downloads 86,860/month — #13,833 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: DataRecorder-3.6.2-py3-none-any.whl

Keywords: DataRecorder

Development Status :: 4 - BetaLicense :: OSI Approved :: BSD LicenseProgramming Language :: Python :: 3.6Topic :: Utilities

Tags

buffered file writingdata logging to csv xlsxmultithreaded data recordingcrash-safe data persistencebatch data exporttable data fillingdatabase record insertion
data-persistencebatch-exportmultithreading

More Utilities packages