@orvium/orvium-tools
v1.1.2
Published
Set of tools to interact with Orvium API
Downloads
23
Readme
Orvium Tools
Orvium Tools is a command-line and programmatic toolkit for interacting with the Orvium API. It simplifies common workflows such as:
- Importing deposits and manuscripts into Orvium communities.
- Exporting deposits from Orvium as a zip file (metadata + manuscript files).
- Retrieving user contribution summaries by ORCID.
- Using all of the above either via CLI or inside your own Node.js applications.
Features
- Import Deposits: Import a deposit with metadata and manuscript files into a target Orvium community.
- Export Deposits: Export a deposit as a zip file containing
meta.jsonand manuscript files. - User Contribution Summary: Retrieve a summary of a user’s contributions (deposits, reviews, communities) using their ORCID.
- Programmatic Usage: Import, export, and retrieve summaries directly inside your Node.js workflows.
Table of Contents
Installation
You can install the Orvium Tools package globally or use it directly via npx. You can also install it locally in your project for programmatic usage.
Option 1: Run via npx (No Installation Required)
You can run Orvium Tools directly without installing it globally using npx:
Importing
npx @orvium/orvium-tools-import <manuscriptPath> <community>
- directory: The path to the folder that contains the deposit metadata and manuscript files (required).
- community: The name of the Orvium community where the deposit should be uploaded (required).
Example
npx orvium-tools-import ./manuscripts/manuscript_1 Orvium
Exporting
npx @orvium/orvium-tools-export <depositId> <directory>- depositId: Orvium deposit unique identifier (required).
- directory: The path to the folder to download the zip file (required).
Example
npx orvium-tools-export 34274234697423cdsf /tmpUser Contribution Summary
npx orvium-tools-user-summary <orcid>- orcid: ORCID iD of the user (e.g., 0000-0002-1825-0097).
Example
npx orvium-tools-user-summary 0000-0002-1825-0097Option 2: Install Globally
To install Orvium Tools globally on your machine:
npm install -g @orvium/orvium-toolsOption 3: Install Locally for Programmatic Usage
To use Orvium Tools programmatically in your Node.js project, install it as a dependency:
npm install @orvium/orvium-tools --saveUsage
CLI
Orvium Tools provides a simple CLI for managing deposits in Orvium.
# Import a deposit
orvium-tools-import ./manuscripts/my_deposit "Ethics Community"
# Export a deposit
orvium-tools-export 64a09f6ce3d5ff0813586345 ./downloads
# Get user contribution summary
orvium-tools-user-summary 0000-0002-1825-0097Please make sure your PATH include the global NPM bin directory.
Programmatic Usage
You can also use Orvium Tools within your own Node.js applications.
Importing:
import { importDeposit } from "@orvium/orvium-tools";
const directoryPath = "/manuscript/manuscript_1";
const community = "Orvium";
importDeposit(directoryPath, community)
.then(() => console.log("Deposit imported successfully"))
.catch((err) => console.error("Error during deposit import:", err));Exporting:
import { exportDeposit } from "@orvium/orvium-tools";
const depositId = "63214723845236xc631q3";
const directoryPath = "/tmp";
exportDeposit(depositId, directoryPath)
.then(() => console.log("Deposit exported successfully"))
.catch((err) => console.error("Error during deposit export:", err));User Summary
import { getUserSummary } from "@orvium/orvium-tools";
const orcid = "0000-0002-1825-0097";
const summary = await getUserSummary(orcid);
console.log("User contribution summary:", summary);Example output
{
"nickname": "jane-doe",
"orcid": "https://orcid.org/0000-0002-1825-0097",
"isOpensciVerified": true,
"depositsSummaryPopulated": [
{
"title": "Open Access in Practice",
"abstract": "This paper explores the implementation of open access...",
"publicationType": "Research article",
"accessRight": "open",
"submissionDate": "2025-01-15",
"status": "published",
"reviewType": "open",
"authors": [
{ "firstName": "Jane", "lastName": "Doe" },
{ "firstName": "John", "lastName": "Smith" }
],
"keywords": ["Open Science", "Publishing"],
"doi": "https://doi.org/10.1234/example",
"url": "https://platform.orvium.io/deposits/64a09f6ce3d5ff0813586345/view"
}
],
"peerReviewsSummaryPopulated": [
{
"_id": "65b7a0a8ef2cde1d3f98a77f",
"creator": "65b79fa3ef2cde1d3f98a12c",
"status": "published",
"kind": "peer review",
"decision": "accepted",
"showIdentityToAuthor": true,
"showIdentityToEveryone": false
}
],
"communitiesSummaryPopulated": [
{
"name": "Ethics, Privacy, and Legal Issues",
"description": "A community focused on ethical and legal aspects of science.",
"country": "Spain",
"type": "community",
"subscription": "free",
"membershipType": "open",
"logoURL": "https://assets.example.com/community/logo.png"
}
]
}Environment Variables
To connect to the Orvium platform, Orvium Tools requires some environment variables to be set. These variables are typically loaded from a .env file located in your project root.
Example .env file:
API_KEY=your-api-key-here
API_KEY_USER=your-api-key-user-here
API_URL=https://your-orvium-api-url-hereMake sure to replace the placeholders with actual values for your Orvium environment.
Development
If you want to contribute to the development of Orvium Tools or add your own features, follow these steps to get started:
1. Clone the repository:
git clone https://github.com/orvium/orvium-tools.git
cd orvium-tools
2. Install dependencies:
npm install3. Build the project:
npm run build4. Test locally:
You can test the tool locally using npm link to create a symlink to your local package:
npm link
orvium-tools-import ./manuscripts/manuscript_1 Orvium5. Run in development mode:
To run the TypeScript files directly (without building):
npx ts-node src/import-deposit-cli.ts ./manuscripts/manuscript_1 OrviumLicense
This project is licensed under the MIT License. See the LICENSE file for details.
