8.12

1 About🔗ℹ

Req is a command-line tool used to batch-install dependencies of projects written in the Racket programming language.

Req is not a full replacement for raco pkg on its own, it still needs "info.rkt" files to detect the project’s local packages and gather dependent packages.

Req is in some sense a spiritual successor of Python’s "requirements.txt" files, but for Racket. The biggest problem though with "requirements.txt" was that dependency listing was duplicated in that file and "setup.py"’s install_requires.

Req offers a more convenient way of managing dependencies of large Racket projects.

In Req You list sub-packages of Your projects and, contrary to "requirements.txt", the dependencies are extracted automatically from "info.rkt" files of those sub-packages. Also, because Req already requires a config file it is also used as a mini-configuration for other project’s areas, so for example the catalogs that a given project should use can be overwritten on the project level and extra dependencies used for repository maintenance can be listed.

Using raco req it is possible to, for example:

First to use Req it is neded to create a "req.json" file in the project’s root.