yalich

Crates.ioyalich
lib.rsyalich
version0.1.4
sourcesrc
created_at2020-06-06 19:09:03.081924
updated_at2020-06-08 10:11:15.824761
descriptionYet another license checker.
homepagehttps://github.com/tommilligan/yalich
repository
max_upload_size
id250782
size87,609
Tom Milligan (tommilligan)

documentation

README

yalich

Crates.io CircleCI branch GitHub

Yet another license checker.

Installation

cargo install yalich

Usage

yalich requires a configuration file which details:

  • Language manifest files where dependencies are defined. Currently supported are:
    • Rust Cargo.toml
    • Node package.json
    • Python poetry (pyproject.toml files with a tool.poetry section)
  • The user agent when making requests to public APIs. A good value is yalich/<your_name>

Design

The support for licensing metadata across languages is spotty. Even within languages with good support, packages often have a license but fail to tag it with the correct metadata.

To cover the majority of cases, yalich uses the following data flow:

  • Get dependency ids from a language-specific manifest file
  • Get metadata using an id from a language-specific API
  • Follow links in metadata to more data sources
  • Finally, apply user overrides for missing or incorrect data

yalich data flow

Commit count: 0

cargo fmt