Metadata-Version: 2.4
Name: causality-protocol
Version: 0.1.0a1
Summary: Streaming JSON Lines reader and record counter
License-Expression: MIT
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# causality-protocol

Version 0.1.0a1 is a standalone streaming JSON Lines reader and record counter.
It reads ordinary JSON values without imposing a schema. This alpha does not
implement learning, a memory protocol, or a model. Python 3.11 or later; no
third-party dependencies.

```sh
python -m pip install causality-protocol==0.1.0a1
causality-protocol records.jsonl
```

For a UTF-8 file containing:

```jsonl
{"name": "Ada", "score": 3}
{"name": "Lin", "score": 5}
```

the command prints `{"records": 2}`. Use the Python API to process values:

```python
from causality_protocol import iter_jsonl

for value in iter_jsonl("records.jsonl"):
    print(value)
```

Blank lines are skipped. Any JSON value is accepted, including objects, arrays,
numbers, strings, booleans and null. Malformed records raise ValueError with the
file path and physical line number. Non-standard NaN and Infinity literals are
rejected. Values use Python's normal JSON decoding, including floating-point
numbers; this is not an arbitrary-precision decoder. The file is read lazily,
with memory proportional to the largest line. Filesystem and decoding errors
propagate to Python callers; the command prints errors on stderr and exits 2.

`python -m causality_protocol` is also supported. The API may change during alpha
development. Licensed under MIT; see LICENSE.
