pica-rs

Tools to work with bibliographic records encoded in PICA+.

https://github.com/deutsche-nationalbibliothek/pica-rs

Science Score: 44.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
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (5.9%) to scientific vocabulary

Keywords

code4lib pica
Last synced: 4 months ago · JSON representation ·

Repository

Tools to work with bibliographic records encoded in PICA+.

Basic Info
Statistics
  • Stars: 35
  • Watchers: 3
  • Forks: 6
  • Open Issues: 13
  • Releases: 34
Topics
code4lib pica
Created about 5 years ago · Last pushed 5 months ago
Metadata Files
Readme License Citation

README.md

[![CI](https://github.com/deutsche-nationalbibliothek/pica-rs/actions/workflows/rust.yml/badge.svg?branch=main)](https://github.com/deutsche-nationalbibliothek/pica-rs/actions/workflows/rust.yml) [![Documentation](https://img.shields.io/badge/Documentation-main-orange.svg)](https://deutsche-nationalbibliothek.github.io/pica-rs/) [![dependency status](https://deps.rs/repo/github/deutsche-nationalbibliothek/pica-rs/status.svg)](https://deps.rs/repo/github/deutsche-nationalbibliothek/pica-rs)


Das Toolkit pica-rs ermöglicht eine effiziente Verarbeitung von bibliografischen Metadaten, die in PICA+, dem internen Format des OCLC-Katalogsystems, kodiert sind. Mithilfe verschiedener Kommandos können aus den Metadaten elementare statistische Größen ermittelt und aufbereitet werden. Zudem kann das Toolkit als Brückentechnologie fungieren, um Metadaten für populäre Frameworks wie Polars, in Programmiersprachen wie R oder für Excel nutzbar zu machen.

Das Projekt ist eine Entwicklung des Referats Automatische Erschließungsverfahren; Netzpublikationen (AEN) der Deutschen Nationalbibliothek (DNB). Es wird für die Erstellung von Datenanalysen sowie für die Automatisierung von Metadaten-Workflows (Datenmanagement) im Rahmen der automatischen Inhaltserschließung genutzt. Weiterhin wird es zur Unterstützung der Forschungsarbeiten im Projekt Automatisches Erschließungssystem und für diverse andere Datenanalysen in der DNB eingesetzt.

Die Mitwirkung an pica-rs ist sehr erwünscht. Wir würden Sie bitten, mögliche Fehler, Fragen und neue Ideen als GitHub-Issues anzulegen. Diese werden wir dann intern beraten und möglichst zeitnah ein Feedback geben. Ferner kann das Forum metadaten.community zur Diskussion genutzt werden.

Die Installation des Toolkits und alle Kommandos sind in der Dokumentation beschrieben.

Kommandos

  • check — Überprüft Datensätze auf Konformität mit einem Regelwerk
  • concat — Zusammenfügen (Konkatenieren) von Datensätzen
  • completions — Erzeugung von Shell-Skripten zur Autovervollständigung
  • convert — Konvertierung zwischen verschiedenen PICA-Formaten
  • count — Zählen von Datensätzen, Feldern und Unterfeldern
  • describe — Erstellt pro Feld eine Häufigkeitsverteilung der Unterfelder
  • explode — Teilt Datensätze in Lokal- oder Exemplardatensätze auf
  • filter — Filtert Datensätze anhand eines Kriteriums
  • frequency — Ermitteln einer Häufigkeitsverteilung über ein oder mehrere Unterfelder
  • hash — Erzeugt SHA-256-Hashwerte von Datensätzen
  • invalid — Findet ungültige Zeilen in der Eingabe
  • partition — Partitioniert Datensätze anhand eines Unterfelds
  • print — Gibt Datensätze in einer menschenlesbaren Form aus
  • sample — Wählt eine Zufallsstichprobe eines bestimmten Umfangs aus
  • select — Selektiert ein oder mehrere Unterfelder und gibt die Daten im CSV- bzw. TSV-Format aus
  • slice — Ausschneiden eines zusammenhängenden Teilbereichs aus der Eingabe
  • split — Teilt eine Menge an Datensätzen in Dateien fester Größe

Verwandte Projekte

Lizenz

Der Quellcode sowie die Releases sind lizenziert unter der EUPL-1.2.

Owner

  • Name: Deutsche Nationalbibliothek
  • Login: deutsche-nationalbibliothek
  • Kind: organization

Open Source Projekte der Deutschen Nationalbibliothek

Citation (CITATION.cff)

cff-version: 1.2.0
title: "pica-rs"
abstract: "pica-rs is a toolkit to process metadata records in PICA+ format."
authors:
  - family-names: Wagner
    given-names: Nico
    orcid: https://orcid.org/0000-0002-2033-1806
  - family-names: Voß
    given-names: Jakob
    orcid: https://orcid.org/0000-0002-7613-4123
version: 1.2.0
date-released: 2025-06-04

GitHub Events

Total
  • Create event: 131
  • Release event: 5
  • Issues event: 11
  • Watch event: 4
  • Delete event: 127
  • Issue comment event: 17
  • Push event: 489
  • Pull request review event: 62
  • Pull request review comment event: 56
  • Pull request event: 236
  • Fork event: 1
Last Year
  • Create event: 131
  • Release event: 5
  • Issues event: 11
  • Watch event: 4
  • Delete event: 127
  • Issue comment event: 17
  • Push event: 489
  • Pull request review event: 62
  • Pull request review comment event: 56
  • Pull request event: 236
  • Fork event: 1

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 6
  • Total pull requests: 75
  • Average time to close issues: 17 days
  • Average time to close pull requests: 2 days
  • Total issue authors: 4
  • Total pull request authors: 2
  • Average comments per issue: 0.5
  • Average comments per pull request: 0.03
  • Merged pull requests: 64
  • Bot issues: 1
  • Bot pull requests: 0
Past Year
  • Issues: 6
  • Pull requests: 75
  • Average time to close issues: 17 days
  • Average time to close pull requests: 2 days
  • Issue authors: 4
  • Pull request authors: 2
  • Average comments per issue: 0.5
  • Average comments per pull request: 0.03
  • Merged pull requests: 64
  • Bot issues: 1
  • Bot pull requests: 0
Top Authors
Issue Authors
  • nwagner84 (6)
  • github-actions[bot] (3)
  • jaohbib (3)
  • nichtich (1)
  • san-uh (1)
  • mabie0605 (1)
Pull Request Authors
  • nwagner84 (213)
  • nicolehabermann (1)
Top Labels
Issue Labels
bug (2) A-filter (2) question (2) C-maintenance (2) P-high (1) enhancement (1) A-rust-api (1) C-documentation (1) breaking-change (1)
Pull Request Labels
C-enhancement (49) enhancement (30) C-maintenance (29) maintenance (27) A-rust-api (26) C-documentation (13) breaking-change (8) bug (7) A-select (7) documentation (6) C-bug (5) A-frequency (4) A-sample (3) A-split (3) A-check (3) P-high (3) C-optimization (2) docs (2) A-filter (2) A-invalid (1) A-config (1) A-concat (1) A-completions (1) A-count (1) A-hash (1) A-partition (1) A-slice (1) A-print (1) A-explode (1) A-convert (1)

Dependencies

Cargo.toml cargo
  • bstr 0.2
  • flate2 1.0
  • lazy_static 1.4
  • nom 7.1
  • regex 1.5
  • serde 1.0
  • strsim 0.10
.github/workflows/ci.yml actions
  • abbbi/github-actions-tune v1 composite
  • actions-rs/audit-check v1 composite
  • actions-rs/cargo v1 composite
  • actions-rs/install v0.1 composite
  • actions-rs/toolchain v1 composite
  • actions/cache v2 composite
  • actions/checkout v3 composite
  • peaceiris/actions-gh-pages v3 composite
.github/workflows/daily.yml actions
  • abbbi/github-actions-tune v1 composite
  • actions-rs/audit-check v1 composite
  • actions-rs/toolchain v1 composite
  • actions/cache v2 composite
  • actions/checkout v1 composite
.github/workflows/release.yml actions
  • actions-rs/cargo v1 composite
  • actions-rs/toolchain v1 composite
  • actions/cache v2 composite
  • actions/checkout v3 composite
  • actions/download-artifact v2 composite
  • actions/upload-artifact v2 composite
  • kentik/pkg master composite
  • softprops/action-gh-release v1 composite
crates/pica-lint/Cargo.toml cargo
crates/pica-matcher/Cargo.toml cargo
  • anyhow 1.0 development
  • criterion 0.5 development
  • nom-test-helpers 6.1 development
  • strsim 0.10
crates/pica-path/Cargo.toml cargo
  • anyhow 1.0 development
  • nom-test-helpers 6.1 development
crates/pica-record/Cargo.toml cargo
  • anyhow 1.0 development
  • criterion 0.5 development
  • nom-test-helpers 6.1 development
crates/pica-record/fuzz/Cargo.toml cargo
crates/pica-select/Cargo.toml cargo
  • nom-test-helpers 6.1 development
crates/pica-select/fuzz/Cargo.toml cargo
crates/pica-toolkit/Cargo.toml cargo
  • assert_cmd 2.0 development
  • predicates 3.0 development
  • quickcheck 1.0 development
  • quickcheck_macros 1.0 development
  • tempfile 3.7 development
  • trycmd 0.14 development
  • directories 5.0
  • indicatif 0.17
  • quick-xml 0.30
  • strsim 0.10
  • termcolor 1.2
  • unicode-normalization 0.1
crates/pica-utils/Cargo.toml cargo
crates/pica-matcher/fuzz/Cargo.toml cargo
crates/pica-path/fuzz/Cargo.toml cargo