Git Product home page Git Product logo

dvcli's Introduction

dvcli

An experiment in creating an all-in-one CLI application for using and administrating Dataverse

See also community mailing list: https://groups.google.com/forum/#!topic/dataverse-community/etN5URWos44

Installation

This tool requires Python v3.8 or newer.

For now, being an experiment without any releases, simply:

pip install git+https://github.com/gdcc/dvcli.git

Plugins

A list of available plugins, which extend dvcli in fields beyond core scope:

Development

  • (Optional) Install pre-commit if not already present on your system.
  • git clone this repository
  • (Optional) Install commit hooks for pre-commit via pre-commit install
  • Install poetry as your build system
  • Run poetry install (creates a virtual environment for you, too)
  • Run poetry run dvcli
  • When hacking on the files, there is no need to re-run the install, only when changing dependencies.

Configuration

All parameters, options etc for any command can be given via:

  1. Defaults (within the app)
  2. YAML configuration file in operating system locations
  3. YAML configuration file at any arbitrary location (use --config or DVCLI_CONFIG=...)
  4. Environment variable with prefix DVCLI_
  5. Commandline option.

The order of appearance above corresponds to the priority of the source, lowest to highest. Values are merged according to their priority. Key hashes in YAML files are merged, but not arrays or hash values (so no deep merge).

Ideas

  • Can be extended by others using a standard python plugin mechanism via entry points. More extensive documentation to come, you can take a look at this codebase as an example.
  • Create a command to set database configuration options in an idempotent manner.
  • Maybe add a XML generator for JVM options to ease their configuration?

dvcli's People

Contributors

poikilotherm avatar

Stargazers

 avatar Stefan Kasberger avatar Sacha Jerabek avatar Philip Durbin avatar

Watchers

Philip Durbin avatar James Cloos avatar Stefan Kasberger avatar  avatar Sacha Jerabek avatar

dvcli's Issues

add CONTRIBUTING.md

It would be helpful to add instructions for contributions and how to test run the cli.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.