Different provider names in the cdktf tutorial

I am working my way through the cdktf tutoral in Python but I am having a hard time figuring out how I would discover providers other than the couple of big ones. The output from $ cdktf init --template="python" says I can install the AWS provider using pipenv install cdktf-cdktf-provider-aws. But then the next line in the tutorial says to install it using $ cdktf provider add "aws@~>4.0". How are “aws@~>4.0” and cdktf-cdktf-provider-aws related? The later I can look up on pypi but where does the first one come from and how would I know what else exists?