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:
install only external dependencies,
install all local packages at once,
use a special catalogs repository for the project,
record extra packages used for repository maintenance.
First to use Req it is neded to create a "req.json" file in the project’s root.