https://github.com/refcell/lice
Dead simple, minimal SPDX License generator library written in Rust.
https://github.com/refcell/lice
library license rust spdx
Last synced: 9 months ago
JSON representation
Dead simple, minimal SPDX License generator library written in Rust.
- Host: GitHub
- URL: https://github.com/refcell/lice
- Owner: refcell
- License: mit
- Created: 2023-10-21T23:01:06.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-10-26T20:50:44.000Z (over 2 years ago)
- Last Synced: 2025-05-07T03:02:56.388Z (9 months ago)
- Topics: library, license, rust, spdx
- Language: Rust
- Homepage: https://crates.io/crates/lice
- Size: 186 KB
- Stars: 9
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# lice
[![Build Status]][actions]
[![License]][mit-license]
[![Docs]][Docs-rs]
[![Latest Version]][crates.io]
[![rustc 1.65+]][Rust 1.65]
[Build Status]: https://img.shields.io/github/actions/workflow/status/refcell/lice/ci.yml?branch=main
[actions]: https://github.com/refcell/lice/actions?query=branch%3Amain
[Latest Version]: https://img.shields.io/crates/v/lice.svg
[crates.io]: https://crates.io/crates/lice
[rustc 1.65+]: https://img.shields.io/badge/rustc_1.65+-lightgray.svg?label=msrv
[Rust 1.65]: https://blog.rust-lang.org/2022/11/03/Rust-1.65.0.html
[License]: https://img.shields.io/badge/license-MIT-7795AF.svg
[mit-license]: https://github.com/refcell/lice/blob/main/LICENSE.md
[Docs-rs]: https://docs.rs/lice/
[Docs]: https://img.shields.io/docsrs/lice.svg?color=319e8c&label=docs.rs
**Dead simple, minimal SPDX License generator library written in Rust.** Lice is in https://github.com/refcell/lice/labels/beta

**[Install](#usage)**
| [User Docs](#what-is-lice)
| [Crate Docs][crates.io]
| [Reference][Docs-rs]
| [Contributing](#contributing)
| [License](#license)
| [Attribution](#attribution)
## What is lice?
`lice` is a dead simple, minimal library for generating
valid SPDX licenses. It was primarily built for `amble`
but ripped out into it's own crate to provide an extensible
library, published on [crates.io][crates.io].
## Usage
Install `lice` with cargo.
```ignore,sh,no_run
cargo add lice
```
A short example to query for the `MIT` License is shown below.
```rust
use anyhow::Result;
#[tokio::main]
async fn main() -> Result<()> {
let license = lice::get("mit").await?;
assert_eq!(license.license_id, "MIT");
Ok(())
}
```
Under the hood, the [get](https://docs.rs/lice/latest/lice/fn.get.html)
function fetches licenses and fuzzy matches, using the first choice to
query the license details, returning the merged [License](https://docs.rs/lice/latest/lice/types/struct.License.html)
and its details.
## Contributing
All contributions are welcome! Experimentation is highly encouraged
and new issues are welcome.
## Troubleshooting & Bug Reports
Please check existing issues for similar bugs or
[open an issue](https://github.com/refcell/lice/issues/new)
if no relevant issue already exists.
## Attribution
Much of this work is based off of [lic][lic-repo], an spdx license
generator binary that can't be used as a library. The adapted
[`lice`][crates.io] crate extends the SPDX "API" to
provide more verbose license fetching methods. Big h/t to the
creators of [lic][lic-repo] especially [SigureMo][sig-mo]
[sig-mo]: https://github.com/SigureMo
[lic-repo]: https://github.com/ShigureLab/lic/tree/main
## License
This project is licensed under the [MIT License](LICENSE.md).
Free and open-source, forever.
*All our rust are belong to you.*