A Python client library for querying the Registr digitalizace (RDcz) Solr endpoint. This tool provides a typed interface to RDcz data, including documents and issue metadata, and simplifies querying and filtering using composable search expressions.
- Fully typed RDcz document model with Pydantic
- Composable query API based on Solr query syntax
- Query issues or records using RDcz-specific fields and states
- Automatic population of related record states
- Enum-based field/value definitions with alias support
- Integrated with the
solrifyquery and client engine
You can install rdcz directly from GitHub for a specific version tag:
pip install git+https://github.com/moravianlibrary/rdcz-client.git@v1.2.3Replace v1.2.3 with the desired version tag.
To always install the most recent version, use the latest tag:
pip install git+https://github.com/moravianlibrary/rdcz-client.git@latestInstall required dependencies using pip:
pip install -r requirements.txtfrom rdcz import RDczClient, RDczField, RDczState
from solrify import SolrConfig, F
config = SolrConfig(base_url="https://registrdigitalizace.cz/rdcz/search/rdcz/select")
client = RDczClient(config)
# Search for finished issues for a specific record
query = F(RDczField.RecordId, "12345") & F(RDczField.State, RDczState.Finished)
for doc in client.search(query):
print(doc.issue_id, doc.title)issue = client.get_issue("123")
print(issue.title, issue.state)issues = client.get_all_issues("12345")
for issue in issues:
print(issue.volume_year, issue.state)Represents a single document (issue) from RDcz with fields like:
issue_id,record_idbarcode,control_number,nbn,signaturetitle,volume_year,volume_number,bundlestate— current Solr staterecord_state— all known states for the record
Enum-based access to field names like RDczField.Title, RDczField.State, etc.
Enum for standardized digitization states:
FinishedInProgressPlannedRevision