They do however have many features which Kallithea doesn't have, so Kallithea is not a full alternative to those either. Depends on your needs.
However, you could just use hg-git[0] if you need Mercurial support. I haven't used Mercurial in some time now though, and I haven't used hg-git extensively, so I'm not sure how great the interoperability is.
You're right, if someone suggested Kallithea as an alternative to either of those, that would be a correct objection.
I have used hg-git quite a bit. The interoperability is pretty much flawless. There have been occasional hiccups when i updated a version of one component (hg, hg-git, git, dulwich) but not others, and everything broke, but it was usually quick to fix. The biggest problem was performance - for some reason, on large repositories, a push which would have taken a fraction of a second with git took tens of seconds with hg-git. And of course, you can't take advantage of all the powerful new features like changeset evolution.
Regarding the hg-git performance issues, I've been having them for a long time until I discovered somewhere a tip: every now and then run "git repack -a -d" on the git repo created by hg-git. It doesn't make it as fast as raw git but it makes a noticeable difference, from more than a minute to pull/push down to few seconds (that's with large repos with tens of thousands of commits).
Another issue I had been bitten by hg-git in the past is overwriting other people's commits when I push, as if it was running --force. Maybe that was a bug that had been fixed since but to be on the safe side I've been using an ugly workaround: have an intermediate local bare git repo where I pull from/push to and have it talk to the upstream git repo.
Aha, thanks for the tip! I'm no longer using hg-git, but i will try to remember this in case i ever do again.
I don't think i ever overwrote anyone else's commits, but i did push a load of deleted bookmarks. This was particularly annoying, because the repository in question was our Puppet code, in which all the branches are automatically checked out on the puppetmaster. Resurrecting 20 dead branches is a great way to eat a load of disk space. The bug is still open:
However, you could just use hg-git[0] if you need Mercurial support. I haven't used Mercurial in some time now though, and I haven't used hg-git extensively, so I'm not sure how great the interoperability is.
[0] https://hg-git.github.io/