5 releases
0.1.4 | Jun 8, 2020 |
---|---|
0.1.3 | Jun 6, 2020 |
0.1.2 | Jun 6, 2020 |
0.1.1 | Jun 6, 2020 |
0.1.0 | Jun 6, 2020 |
#12 in #poetry
45KB
624 lines
yalich
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 atool.poetry
section)
- Rust
- 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
Dependencies
~8–20MB
~298K SLoC