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.4.0.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

typeline-0.4.0-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: typeline-0.4.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.4.0.tar.gz
Algorithm Hash digest
SHA256 8a74a482122a1f3fb2a72f9f6b4c7c64a1063964fec51f70d1d6b8b09d82a427
MD5 7f80b33a183948804a98ab159330d27b
BLAKE2b-256 8caffd11014531745078c56e2efb1f341b8ec9f2e6bcaa4aca4f347efb47ecb7

See more details on using hashes here.

Provenance

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

Publisher: publish_typeline.yml on clintval/typeline

Attestations:

File details

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

File metadata

  • Download URL: typeline-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 9.7 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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e73741958898e5ed201be23284d4f7cd41e1651ef23938ad92a6b908d744413a
MD5 6c36a42b2a8027933cebe16d882d4ae7
BLAKE2b-256 5f6cfa0825d1f1589fff44808990744b7b2f819fc5873666ddbaa36dd2e7cfd2

See more details on using hashes here.

Provenance

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