Skip to main content

Write dataclasses to delimited text formats and read them back again.

Project description

typeline

PyPi Release CI Python Versions basedpyright mypy Poetry Ruff

Write dataclasses to delimited text formats and read them back again.

Features type-safe parsing, optional field support, and an intuitive API for working with structured data.

Installation

The package can be installed with pip:

pip install typeline

Quickstart

Building a Test Dataclass

>>> from dataclasses import dataclass
>>>
>>> @dataclass
... class MyData:
...     field1: int
...     field2: str
...     field3: float | None

Writing

>>> from tempfile import NamedTemporaryFile
>>> from typeline import TsvWriter
>>> 
>>> temp_file = NamedTemporaryFile(mode="w+t", suffix=".tsv")
>>>
>>> with TsvWriter.from_path(temp_file.name, MyData) as writer:
...     writer.write_header()
...     writer.write(MyData(10, "test1", 0.2))
...     writer.write(MyData(20, "test2", None))

Reading

>>> from typeline import TsvReader
>>> 
>>> with TsvReader.from_path(temp_file.name, MyData) as reader:
...     for record in reader:
...         print(record)
MyData(field1=10, field2='test1', field3=0.2)
MyData(field1=20, field2='test2', field3=None)

Development and Testing

See the contributing guide for more information.

Project details


Download files

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

Source Distribution

typeline-0.11.0.tar.gz (8.8 kB view details)

Uploaded Source

File details

Details for the file typeline-0.11.0.tar.gz.

File metadata

  • Download URL: typeline-0.11.0.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for typeline-0.11.0.tar.gz
Algorithm Hash digest
SHA256 a8e3f6ac130dde590e8172f6d92c45badbc04fc1aa5cf47b92f8e8632f2fc6a4
MD5 25f9f4aa50fd30da8220e37b7e6623cb
BLAKE2b-256 93dc138f63e751c0f0a2cdae6ac81ed59914893b9b4951cdde0bcd37c5763277

See more details on using hashes here.

Provenance

The following attestation bundles were made for typeline-0.11.0.tar.gz:

Publisher: publish_typeline.yml on clintval/typeline

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page