3 unstable releases
Uses new Rust 2024
new 0.2.1 | Mar 26, 2025 |
---|---|
0.2.0 | Mar 26, 2025 |
0.1.0 | Mar 25, 2025 |
#55 in #risk
47 downloads per month
29KB
293 lines
mfs
Metadata fetcher (software)
This project aims to be a tool for fetching all kinds of scholarly metadata. It uses TSV-formatted output which contains the raw data from the API-call.
Format:
type id result source data
Fields are separated by tabs (\t
).
Alpha quality software, use at your own risk!
I'm using this project to learn Rust, don't expect fully idiomatic, high quality code. If you have any advice, please create an issue. Thanks!
Installation
I assume the binary works only under 64bit Linux right now. I have no Mac / Windows systems lying around and can't test it at the moment. No idea about cross-compilation either and I'm pretty sure the code is using some Unix-only bits at the moment to handle command line properly.
You can download a 64bit Linux binary, available here: https://codeberg.org/weirdfox/mfs/releases
You can install it from crates.io
via cargo
as well:
cargo install mfs
Usage
Fetching metadata for a DOI in the source format:
mfs pub doi "10.1016/s0009-2614(02)00639-5" -s datacite -s crossref -o output.tsv
-s
can be specified multiple times, valid values arecrossref
,openalex
anddatacite
. Sources will be checked in the order specified in the command and the first match will be used.-o
can be used to redirect the output to a file with the specified path.
DOI can be provided via stdin
:
echo "10.1016/s0009-2614(02)00639-5" | mfs pub doi -s datacite -s crossref
Multiple DOIs can be provided via a text file, containing one DOI per line:
doi.txt
10.1016/s0009-2614(02)00639-5 10.3132/43242413242143 10.14454/FXWS-0523
cat "doi.txt" | mfs pub doi -s datacite -s crossref
Right now only publication metadata, addressable via doi
are available. This will be expanded in the future.
Dependencies
~12–24MB
~349K SLoC