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 TsvRecordWriter
>>> 
>>> temp_file = NamedTemporaryFile(mode="w+t", suffix=".txt")
>>>
>>> with TsvRecordWriter.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 TsvRecordReader
>>> 
>>> with TsvRecordReader.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.6.0.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

typeline-0.6.0-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: typeline-0.6.0.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for typeline-0.6.0.tar.gz
Algorithm Hash digest
SHA256 1996f3dec1ce493c2b2bd7ceeea1034163927208e44f8df23543742d4afcc819
MD5 86e0b11d3fff37e4ec4b2b19b12bb699
BLAKE2b-256 ecd6ca1333e0f36d35b3cb026f96d8619ba637c36c4d355221d12aa9fa30091f

See more details on using hashes here.

Provenance

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

Publisher: publish_typeline.yml on clintval/typeline

Attestations:

File details

Details for the file typeline-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: typeline-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 10.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for typeline-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4858991e6176de4e312ff7287034ee725ec2aa93c9540c2308dbd07fea30b206
MD5 8568ea38e6db0795317414f1858d9bb9
BLAKE2b-256 959780e962e63303da93e42ce9cac650e3dd676d9c58aca27eceefdc859120b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for typeline-0.6.0-py3-none-any.whl:

Publisher: publish_typeline.yml on clintval/typeline

Attestations:

Supported by

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