Skip to main content

query data exports from the SLUB catalog

Project description

With slubfind you can query data exports from the SLUB catalog in Python.

This package is based on txpyfind, which enables access to data exports from TYPO3-find.

Installation

… via PyPI

pip install slubfind

… or from GitHub source

pip install git+https://github.com/slub/slubfind.git

Command-Line Usage

After installation, the slubfind command is available (also via python -m slubfind). The base URL defaults to https://katalog.slub-dresden.de.

Query

Execute a search query in app format:

slubfind query "manfred bonitz"

With a facet filter and pagination:

slubfind query "python" --facet "format_de14=Book, E-Book" --page 1 --count 10

Document

Fetch a single document by ID in app format:

slubfind document "0-1132486122"

Scroll

Fetch all results for a query:

slubfind scroll "manfred bonitz" --batch 10

Stream results as JSONL (one JSON object per line), useful for piping:

slubfind scroll "manfred bonitz" --stream | jq .id

Settings

Show TYPO3-find settings:

slubfind settings

Solr Parameters

Show Solr parameters for a query:

slubfind solr-params "manfred bonitz"

Solr Request

Show Solr request URL for a query:

slubfind solr-request "manfred bonitz"

From URL

Use --from-url to query using a SLUB catalog URL instead of individual parameters. This works with query, scroll, solr-params, and solr-request:

slubfind query --from-url "https://katalog.slub-dresden.de/?tx_find_find%5Bq%5D%5Bdefault%5D=manfred+bonitz"
slubfind solr-params --from-url "https://katalog.slub-dresden.de/?tx_find_find%5Bq%5D%5Bdefault%5D=manfred+bonitz"

Show Request URL

Use --show-url to print the request URL instead of fetching the response. This works with all subcommands:

slubfind --show-url query "python" --facet "format_de14=Book, E-Book"
slubfind --show-url document "0-1132486122"
slubfind --show-url scroll "python" --batch 10

Export Format

Use --export-format to select the output format. The default is app.

Fetch a document in JSON-LD format:

slubfind document "0-1132486122" --export-format json-ld

Search in JSON-LD format:

slubfind query "manfred bonitz" --export-format json-ld

Environment Variable

Set SLUBFIND_URL to override the default base URL:

export SLUBFIND_URL=https://katalog.slub-dresden.de
slubfind query "manfred bonitz"

Python Usage Example

from slubfind.client import SlubFind
# create SlubFind instance
slub_find = SlubFind()
# retrieve JSON data (query view, app format)
slub_q = slub_find.app_search("manfred bonitz")
# retrieve JSON data (detail view, app format)
slub_doc = slub_find.app_document("0-1132486122")
# retrieve JSON-LD data (detail view)
slub_jsonld = slub_find.jsonld_document("0-1132486122")
# retrieve JSON-LD data (query view)
slub_jsonld_q = slub_find.jsonld_search("manfred bonitz")

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

slubfind-1.8.0.tar.gz (27.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

slubfind-1.8.0-py3-none-any.whl (21.4 kB view details)

Uploaded Python 3

File details

Details for the file slubfind-1.8.0.tar.gz.

File metadata

  • Download URL: slubfind-1.8.0.tar.gz
  • Upload date:
  • Size: 27.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for slubfind-1.8.0.tar.gz
Algorithm Hash digest
SHA256 0cb5c649358ca4adb5e0bbd903092b5c1bd6d94a1d8f16070e52b6fbf97b595d
MD5 abdc650734f54abceb9073f7aab32641
BLAKE2b-256 80957c30ac3cf80e7865c1b02a43dda140dcb2ee6284f46510151bd132cf1407

See more details on using hashes here.

File details

Details for the file slubfind-1.8.0-py3-none-any.whl.

File metadata

  • Download URL: slubfind-1.8.0-py3-none-any.whl
  • Upload date:
  • Size: 21.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for slubfind-1.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d7453dcb00c2c3847da4dd9748eaf3e62a6bd9191299294e5aec43bc9289a26a
MD5 cf1149f4da7d0e5acc40be9664034faf
BLAKE2b-256 cccc403fd8e6024c10f48fec9ebe2b552c466b0d5aac10d311e6193f404d019b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page