package starred_ml

  1. Overview
  2. Docs
Generates a awesome list markdown


Dune Dependency






Turn your starred items into a awesomeness list of repos

Published: 29 Apr 2024


Starred_ml - Github Awesome list based on starred proejct

Are you a compulsive Github stargazer? Starred_ml is here for you! It will access Github API and fetch all starred repositories and dump a mardown that you can use as in a repository.


opam update
opam install starred_ml

TOKEN={{your github personal token}} starred_ml > 

For full option list, run starred_ml --help.

See Templating section for details on the output markdown.

Will output something liket this:

Awesome Stars

> A curated list of Github stars! Generated by [starred_ml](

   - [C](#C)
   - [C#](#C#)
   - [C++](#C++)
   - [Haskell](#Haskell)
   - [Java](#Java)
   - [Jupyter Notebook](#Jupyter Notebook)
   - [Lua](#Lua)


## C
   - [pikasTech/PikaPython]( - An ultra-lightweight Python interpreter that runs with only 4KB of RAM, zero dependencies. It is ready to use out of the box without any configuration required and easy to extend with C. Similar project: MicroPython, JerryScript.
## C#
   - [microsoft/kiota]( - OpenAPI based HTTP Client code generator

Generating your awesome

You can run starred_ml locally, but it makes more sense that you atomatically generate a in dedicated github repository. For that you can use my Awesome as a template

You need two things:

  1. Select Allow GitHub Actions to create and approve pull requests under (YOUR REPO)/Settings/Actions/General.

  2. A PAT Personal Access Token with starred read-only access that you must set to your awesome repository under (YOUR REPO)/Settings/Secrets and variables/Actions, then in the Repository Secrets you can add your generated token with the name TOKEN.


Starred_ml uses jingoo as a template engine. Create a template file (default is default.jingoo) if you want to customize. You can reuse the provided template here and customize as you see fit. You can save the template with a different name. Use --template the specify a different template file.

The availabe variables are:

  • lang_count - The total count of languages found (Including Not set)

  • languages - a list of languages detected across all starred repos

  • by_language - a list of objects representing starred repositories with the following keys:

    • language - the language of in question

    • starred - a list of objects with the following keys:

      • name - name of the repository

      • html_url - Github url

      • description - repository description

      • owner_login - the repository owner login

Similar projects

While developing Starred_ml I found at least one alternative:

Dependencies (15)

  1. dune >= "3.14"
  2. ocaml
  3. cohttp-eio >= "6.0.0~beta2"
  4. eio >= "1.0"
  5. eio_main >= "1.0"
  6. fmt >= "0.9.0"
  7. jingoo >= "1.5.0"
  8. logs >= "0.7.0"
  9. mirage-crypto-rng-eio >= "0.11.3" & < "1.0.0"
  10. ppx_deriving >= "5.2.1"
  11. ppx_deriving_yojson >= "3.7.0"
  12. tls-eio >= "0.17.3"
  13. yojson >= "2.1.2"
  14. re2 >= "v0.16.0"
  15. cmdliner >= "1.2.0"

Dev Dependencies (2)

  1. odoc with-doc
  2. alcotest >= "1.7.0" & with-test

Used by





Innovation. Community. Security.