Releases: jsonlt/jsonlt-python
Releases · jsonlt/jsonlt-python
v0.2.0
Added
Table.from_records()andTable.from_file()factory methods for convenient table initialization- Dictionary-like access for
TableandTransaction(table[key],table[key] = record,del table[key],pop,popitem,setdefault,update) - Value-based equality for
TableandTransaction(==compares path, key specifier, and records)
v0.1.0
Added
Tableclass for working with JSONLT files supporting CRUD operations (get,put,delete,has) and Python protocols (Sized,Container,Iterable)Transactionclass with snapshot isolation, optimistic concurrency control, context manager support, and Python protocols (Sized,Container,Iterable)- Compound key support for multi-field keys (for example,
("customer_id", "order_id")) - Cross-platform file locking for concurrent access (fcntl on Unix, LockFileEx on Windows)
- Query operations:
find()andfind_one()with predicate functions - Table maintenance:
compact()to remove superseded records and tombstones - Exception hierarchy with
ConflictErrorfor write-write conflict detection - Full conformance with the JSONLT specification
- Property-based tests using Hypothesis for JSON serialization, records, and state
- Benchmark suite for performance testing
v0.1.0a4
What's Changed
Performance
- Cache serialized records in Transaction to avoid double serialization (#10)
Features
- Improve benchmark measurement accuracy and add missing benchmarks (#6)
Maintenance
- Bump actions/download-artifact from 6.0.0 to 7.0.0 (#9)
- Bump actions/attest-build-provenance from 3.0.0 to 3.1.0 (#8)
- Bump actions/upload-artifact from 5.0.0 to 6.0.0 (#7)
Full Changelog: v0.1.0a3...v0.1.0a4
v0.1.0a3
Changes
- Add MIT license
- Add project metadata (URLs, classifiers, keywords)
- Add free-threading classifier (unstable)
- Fix Windows glob expansion in release workflow
- Fix coverage collection for Codecov
- Fix TestPyPI verification with index-strategy
- Add release asset uploads to GitHub releases