Skip to content

Commit 48c0a94

Browse files
committed
chore(release): v0.1.0
1 parent 8863bbe commit 48c0a94

5 files changed

Lines changed: 13 additions & 9 deletions

File tree

CHANGELOG.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,17 @@ and this project adheres to [PEP 440](https://peps.python.org/pep-0440/).
77

88
## [Unreleased]
99

10+
## [0.1.0] - 2025-12-31
11+
1012
### Added
1113

12-
- `Table` class for working with JSONLT files supporting CRUD operations (`get`, `put`, `delete`, `has`)
13-
- `Transaction` class with snapshot isolation and optimistic concurrency control
14+
- `Table` class for working with JSONLT files supporting CRUD operations (`get`, `put`, `delete`, `has`) and Python protocols (`Sized`, `Container`, `Iterable`)
15+
- `Transaction` class with snapshot isolation, optimistic concurrency control, context manager support, and Python protocols (`Sized`, `Container`, `Iterable`)
1416
- Compound key support for multi-field keys (for example, `("customer_id", "order_id")`)
1517
- Cross-platform file locking for concurrent access (fcntl on Unix, LockFileEx on Windows)
1618
- Query operations: `find()` and `find_one()` with predicate functions
1719
- Table maintenance: `compact()` to remove superseded records and tombstones
1820
- Exception hierarchy with `ConflictError` for write-write conflict detection
1921
- Full conformance with the JSONLT specification
22+
- Property-based tests using Hypothesis for JSON serialization, records, and state
23+
- Benchmark suite for performance testing

CITATION.cff

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,16 @@ cff-version: 1.2.0
22
message: "If you use this software, please cite it as below."
33
type: software
44
title: "jsonlt-python"
5-
abstract: "A Python library for using a JSON Lines (JSONL) file as a lightweight database."
5+
abstract: "The Python reference implementation of the JSONLT (JSON Lines Table) specification, a data format for storing keyed records in append-only files."
66
authors:
77
- family-names: Burns
88
given-names: Tony
99
orcid: "https://orcid.org/0009-0006-4480-2939"
1010
repository-code: "https://github.com/jsonlt/jsonlt-python"
1111
url: "https://jsonlt.org"
1212
license: MIT
13-
version: "0.0.0"
14-
date-released: "2025-12-21"
13+
version: "0.1.0"
14+
date-released: "2025-12-31"
1515
keywords:
1616
- jsonl
1717
- json-lines

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@ The Python reference implementation of [JSONLT (JSON Lines Table)](https://jsonl
2323
## Installation
2424

2525
```bash
26-
pip install --pre jsonlt-python
26+
pip install jsonlt-python
2727

2828
# Or
2929

30-
uv add --pre jsonlt-python
30+
uv add jsonlt-python
3131
```
3232

3333
Requires Python 3.10 or later.

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "uv_build"
44

55
[project]
66
name = "jsonlt-python"
7-
version = "0.1.0a4"
7+
version = "0.1.0"
88
description = "Reference implementation of the JSONLT (JSON Lines Table) specification for Python."
99
readme = "README.md"
1010
license = "MIT"

uv.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)