Metadata-Version: 2.4
Name: flowdoc-format
Version: 1.0.0
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Text Processing :: Markup
Summary: Fast multilanguage serialization format (Python binding via PyO3)
Keywords: serialization,parser,flowdoc,pyo3,rust
Author-email: Pornchai Nimnoi <jomy.nn@gmail.com>
License-Expression: MIT
Requires-Python: >=3.8
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Homepage, https://github.com/sendwavehub/FlowDoc-Pro-Performance
Project-URL: Issues, https://github.com/sendwavehub/FlowDoc-Pro-Performance/issues
Project-URL: Repository, https://github.com/sendwavehub/FlowDoc-Pro-Performance

# flowdoc

Python binding (via [PyO3](https://pyo3.rs)) for [FlowDoc](https://github.com/jomynn/FlowDoc-Pro-Performance) — a fast serialization format: indent-delimited `key: value` records, parsed by a shared Rust core.

```python
import flowdoc

records = flowdoc.parse_flow("""
Record
  id: 1
  name: Test
""")
# [{"id": "1", "name": "Test"}]
```

## Licensing (soft gate)

`parse_flow`/`parse_flow_via_hashmap` work identically whether or not a
license key is configured — there is no Pro-exclusive capability gated by
this yet. If `FLOWDOC_LICENSE_KEY` is set, this package validates it once
per process, in a background thread, against `FLOWDOC_LICENSE_SERVER +
/api/licenses/validate` (no default server — validation is skipped
entirely if this isn't set too), and logs a warning on an invalid key or
an unreachable server. Query the result yourself with:

```python
import flowdoc

status = flowdoc.license_status()
# {"checked": True, "valid": True | False | None, "error": str | None}
```

`valid` is `None` when there was nothing to check (no key configured) or
nothing could be checked (no server configured, or unreachable) — see
`python/flowdoc/__init__.py` for the full behavior.

See the [main repository](https://github.com/jomynn/FlowDoc-Pro-Performance) for the format specification, benchmarks, and the other six language bindings (Rust, Go, Node.js, C#, PHP, C++).

