codemeta2html


Namecodemeta2html JSON
Version 0.1.0 PyPI version JSON
download
home_pagehttps://github.com/proycon/codemeta2html
SummaryConvert software metadata in codemeta to html for visualisation
upload_time2023-05-15 16:30:34
maintainer
docs_urlNone
authorMaarten van Gompel
requires_python
licenseGPL-3.0-only
keywords software metadata codemeta schema.org rdf linked data
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![Project Status: Active -- The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)
[![GitHub release](https://img.shields.io/github/release/proycon/codemeta2html.svg)](https://GitHub.com/proycon/codemeta2html/releases/)
[![Latest release in the Python Package Index](https://img.shields.io/pypi/v/codemeta2html)](https://pypi.org/project/codemeta2html/)
 
# Codemeta2html

## Introduction

Codemeta2html is a command-line tool and software library to visualize software
metadata in the [codemeta](https://codemeta.github.io) standard. This library
builds on [codemetapy](https://github.com/proycon/codemetapy).

### Features

* Generates a complete static website with:
    * rich [RDFa](https://www.w3.org/TR/rdfa-primer/) data (codemeta/schema.org/etc) embedded in the HTML,
      expressing as much of the input linked data as possible. This means though we visualise for humans, we do 
      not sacrifice on machine parsability and semantic interpretability.
    * index pages (card view & table view)
    * one dedicated page per software source project
    * client-side filtering (faceted search) capabilities
    * direct access to the underlying JSON-LD and Turtle serialisations per source project and for the complete data graph as a whole
    * responsive layout suitable for different devices and screen-sizes
    * badges (aka shields) for GitHub, Repostatus
    * minimal amount of external web calls (only for github/gitlab badges and for external resources references directly by the software metadata itself)
    * minimal client-side javascript, also usable without (except for filtering)
    * useful in combination with [codemeta-harvester](https://github.com/proycon/codemeta-harvester) to visualize the results of the harvest

### Notes

1. This solution is designed to work well with tens or hundreds of
resources (software projects), it does not scale well beyond that to thousands
of resources.
2. If you want a server-side solution that allows for live querying (using SPARQL),
then use [codemeta-server](https://github.com/proycon/codemeta-server) instead
(which has this project as main dependency).

## Installation

`pip install codemeta2html`

## Usage

You can pass either a JSON-LD file describing a single software project and
have it output to standard output:

`$ codemeta2html --stdout yoursoftware.codemeta.json > yoursoftware.html`

Or you can pass a full JSON-LD graph describing multiple projects, effectively
using `codemeta2html` to generate a static website:

`$ codemeta2html --outputdir build/ yoursoftware.codemeta.json`

This is the default behaviour, it also works on an input file for  single
software project although it may be overkill there.


You can pass additional linked data (JSON-LD or turtle) to the context graph, this is used for
vocabularies that are referenced by the software metadata and ensures they can
be properly labelled in the visualisation. The use of SKOS vocabularies is supported and encouraged.
Consider the following example for the CLARIAH project:

`
$ codemeta2html --title "CLARIAH Tools" --baseuri https://tools.clariah.nl/ --addcontextgraph https://w3id.org/nwo-research-fields --addcontextgraph https://raw.githubusercontent.com/CLARIAH/tool-discovery/master/schemas/research-technology-readiness-levels.jsonld --addcontextgraph https://vocabs.dariah.eu/rest/v1/tadirah/data\?format\=text/turtle data.json
`

The `--baseuri` parameter will adapt all resource identifiers to a single
common URI, which does not necessarily have to be the same as the URL the pages
are served from (you can use ``--baseurl`` for that).


## Acknowledgement

This work is conducted at the [KNAW Humanities Cluster](https://huc.knaw.nl/)'s
[Digital Infrastructure department](https://di.huc.knaw.nl/) in the scope of the 
[CLARIAH](https://www.clariah.nl) project (CLARIAH-PLUS, NWO grant 184.034.023) as
part of the FAIR Tool Discovery track of the Shared Development Roadmap.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/proycon/codemeta2html",
    "name": "codemeta2html",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "software metadata,codemeta,schema.org,rdf,linked data",
    "author": "Maarten van Gompel",
    "author_email": "proycon@anaproy.nl",
    "download_url": "https://files.pythonhosted.org/packages/cf/6f/edfad2bf91a6606cfb009cddc456092b6b5c2d7bb5a63ca189c78a9dc703/codemeta2html-0.1.0.tar.gz",
    "platform": null,
    "description": "[![Project Status: Active -- The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)\n[![GitHub release](https://img.shields.io/github/release/proycon/codemeta2html.svg)](https://GitHub.com/proycon/codemeta2html/releases/)\n[![Latest release in the Python Package Index](https://img.shields.io/pypi/v/codemeta2html)](https://pypi.org/project/codemeta2html/)\n \n# Codemeta2html\n\n## Introduction\n\nCodemeta2html is a command-line tool and software library to visualize software\nmetadata in the [codemeta](https://codemeta.github.io) standard. This library\nbuilds on [codemetapy](https://github.com/proycon/codemetapy).\n\n### Features\n\n* Generates a complete static website with:\n    * rich [RDFa](https://www.w3.org/TR/rdfa-primer/) data (codemeta/schema.org/etc) embedded in the HTML,\n      expressing as much of the input linked data as possible. This means though we visualise for humans, we do \n      not sacrifice on machine parsability and semantic interpretability.\n    * index pages (card view & table view)\n    * one dedicated page per software source project\n    * client-side filtering (faceted search) capabilities\n    * direct access to the underlying JSON-LD and Turtle serialisations per source project and for the complete data graph as a whole\n    * responsive layout suitable for different devices and screen-sizes\n    * badges (aka shields) for GitHub, Repostatus\n    * minimal amount of external web calls (only for github/gitlab badges and for external resources references directly by the software metadata itself)\n    * minimal client-side javascript, also usable without (except for filtering)\n    * useful in combination with [codemeta-harvester](https://github.com/proycon/codemeta-harvester) to visualize the results of the harvest\n\n### Notes\n\n1. This solution is designed to work well with tens or hundreds of\nresources (software projects), it does not scale well beyond that to thousands\nof resources.\n2. If you want a server-side solution that allows for live querying (using SPARQL),\nthen use [codemeta-server](https://github.com/proycon/codemeta-server) instead\n(which has this project as main dependency).\n\n## Installation\n\n`pip install codemeta2html`\n\n## Usage\n\nYou can pass either a JSON-LD file describing a single software project and\nhave it output to standard output:\n\n`$ codemeta2html --stdout yoursoftware.codemeta.json > yoursoftware.html`\n\nOr you can pass a full JSON-LD graph describing multiple projects, effectively\nusing `codemeta2html` to generate a static website:\n\n`$ codemeta2html --outputdir build/ yoursoftware.codemeta.json`\n\nThis is the default behaviour, it also works on an input file for  single\nsoftware project although it may be overkill there.\n\n\nYou can pass additional linked data (JSON-LD or turtle) to the context graph, this is used for\nvocabularies that are referenced by the software metadata and ensures they can\nbe properly labelled in the visualisation. The use of SKOS vocabularies is supported and encouraged.\nConsider the following example for the CLARIAH project:\n\n`\n$ codemeta2html --title \"CLARIAH Tools\" --baseuri https://tools.clariah.nl/ --addcontextgraph https://w3id.org/nwo-research-fields --addcontextgraph https://raw.githubusercontent.com/CLARIAH/tool-discovery/master/schemas/research-technology-readiness-levels.jsonld --addcontextgraph https://vocabs.dariah.eu/rest/v1/tadirah/data\\?format\\=text/turtle data.json\n`\n\nThe `--baseuri` parameter will adapt all resource identifiers to a single\ncommon URI, which does not necessarily have to be the same as the URL the pages\nare served from (you can use ``--baseurl`` for that).\n\n\n## Acknowledgement\n\nThis work is conducted at the [KNAW Humanities Cluster](https://huc.knaw.nl/)'s\n[Digital Infrastructure department](https://di.huc.knaw.nl/) in the scope of the \n[CLARIAH](https://www.clariah.nl) project (CLARIAH-PLUS, NWO grant 184.034.023) as\npart of the FAIR Tool Discovery track of the Shared Development Roadmap.\n",
    "bugtrack_url": null,
    "license": "GPL-3.0-only",
    "summary": "Convert software metadata in codemeta to html for visualisation",
    "version": "0.1.0",
    "project_urls": {
        "Homepage": "https://github.com/proycon/codemeta2html"
    },
    "split_keywords": [
        "software metadata",
        "codemeta",
        "schema.org",
        "rdf",
        "linked data"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cf6fedfad2bf91a6606cfb009cddc456092b6b5c2d7bb5a63ca189c78a9dc703",
                "md5": "512f16861aff73cc50b3193903c9af15",
                "sha256": "0371f322fb0934ecea632454d5e73211bfc6d597a0803fe32cf8cf963cc82cd9"
            },
            "downloads": -1,
            "filename": "codemeta2html-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "512f16861aff73cc50b3193903c9af15",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 463352,
            "upload_time": "2023-05-15T16:30:34",
            "upload_time_iso_8601": "2023-05-15T16:30:34.171339Z",
            "url": "https://files.pythonhosted.org/packages/cf/6f/edfad2bf91a6606cfb009cddc456092b6b5c2d7bb5a63ca189c78a9dc703/codemeta2html-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-05-15 16:30:34",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "proycon",
    "github_project": "codemeta2html",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "codemeta2html"
}
        
Elapsed time: 0.39775s