edpop-explorer
Common interface to multiple library catalogues and bibliographical databases
https://github.com/centrefordigitalhumanities/edpop-explorer
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 (16.3%) to scientific vocabulary
Keywords
Repository
Common interface to multiple library catalogues and bibliographical databases
Basic Info
Statistics
- Stars: 4
- Watchers: 5
- Forks: 2
- Open Issues: 17
- Releases: 12
Topics
Metadata Files
README.md
edpop-explorer
Common Python interface to multiple library catalogues and heritage databases, including a commandline tool for exploration.
About
There are many library catalogues and heritage databases nowadays that
have a public API or a downloadable dataset, which makes it possible to
use their data in other applications. However, despite the great
and longstanding efforts to harmonize library data with standards
such as Marc21, BIBFRAME and authority files such as FAST, there is
still too much variety in standards to combine data from different
APIs and downloadable datasets right away. edpop-explorer
aims to provide a common interface to multiple catalogues to
both querying and results, while keeping the original data
available at all times.
edpop-explorer was created as part of the EDPOP project, an
international network that stimulates innovative research on European
popular print culture. In this project, a virtual research environment
(VRE) is being created to gather and annotate metadata of items in popular
print culture. The VRE will rely on edpop-explorer.
[1] https://edpop.wp.hum.uu.nl/
Install
Please note that edpop-explorer is still under active development
and that while it might be useful, the public API is not yet stable.
edpop-explorer can easily be installed from PyPI:
# pip install edpop-explorer
The Python API will then be available for import via the edpop_explorer
package. The commandline tool can be run using the edpopx command.
(On Windows it may be that the edpopx command does not become available
on the path. In that case you can also run it using the command python
-m edpop_explorer.)
EDPOP Explorer comes with a number of pre-installed readers. Most of these readers connect to external APIs. Please take into account that there is always a chance that some readers are (temporarily) not available or that the public interfaces have changed. In the latter case, you are welcome to file an issue or create a fix.
A limited number of pre-installed readers do not work with external APIs but with pre-downloaded databases. Where possible, these databases are automatically downloaded the first time. In case of the USTC reader, an automatic download is not provided but the database file may be obtained from the project team. If this database is not available, an exception will be raised with an indication as to where to put the database file.
Basic usage
Python API
A basic search in the Heritage of the Printed Book database of CERL (HPB) looks like this:
>>> from edpop_explorer.readers import HPBReader
>>> reader = HPBReader()
>>> reader.set_query("gruninger")
>>> reader.fetch() # Start fetching, fetch 10 at a time
>>> reader.number_of_results # Total number of results for query
2134
>>> reader.number_fetched # Number of results that have been fetched so far
10
>>> record = reader.records[0] # A Record object
>>> title = record.title # A Field object
>>> print(title)
The book of the Mainyo-i-khard
>>> graph = record.to_graph() # Get an rdflib graph for this record
>>> print(graph.serialize()) # Get turtle serialization
[] a edpoprec:BibliographicalRecord ;
edpoprec:dating [ a edpoprec:Field ;
edpoprec:originalText "1871" ] ;
edpoprec:fromCatalog <https://dhstatic.hum.uu.nl/edpop-explorer/catalogs/hpb> ;
edpoprec:identifier "UkWE.01.B25967" ;
edpoprec:publicURL "http://hpb.cerl.org/record/UkWE.01.B25967" ;
edpoprec:publisherOrPrinter [ a edpoprec:Field ;
edpoprec:originalText "Carl Grüninger, Augustenstrasse 7 ; Messrs. Trübner and Co., 60 Paternoster Row" ] ;
edpoprec:title [ a edpoprec:Field ;
edpoprec:originalText "The book of the Mainyo-i-khard" ] .
Commandline tool
Start the programme from the command line using the edpopx command:
$ edpopx
To perform a search on a database, give the name of the database followed by the query you want to perform, such as:
# hpb gruninger
Before executing the query, EDPOP Explorer will show the way the query is
transformed before calling the external API. In many cases, including
HPB, the transformed query is exactly the same as the user-inputted query.
After performing the query, you will see the number of results and a
summary of the first ten results. To load more results, use the next command:
# next
The results are numbered. Use the show command to see the contents of a
particular record (use showrdf to see RDF and showraw to see the original
record data converted to YAML):
# show 8
To exit, type Ctrl+D or use the quit command:
# quit
Development
For development purposes, clone the repository and use the --editable
option, and install the optional development dependencies too:
# pip install --editable '.[dev]'
This way, the source code will be read directly from the original directory when running the application and changes will have immediate effect.
Run unit test using pytest:
# pytest
Owner
- Name: Centre for Digital Humanities
- Login: CentreForDigitalHumanities
- Kind: organization
- Email: cdh@uu.nl
- Location: Netherlands
- Website: https://cdh.uu.nl/
- Repositories: 39
- Profile: https://github.com/CentreForDigitalHumanities
Interdisciplinary centre for research and education in computational and data-driven methods in the humanities.
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: EDPOP Explorer
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- name: 'Centre for Digital Humanities, Utrecht University'
website: >-
https://cdh.uu.nl/centre-for-digital-humanities/research-software-lab/
city: Utrecht
country: NL
email: cdh@uu.nl
repository-code: 'https://github.com/CentreForDigitalHumanities/edpop-explorer'
abstract: >-
EDPOP Explorer is a Python library and commandline
application that offers a common interface to multiple
library catalogues and bibliographical databases, such as
the Heritage of the Printed Book Database (HPB), the
Universal Short Title Catalogue (USTC), and the
Bibliothèque nationale de France (BnF). It aims to
normalize the most important information from the metadata
while keeping all original metadata available. The data
can be accessed as RDF data or directly from Python
objects.
keywords:
- linked data
- library catalogues
- bibliographic data
- biographic data
license: BSD-3-Clause
version: 0.14.0
date-released: '2025-08-14'
GitHub Events
Total
- Create event: 11
- Release event: 3
- Issues event: 40
- Watch event: 2
- Delete event: 6
- Member event: 1
- Issue comment event: 25
- Push event: 34
- Pull request review comment event: 35
- Pull request review event: 34
- Pull request event: 13
Last Year
- Create event: 11
- Release event: 3
- Issues event: 40
- Watch event: 2
- Delete event: 6
- Member event: 1
- Issue comment event: 25
- Push event: 34
- Pull request review comment event: 35
- Pull request review event: 34
- Pull request event: 13
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 50
- Total pull requests: 36
- Average time to close issues: 3 months
- Average time to close pull requests: 8 days
- Total issue authors: 4
- Total pull request authors: 2
- Average comments per issue: 0.82
- Average comments per pull request: 0.81
- Merged pull requests: 34
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 26
- Pull requests: 13
- Average time to close issues: 2 months
- Average time to close pull requests: 11 days
- Issue authors: 1
- Pull request authors: 1
- Average comments per issue: 0.73
- Average comments per pull request: 0.23
- Merged pull requests: 11
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- tijmenbaarda (36)
- linguistcrg (6)
- lukavdplas (6)
- jgonggrijp (1)
Pull Request Authors
- tijmenbaarda (39)
- linguistcrg (6)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v3 composite
- actions/setup-python v4 composite
- Pygments *
- SPARQLWrapper *
- appdirs *
- cmd2 *
- colorama platform_system == "Windows"
- pyreadline3 platform_system == "Windows"
- pyyaml *
- rdflib >=7.0.0,<8
- sruthi >=2.0.0,<3
- termcolor *