bspwm is a tiling window manager that represents windows as the leaves of a full binary tree.
It only responds to X events, and the messages it receives on a dedicated socket.
bspc is a program that writes messages on bspwm's socket.
bspwm doesn't handle any keyboard or pointer inputs: a third party program (e.g. sxhkd) is needed in order to translate keyboard and pointer events to bspc invocations.
The bspwm can be installed via the standard repositories:
# apt-get install bspwm
When you run this command apt will automatically install sxhkd and lemonbar for you as bspwm in itself does not come with a keyboard daemon or a status bar and the above-mentioned tools are popularly used together with bspwm.
Note however that any configuration must be done by the user after installation.
The default configuration file for bspwm is $XDG_CONFIG_HOME/bspwm/bspwmrc: this is simply a shell script that calls bspc.
Once the packages are installed a basic configuration for bspwm and sxhkd can be found at /usr/share/doc/bspwm/examples/.