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 TsvStructWriter
>>> 
>>> temp_file = NamedTemporaryFile(mode="w+t", suffix=".txt")
>>>
>>> with TsvStructWriter.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 TsvStructReader
>>> 
>>> with TsvStructReader.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.3.0.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

typeline-0.3.0-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for typeline-0.3.0.tar.gz
Algorithm Hash digest
SHA256 57a2b8a7e20020cdfec470ec3be123364c159b5a758230a0aa1b4eda5ff3fecd
MD5 64032d76c2b27282d0025caf1ef82f4a
BLAKE2b-256 64ec5f38311f0aacfc9e46bee6995cd391c2f038eed4e51534cabca7080decb4

See more details on using hashes here.

Provenance

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

Publisher: publish_typeline.yml on clintval/typeline

Attestations:

File details

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

File metadata

  • Download URL: typeline-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 9.8 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c08e44e12c104c17706947e38e724cfbe5034569de7439fcdad3ee958aa19fc4
MD5 bc2e4b18d5b0e45349d9d9a828ef44ac
BLAKE2b-256 2c8458b5e9fbc36a618cca868d81b6e9f75a779432f585efbeaec96506b2c640

See more details on using hashes here.

Provenance

The following attestation bundles were made for typeline-0.3.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