ckanext-query-dois

A CKAN extension that creates DOIs for queries on resources.

https://github.com/naturalhistorymuseum/ckanext-query-dois

Science Score: 62.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    2 of 4 committers (50.0%) from academic institutions
  • Institutional organization owner
    Organization naturalhistorymuseum has institutional domain (www.nhm.ac.uk)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.8%) to scientific vocabulary

Keywords

ckan ckan-extension

Keywords from Contributors

sketchfab
Last synced: 6 months ago · JSON representation ·

Repository

A CKAN extension that creates DOIs for queries on resources.

Basic Info
  • Host: GitHub
  • Owner: NaturalHistoryMuseum
  • License: gpl-3.0
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 298 KB
Statistics
  • Stars: 0
  • Watchers: 8
  • Forks: 0
  • Open Issues: 7
  • Releases: 28
Topics
ckan ckan-extension
Created over 7 years ago · Last pushed 7 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation Support

README.md

The Natural History Museum logo.

ckanext-query-dois

Tests Coveralls CKAN Python Docs

A CKAN extension that creates DOIs for queries on resources.

Overview

This extension creates (mints) digital object identifiers (DOIs) for queries on resources. By recording the query parameters used and the exact version of the data at the time of the query, this allows precise retrieval of the data as it looked when the DOI was minted.

Can be used in conjunction with v5.2+ of ckanext-versioned-datastore.

You will need an account with a DataCite DOI service provider to use this extension.

Installation

Path variables used below: - $INSTALL_FOLDER (i.e. where CKAN is installed), e.g. /usr/lib/ckan/default - $CONFIG_FILE, e.g. /etc/ckan/default/development.ini

Installing from PyPI

shell pip install ckanext-query-dois

Installing from source

  1. Clone the repository into the src folder: shell cd $INSTALL_FOLDER/src git clone https://github.com/NaturalHistoryMuseum/ckanext-query-dois.git

  2. Activate the virtual env: shell . $INSTALL_FOLDER/bin/activate

  3. Install via pip: shell pip install $INSTALL_FOLDER/src/ckanext-query-dois

Installing in editable mode

Installing from a pyproject.toml in editable mode (i.e. pip install -e) requires setuptools>=64; however, CKAN 2.9 requires setuptools==44.1.0. See our CKAN fork for a version of v2.9 that uses an updated setuptools if this functionality is something you need.

Post-install setup

  1. Add 'querydois' to the list of plugins in your `$CONFIGFILE: ini ckan.plugins = ... query_dois `

  2. Install lessc globally: shell npm install -g "less@~4.1"

  3. Initialise database tables: shell ckan -c $CONFIG_FILE query-dois initdb

  4. Sign up for an account with DataCite and provide the credentials in your configuration.

Configuration

These are the options that can be specified in your .ini config file.

[REQUIRED]

| Name | Description | Options | |----------------------------------------|-----------------------------------------------------------------------|---------| | ckanext.query_dois.prefix | Prefix to use for the new DOIs | | | ckanext.query_dois.datacite_username | Datacite account username | | | ckanext.query_dois.datacite_password | Datacite account password | | | ckanext.query_dois.doi_title | Template string for the DOI title: takes count as a format argument | | | ckanext.query_dois.publisher | DOI publisher name | |

Other options

| Name | Description | Options | Default | |--------------------------------|--------------------------------------------------------------|------------|---------| | ckanext.query_dois.test_mode | Enable/disable using test DOIs (i.e. not creating real DOIs) | True/False | True |

Usage

Commands

initdb

Initialises the database table.

  1. initdb: initialise the database model bash ckan -c $CONFIG_FILE query-dois initdb

Testing

There is a Docker compose configuration available in this repository to make it easier to run tests. The ckan image uses the Dockerfile in the docker/ folder.

To run the tests against ckan 2.9.x on Python3:

  1. Build the required images: shell docker compose build

  2. Then run the tests. The root of the repository is mounted into the ckan container as a volume by the Docker compose configuration, so you should only need to rebuild the ckan image if you change the extension's dependencies. shell docker compose run ckan

Owner

  • Name: Natural History Museum
  • Login: NaturalHistoryMuseum
  • Kind: organization
  • Location: London

Citation (CITATION.cff)

cff-version: 1.2.0
title: CKAN Query Dois extension
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - name: Natural History Museum
    city: London
    country: GB
    alias: NHM
    email: data@nhm.ac.uk
repository-code: 'https://github.com/NaturalHistoryMuseum/ckanext-query-dois'
abstract: A CKAN extension that creates DOIs for queries on resources.
keywords:
  - ckan
  - ckanext
  - query_dois
license: GPL-3.0-or-later
version: 6.0.2

GitHub Events

Total
  • Create event: 6
  • Release event: 2
  • Issues event: 1
  • Delete event: 3
  • Issue comment event: 1
  • Push event: 17
  • Pull request event: 16
Last Year
  • Create event: 6
  • Release event: 2
  • Issues event: 1
  • Delete event: 3
  • Issue comment event: 1
  • Push event: 17
  • Pull request event: 16

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 130
  • Total Committers: 4
  • Avg Commits per committer: 32.5
  • Development Distribution Score (DDS): 0.446
Top Committers
Name Email Commits
Josh Humphries j****s@n****k 72
Alice Butcher a****i@g****m 48
github-actions[bot] g****]@u****m 9
Paul p****e@n****k 1
Committer Domains (Top 20 + Academic)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 250 last-month
  • Total dependent packages: 2
  • Total dependent repositories: 0
  • Total versions: 21
  • Total maintainers: 1
pypi.org: ckanext-query-dois

A CKAN extension that creates DOIs for queries on resources.

  • Versions: 21
  • Dependent Packages: 2
  • Dependent Repositories: 0
  • Downloads: 250 Last month
Rankings
Dependent packages count: 1.9%
Downloads: 9.2%
Average: 22.2%
Forks count: 30.5%
Dependent repos count: 30.6%
Stargazers count: 39.1%
Maintainers (1)
Last synced: 7 months ago

Dependencies

setup.py pypi
  • bcrypt ==3.1.4
  • datacite ==1.1.2
  • dicthash ==0.0.2
.github/workflows/bump.yml actions
  • actions/checkout v3 composite
  • commitizen-tools/commitizen-action master composite
  • softprops/action-gh-release v1 composite
.github/workflows/main.yml actions
  • actions/checkout v3 composite
.github/workflows/pypi-publish.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
  • pypa/gh-action-pypi-publish release/v1 composite
docker/Dockerfile docker
  • naturalhistorymuseum/ckantest latest build
docker-compose.yml docker
  • ckan/ckan-solr 2.9
  • redis latest
docs/requirements.txt pypi
  • mkdocs *
  • mkdocs-gen-files *
  • mkdocs-include-markdown-plugin *
  • mkdocs-material *
  • mkdocs-section-index *
  • mkdocstrings *
pyproject.toml pypi
  • bcrypt ==3.1.4
  • ckantools >=0.3.0
  • datacite ==1.1.2
  • dicthash ==0.0.2
.github/workflows/sync.yml actions
  • actions/checkout v3 composite
  • connor-baer/action-sync-branch main composite