According to Lasse, you can only flag the revision of the entire repository in Mercurial. To tag the various components in your repository, you might consider using Mercurial Subrepositories . Subrepositories allow you to consider individual components (what you call libraries) as independent repositories, and combine them into a single functional unit.
In terms of the BitBucket restriction for private repositories, you might want to make some of them publicly available or host the main repository on your local computer or server if you are interested in publishing the source publicly. If you are interested in hosting something yourself, Redmine is a good free tool that will allow you to serve as many repositories as you want.
source share