Metadata-Version: 2.1
Name: NFDInspector
Version: 0.1.0
Summary: A Python package to inspect formal quality problems in research data.
Home-page: https://github.com/henry-angleman/nfdinspector
Author: Andreas Ketelaer
Author-email: Andreas Ketelaer <andreas.ketelaer@bergbaumuseum.de>
License: Copyright (c) 2024 Andreas Ketelaer
        
        This program is free software: you can redistribute it and/or modify
        it under the terms of the GNU General Public License as published by
        the Free Software Foundation, either version 3 of the License, or
        (at your option) any later version.
        
        This program is distributed in the hope that it will be useful,
        but WITHOUT ANY WARRANTY; without even the implied warranty of
        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        GNU General Public License for more details.
        
        You should have received a copy of the GNU General Public License
        along with this program.  If not, see <https://www.gnu.org/licenses/>.
Project-URL: Homepage, https://github.com/montan-code/nfdinspector
Project-URL: Bug Tracker, https://github.com/montan-code/nfdinspector/issues
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE

# NFDInspector


A Python package to inspect formal quality problems in research data (currently compatible metadata standards: LIDO and EAD). Funded by the "4Memory Incubator Funds" of the consortium NFDI4Memory and maintained by the Montanhistorisches Dokumentationszentrum (montan.dok) of the Deutsches Bergbau-Museum Bochum.

## Installation

To install with pip on macOS or Linux, run:

    python3 -m pip install nfdinspector

To install with pip on Windows, run:

    py -m pip install nfdinspector

## Quickstart Guide

### LIDO inspection

Initialize a LIDOInspector. You can specify a language (currently available: "en" or "de") for the error messages:

    lido_inspector = LIDOInspector(lang="de")

Read LIDO files you want to inspect:

    lido_inspector.read_lido_files("files_path")

Read a configuration file (optional). Without this step the inspections are executed with a default configuration:

    lido_inspector.config_file("file_path")

Execute the inspections:

    lido_inspector.inspect()

Save the inspections as a JSON file:

    lido_inspector.to_json("file_path")

Save the inspections as a CSV file. You can specify a field separator/delimiter (default: ","):

    lido_inspector.to_csv("file_path", delimiter=";")


### EAD inspection

Initialize an EADInspector. You can specify a language (currently available: "en" or "de") for the error messages:

    ead_inspector = LIDOInspector(lang="en")

Read EAD file you want to inspect:

    ead_inspector.read_ead_file("file_path")

Read a configuration file (optional). Without this step the inspections are executed with a default configuration. It is highly recommended to use different configuration files for archive tectonics and finding aids:

    ead_inspector.config_file("file_path")

Execute the inspection:

    ead_inspector.inspect()

Save the inspection as a JSON file:
    
    ead_inspector.to_json("file_path")

Save the inspections as a CSV file. You can specify a field separator/delimiter (default: ","):

    ead_inspector.to_csv("file_path", delimiter=";")   

## Contribute

If you'd like to contribute to NFDInspector, check out https://github.com/montan-code/nfdinspector
