Pyopal

Latest version: v0.7.0

Safety actively analyzes 688674 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

0.7.0

Added
- Support for Python 3.13.

Changed
- Bump required `scoring-matrices` dependency to `v0.3.0`.
- Reorganize project to build with CMake and `scikit-build-core`.
- Update documentation to use the PyData theme.

Fixed
- Signature of Cython classes constructors not displaying in documentation.

Removed
- Support for Python 3.6.

0.6.1

Fixed
- Import of `pyopal` on non-AVX2-enabled CPUs causing a crash ([7](https://github.com/althonos/pyopal/issues/7)).
- Type hints for `Database.__init__` not accepting `alphabet` as a Python string.

0.6.0

Changed
- Use `scoring-matrices` package to handle scoring matrices.
- Import Cython classes from `pyopal.lib` in the main `pyopal` namespace.

Fixed
- Patching of architecture flags of MacOS compilers.

Removed
- The `ScoreMatrix` class from `pyopal.lib`.

0.5.2

Fixed
- Segmentation fault when attempting to align to an empty `Database` ([6](https://github.com/althonos/pyopal/issues/6)).

0.5.1

Fixed
- Broken behaviour of the `ordered` keyword in `pyopal.align`.

0.5.0

Added
- Support for compiling and running package on Windows.
- Support for Python 3.12.
- `pyopal.Alphabet` class for handling sequence encoding outside of `ScoreMatrix`.
- Additional score matrices using the data files from Opal.
- `encode_into` and `decode_into` sans-io methods of `Alphabet`.
- `Aligner` class to handle alignment of a query to a database.
- `ScoreMatrix.__eq__` implementation.
- `Database.lengths` property to get the lengths of all the sequences in a database without decoding them.
- `pyopal.align` top-level function to handle multithreaded alignments.
- `Alphabet.__eq__` implementation comparing letters.
- `pool` argument to `pyopal.align` to support reusing a `ThreadPool`.

Changed
- Store `Database` sequences using `shared_ptr` for fast slicing and extraction of a database subset.
- Use templates to generate platform-specific Cython files.
- Make internal extension public as `pyopal.lib` submodule.
- Avoid temporary data copy in `Database._encode`.
- Move Cython and Opal headers inside package to allow Cython import in other extensions.
- Make `Database` use mostly the pointer array to make the algorithms more generic over the storage class.
- Make `MAX_ALPHABET_SIZE` a constant of `pyopal.lib` rather than a user-defined macro for compatibility in other extensions.
- Update `Aligner.align` to use the `BaseDatabase` Cython API.

Fixed
- SSE2 not being detected on x86-64, where it is mandatory.
- Mark Opal search functions as `noexcept` in Cython to avoid exception checks.
- `ScoreMatrix` buffer-protocol not returning a read-only buffer.
- `Database.mask` accessing out-of-bound elements when building pointer array.
- Broken detection of `PyInterpreterState_GetID` in `setup.py`.
- `FullResult.cigar` crashing on alignments starting with `X`.
- Memory leak in `Aligner.align` caused by faulty allocation of pointer array.
- `__repr__` implementations of `Alphabet` and `FullResult`.
- `Alphabet.__getitem__` reading past the letters buffer.

Removed
- `Database.search` method.

Page 1 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.