Hierarchal Dirichlet process topic models fit that description. Briefly, they're a nonparametric extension of topic models, like latent Dirichlet allocation, in which we fit the number of topics based on the data. This worked better in experiments:
For LDA we evaluated the perplexity for mixture component cardinalities ranging between 10 and 120. As seen in Figure 3 (Left), the hierarchical DP mixture approach—which integrates over the mixture component cardinalities—performs as well as the best LDA model, doing so without any form of model selection procedure. Moreover, as shown in Figure 3 (Right), the posterior over the number of topics obtained under the hierarchical DP mixture model is consistent with this range of the best-fitting LDA models.
Other, more elaborate models described in the paper account for groups the documents fall into. (In their experiments, the section of NIPS that papers were taken from.)
There's an implementation in c++; Python or R might be a bridge too far, but at least this will give you something to search for.