
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
rdot
Advanced tools
RDOT (Rate Distortion Optimization Tools) is a software library that aims to provide efficient, unified tools for numerically computing rate distortion functions from data.
For low cardinalities, the solutions to rate distortion (Shannon, 1959), information bottleneck (IB) (Tishby et al., 1999) and related objectives are feasible to solve with Blahut-Arimoto (BA) style algorithms. This library unifies several different variants on the rate distortion objective and provides solvers using BA and reverse deterministic annealing. Implementation is inspired by the libraries embo and dit. This library was created to overcome two shortcomings of these existing libraries:
embo is a fast implementation of generalized IB, but has no support for getting solution encoders, or using deterministic annealing, which is useful for preserving some structure between nearby optima.
dit is a more general library supporting discrete information theory but (anecdotally) it has been found to be slow and its build and tests are not always passing. In contrast, rdot is a fast and focused implementation of rate-distortion objectives that yields all relevant components of fixed-point solutions.
First, set up a virtual environment (e.g. via miniconda, conda create -n rdot python=3, and conda activate rdot).
Install RDOT via pypi (We recommend doing this inside a virtual environment)
pip install rdot
Download or clone this repository and navigate to the root folder.
Install RDOT (inside a virtual environment)
pip install -e .
The main module is rdot.optimizers, which includes a unified hierarchy of optimizer classes that use Blahut-Arimoto algorithms for defining and solving rate distortion objectives.
There are several auxiliary modules, including:
rdot.optimizers.Unit tests are written using pytest in the test_rd.py file and executed via running pytest from the root folder.
Shannon, C.E. (1959). Coding theorems for a discrete source with a fidelity criterion. Institute of Radio Engineers, National Convention Record 4:142–163.
Tishby, N., Pereira F.C., & Bialek, W. (1999). The information bottleneck method. Proceedings of the 37th Annual Allerton Conference on Communication, Control and Computing, eds Hajek B, Sreenivas RS (Univ of Illinois, Urbana, IL), pp 368– 377.
FAQs
Rate distortion optimization tools
We found that rdot demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.