6 releases
| new 0.1.35 | Nov 9, 2025 |
|---|---|
| 0.1.34 | Nov 9, 2025 |
| 0.1.31 | Oct 20, 2025 |
| 0.1.30 | Sep 12, 2025 |
#26 in Science
153 downloads per month
12MB
9K
SLoC
ACORN 🌱
Accessible Content Optimization for Research Needs
ACORN provides an ontology for research activity data (RAD) and enables adding linked data context and transforming RAD into a knowledge graph that is amenable to automated reasoning and artifact generation (e.g. PDFs, PPTX, etc.)
So what, big deal, who cares?
ACORN is a command line multi-tool that employs automated processes for informing and enforcing defined content schemas. With these content schemas, ACORN builds communication assets such as PDFs, presentation files, and web pages. It also lays the foundation for deep data insights about ORNL’s — and any institution’s — corpus of research. Built using the memory-safe Rust programming language, ACORN can be used on any Windows, Mac, or Linux machine
Installation
Homebrew and Scoop packages are planned. Check back soon for updates.
Install with cargo
-
Install
acorncommandcargo install acorn-cli -
Test the installation
acorn help
Download pre-compiled binary
- Download newest binary from releases page
curl -LO https://code.ornl.gov/api/v4/projects/16689/packages/generic/x86_64-unknown-linux-musl/v0.1.33/acorn - Make binary executable
chmod +x ./acorn - Move binary to folder on path (ex.
/usr/local/bin)mv acorn /usr/local/bin - Verify installation with
acorn --version
⚠️ CAUTION
acorn exportis not currently supported on MacOS
Build from source
-
Clone this project and navigate to it
git clone https://code.ornl.gov/research-enablement/acorn cd ./acorn -
Install
acorncommandcargo install --path ./acorn-cli -
Test the installation
acorn help
ACORN Rust Libary
- Add
acorn-libas a dependency in yourCargo.toml[dependencies] acorn-lib = "0.1.30" - Use
acorn-libfunctions in your Rust codeuse acorn_lib::schema::validate::{is_doi, is_orcid, is_ror}; assert!(is_doi("10.11578/dc.20250604.1")); assert!(is_orcid("https://orcid.org/0000-0002-2057-9115")); assert!(is_ror("01qz5mb56")); - If you want to use
acorn-libto build your own CLI app, be sure to include the following in yourCargo.tomlto enable theclifeature[dependencies] acorn-lib = { version = "0.1.30", features = ["cli"] }
Python Bindings
⚠️ CAUTION
acorn-pyAPI is currently experimental and may change without warning.
- Install
acorn-pypackagepip install acorn-py - Use
acorn-libfunctions in Pythonfrom acorn.schema.validate import is_doi, is_orcid, is_ror assert is_doi("10.11578/dc.20250604.1") assert is_orcid("https://orcid.org/0000-0002-2057-9115") assert is_ror("01qz5mb56")
Architecture
See ARCHITECTURE.md
Contributing
See CONTRIBUTING.md
Dependencies
~97–140MB
~2.5M SLoC