`nafcodec`
Added
- `Encoder` to write a Nucleotide Archive Format file using generic temporary storage.
- `Flag` enum to simplify creation and manipulation of `Flags` objects without `u8` arithmetics.
- Builder types for `Encoder` and `Decoder` creation with different configurations.
- `ExactSizeDecoder` trait implementation to `Decoder`.
- Error variants to return on missing fields and invalid sequence characters.
Changed
- Use iterators internally inside reader code.
- Bumped `pyo3` dependency to `v0.21.1`.
- Bumped `zstd` dependency to `v0.13.1`.
Fixed
- Decoding of record lengths when `quality` field is requested without `sequence`.
- Compilation issue on 32-bit platforms in parser code.
`nafcodec-py`
Added
- Support for file-like objects in `Decoder`.
- Proper error conversion for `seek` failures.
- `Decoder.sequence_type` property to get the type of sequence being decoded.
- Constructor for `Record` objects.
- `Decoder` properties to access decoded header data.
- `Decoder.__len__` implementation using number of sequences in archive.
- `Encoder` class to support encoding `Record` objects into an archive.
- `nafcodec.open` function to get a decoder or encoder based on literal mode.
- Context manager protocol implementation to `Decoder` objects.
Changed
- Use `readinto` method of file-like objects given to `Decoder` if available.