and you can use the flake registry entry like this, but it's more verbose:
nix shell --impure --expr '(builtins.getFlake "nixpkgs").legacyPackages.x86_64-linux.python3.withPackages (p: [p.numpy])'
maybe this is slightly better because you don't have to remember what system you're using?
nix shell --impure --expr '(import (builtins.getFlake "nixpkgs") {}).python3.withPackages (p: [p.numpy])'