Dar Invenio Command Line Interface
Project description
DAR-INVENIO-CLI
DAR-INVENIO-CLI is a command-line tool for creating drafts and uploading files in the Invenio webpage.
Installation
From PyPI (Recommended)
This installation may vary for different operating systems.
Link to Pypi package
Steps with venv activation:
sudo apt install python3-full
python3 -m venv venv
source venv/bin/activate
pip install <your-package>
From source (cloned repository)
-
Install Python and venv:
sudo apt update sudo apt install python3 python3-pip python3-venv git
-
Clone the repository:
git clone git@gitlab.ics.muni.cz:dataraptors/elter/dar-invenio-cli.git cd dar-invenio-cli
-
Create and activate a virtual environment:
python3 -m venv .venv source .venv/bin/activate
-
Install the package:
pip install .
Configuration
Before using the features, you need to set up the configuration. The configuration initialization with api_token is
required.
dar-invenio-cli config init --api-token <your-api-token>
This init configuration is also possible with optional parameters: --base-api-url, --model and --community e.g.:
dar-invenio-cli config init --api-token <your-api-token> --base-api-url <your-base-api-url> --model <your-model> --community <your-community>
You can also update the values for base-api-url and model or api_token later:
dar-invenio-cli config update
with optional options:
--base-api-url <your-base-api-url>--model <your-model>--api-token <your-api-token>
The init script sets default values for the cli and you can see the actual configuration by running:
dar-invenio-cli config show
Usage
If you do not have configuration set up, the commands will prompt you to run the configuration initialization first.
Create a single draft
From a JSON file - you need to provide valid json with its metadata structure, otherwise the creation may fail:
dar-invenio-cli create draft --from-file /path/to/your/file.json
From a name - creates a draft with empty metadata except for the title:
dar-invenio-cli create draft --from-title "My Draft Name"
Create multiple drafts
From multiple JSON files:
dar-invenio-cli create drafts --from-files "/path/to/file1.json" --from-files "/path/to/file2.json"
From a folder containing JSON files:
dar-invenio-cli create drafts --from-folder "/path/to/your/folder"
Upload files to a draft
dar-invenio-cli upload files <draft_id> "/path/to/file1" "/path/to/file2"
Upload files from a folder to a draft
It uploads all files from the specified folder to the given draft - if you want to have it in one file, create and upload ZIP.
dar-invenio-cli upload folder <draft_id> "/path/to/your/folder"
For Developers
The core logic is located in dar_invenio_cli/core.py. You can import and use the functions from this module in your
own Python projects.
Deployment to PyPI
The easiest way, how to deploy a new version is to bump the version in the setup.cfg and run the deploy pipline on GitLab.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dar_invenio_cli-0.2.7.tar.gz.
File metadata
- Download URL: dar_invenio_cli-0.2.7.tar.gz
- Upload date:
- Size: 11.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
53cfb7022e83f6a43a92b3760d5190803d53f533f5614f8fdf1eb2b7b4d48a19
|
|
| MD5 |
173184d7ed1fe3be6304f80246d83379
|
|
| BLAKE2b-256 |
baebfeea7c6692aed5b4e089d7ef097df0c489d488e2f969f332db7aec499fd6
|
File details
Details for the file dar_invenio_cli-0.2.7-py3-none-any.whl.
File metadata
- Download URL: dar_invenio_cli-0.2.7-py3-none-any.whl
- Upload date:
- Size: 14.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db394ca9058a6b47293326affc5501c8e97b79bc4e29834974363c5803c636c8
|
|
| MD5 |
dad3043fd1be303c421dcc844ce5d4a4
|
|
| BLAKE2b-256 |
2d77849e6d3795cce1ae8da57f6d5facedcdc4412a7602a5cba29954fdb4de01
|