LazeTable
LazeTable은 대용량 payload를 지연 로딩하고 재개 가능한 전처리 artifact를 구축하기 위한 SQLite 기반 Python 라이브러리입니다.
행 metadata와 빌드 journal은 artifact.sqlite에 저장하고 mesh, 배열, tensor 같은 큰
값은 별도 payload 파일로 저장합니다. 완성 artifact는 query 결과를 DatasetIndex로 한
번 preload하여 PyTorch 학습 epoch 중 반복적인 SQLite query 없이 순회할 수 있습니다.
주요 기능
LazyTable과 parser-aware row access- 사용자 정의
PayloadType등록과 지연 payload 로딩 - SQLite journal 기반 부분 빌드 재개·재사용·실패 재시도
- process/thread row executor와 batch transform
- bounded background payload writer와 backpressure
- 부모 artifact dependency와 명시적 join
- train/validation filtering용
DatasetIndex - PyTorch
Datasetadapter - 필요 시 Parquet snapshot export
설치
pip install lazetable
PyTorch 선택 의존성까지 설치하려면 다음 extra를 사용합니다.
pip install "lazetable[torch]"
Python 3.11 이상을 지원합니다.
Artifact 열기
from pathlib import Path
from lazetable import LazyTable
artifact = LazyTable.open(Path("/absolute/path/to/artifact"))
print(len(artifact))
row = artifact[0]
print(row.raw("sample_id"))
mesh = row.mesh # payload는 이 시점에 로드됩니다.
기본 artifact 구조는 다음과 같습니다.
<artifact>/
├── artifact.sqlite
└── payload/
학습용 index
index = artifact.to_dataset_index(
where={"split": "train", "is_valid": True},
fields=["sample_id", "label", "features"],
)
for row in index:
features = row.features
label = row.raw("label")
DatasetIndex는 선택된 row metadata를 메모리에 preload합니다. epoch 순회에서는 SQLite
query를 반복하지 않고 필요한 payload만 지연 로딩합니다.
재개 가능한 builder
from lazetable import BuildPolicy, ExecutorConfig, WriterConfig
result = builder.build(
storage_root=storage_root,
parent_tables=[parent],
policy=BuildPolicy(
reuse_completed=True,
resume_partial=True,
retry_failed=True,
),
executor_config=ExecutorConfig(
row_workers=4,
max_inflight=8,
),
writer_config=WriterConfig(
payload_workers=2,
max_pending_writes=8,
),
)
print(result.status) # built, resumed 또는 reused
부분 빌드는 다음 경로에 저장됩니다.
<artifact-name>/
├── .<version>.building/
│ ├── artifact.sqlite
│ └── payload/
└── <version>/
├── artifact.sqlite
└── payload/
모든 payload와 row metadata가 저장된 뒤에만 source row를 completed로 기록합니다.
최종 검증이 끝나면 building 디렉터리를 정식 version 경로로 원자적으로 전환합니다.
개발
uv sync --extra dev
uv run pytest
uv run ruff check src tests
더 자세한 builder, payload와 dependency 예제는 USAGE_GUIDE.md를 참고하세요.
라이선스
MIT
Metadata
Release files for lazetable 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| lazetable-0.3.0.tar.gz | 35.3 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| lazetable-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 66.8 kB
Release files / lazetable-0.3.0.tar.gz
| Download URL | lazetable-0.3.0.tar.gz |
|---|---|
| Size | 35.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7a92366cb03709b04dff4758dcd56860f8cb20e3ef86ee6a6cb0cc7a681bd643
|
|
BLAKE2b-256 checksum How to use checksums |
d5e88f8b2bd8b0de9331661fcbc7ad8bb64b5e4d784a1ee35a3ba2b0a20f224f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.
Transparency logRelease files / lazetable-0.3.0-py3-none-any.whl
| Download URL | lazetable-0.3.0-py3-none-any.whl |
|---|---|
| Size | 31.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7a4abfb8481b40f91817ff2249c9ac856fd93c15880259c38d04e634105c9241
|
|
BLAKE2b-256 checksum How to use checksums |
402b4320e201922146ef8677215beb6e4407de7f19342a03ab656d6bf574b197
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.
Transparency logSecurity for lazetable 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for lazetable-0.3.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.