Metadata-Version: 2.4
Name: refix
Version: 0.3.0
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Rust
Classifier: Topic :: Office/Business :: Financial
Classifier: Typing :: Typed
License-File: LICENSE-MIT
License-File: LICENSE-APACHE
Summary: FIX message processing for Python, powered by Rust
Author-email: David Steiner <david@davidsteiner.dev>
License-Expression: MIT OR Apache-2.0
Requires-Python: >=3.12
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Repository, https://github.com/refixhq/refix

# refix

FIX message processing for Python, powered by Rust. These are the Python bindings
of [ReFIX](https://github.com/refixhq/refix). Requires Python 3.12 or later.

> ReFIX is in early development. It reads FIX messages and types them through
> generated code. Building messages and the session layer are not implemented
> yet, and APIs change between 0.x releases.

```python
import refix

for message in refix.read_log("fix.log"):
    if isinstance(message, refix.RawMessage):
        print(message.get(35), message.get(49))
```

Anything between frames that isn't FIX comes back as `refix.Garble`.
`refix.Tokenizer` reads a single frame, and `refix.MessageStream` reads frames as bytes arrive.

Typed messages come from generated code: `refix-fix44` for FIX 4.4, or
`refix-cli` for your own dictionary.

Up to 0.2, this package was published as `refix-engine`. Uninstall that before installing `refix`, as both
provide the same module.

## License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.

