Slip conditions can be done easily with dirichlet bcs on sub spaces if your boundary is aligned with the cartesian grid.
However, if it is not aligned, I would suggest you to have a look at:
https://jsdokken.com/dolfinx_mpc/python/demos/demo_stokes.html
which shows how to use multi-point constraints to do slip condtions.
A final approach would be to enforce slip weakly, through a Nitsche-type formulation.