Skip to main content

A lightweight Python library for Store norske leksikon APIs.

Project description

Logo

Actions Status Documentation Status Coverage Status Build Status License: MIT Downloads PyPI

A lightweight Python library for Store norske leksikon APIs

Installation

pip install snldata

Quick Start

Raw JSON

import snldata

R = snldata.SnlSession()
R.search(query="fortolket programmeringsspråk", best=True) #Pick the one with the best rank
print(R.json)

Outputs: the JSON object

{
	"title": "fortolket programmeringsspråk",
	"url": "http://snl.no/fortolket_programmeringsspr%C3%A5k",
	"subject_url": "http://snl.no/.taxonomy/3689",
	"subject_title": "Programmering",
	"xhtml_body": "\u003cdiv\u003e\r\n\u003cp\u003eprogrammeringsspråk som ikke blir kompilert til objekt- eller maskinkode, men fortolket av et eget program på vertsmaskinen.\u003c/p\u003e\r\n\u003cp\u003eFordelen med slike språk er at man kan lage programmer som kan gjøre på mange forskjellige \u003ca class=\"crossref\" href=\"https://snl.no/datamaskin\"\u003edatamaskiner\u003c/a\u003e og \u003ca class=\"crossref\" href=\"https://snl.no/operativsystem\"\u003eoperativsystemer\u003c/a\u003e uten å skreddersy dem for hver enkelt plattform.\u003c/p\u003e\r\n\u003cp\u003eEksempler på fortolkede språk:\u003c/p\u003e\r\n\u003cul\u003e\r\n\u003cli\u003e\u003ca class=\"crossref\" href=\"https://snl.no/Python_-_programmeringsspr%C3%A5k\"\u003ePython\u003c/a\u003e\u003c/li\u003e\r\n\u003cli\u003eJavascript\u003c/li\u003e\r\n\u003cli\u003e\u003ca class=\"crossref\" href=\"https://snl.no/Perl_-_IT\"\u003ePHP\u003c/a\u003e\u003c/li\u003e\r\n\u003cli\u003e\u003ca class=\"crossref\" href=\"https://snl.no/Perl_-_IT\"\u003ePerl\u003c/a\u003e\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\u003c/div\u003e",
	"created_at": "2017-12-12T10:34:18.189+01:00",
	"changed_at": "2017-12-12T10:38:37.626+01:00",
	"license_name": "fri",
	"metadata_license_name": "fri",
	"metadata": {
		"lastname": "",
		"firstname": ""
	},
	"authors": [{
		"full_name": "Henrik Dvergsdal"
	}],
	"images": []
}

Licenses for content from Store norske leksikon

Licence Description Read more
fri Creative Commons CC-BY-SA-3.0 license. Everyone is allowed to share, use, copy and adapt the text as long as the author and Store norske leksikon continues to be credited and the article retains the same free license for further use. Meta
begrenset gjenbruk You can't reuse, republish, or adapt the article without first obtaining the author's permission. Meta

Overview of sites/zones

code Website Note
snl https://snl.no/ Default
nbl https://nbl.snl.no/
sml https://sml.snl.no/
nkl https://nkl.snl.no/
prototyping - Unstable

Query

Easy Query

import snldata

R = snldata.SnlSession()
R.search(query="Ole Ivars", best=True) #Pick the one with the best rank
print(R.url)

Outputs: https://snl.no/Ole_Ivars

import snldata

R = snldata.SnlSession()
R.search(query="Ole Ivars") #Pick the three best results
for val in R.json:
    print(val["simple"] #Summery for each index

Outputs:

0. Ole Ivars (rank 576.6): Ole Ivars er et norsk danseband fra Hamar.
1. Spellemannprisen (rank 25.9): Spellemannprisen er den norske platebransjens årlige prisutdeling for å stimulere og markere plateproduksjonen i Norge.
2. danseband (rank 25.1): Danseband, ensemble som spiller til dans, betegner i dag vanligvis en instrumentbesetning som i pop og rock (vokal, elektrisk gitar og bass, keyboards, trommer, eventuelt også saksofon eller andre blåsere).
###Explaining of the values:
<index of the json file> <title> (rank <rank id>): <first sentence>

Pick the article you want from the example above:

R._get(1)
print(R.title)

Outputs: Spellemannprisen

Advance Query (best for prototyping api)

import snldata

R = snldata.SnlSession()
R.searchV2({"encyclopedia": "snl", "query": "dr. dre", "limit": 3, "offset": 0 }, zone="prototyping", best=True)
print(R.title)

Outputs: Dr. Dre

import snldata

R = snldata.SnlSession()
R.searchV2({"encyclopedia": "snl", "query": "dr. dre", "limit": 3, "offset": 0 }, zone="prototyping")
i = 0
for val in R.json:
    print('{}. {}: {}'.format(i, val['headword'], val["query_quality_explain"]))
    i += 1

Outputs:

0. Dr. Dre: The search string is equal to the article's headword and there is no further clarification
1. hiphop: Match on article text or part of title
2. Eminem: Match on article text or part of title
###Explaining of the values: (the prototyping api allows you to send a lot of parametres)
<index of the json file> <title>: <rank as text>

Pick the article you want from the example above:

R._get(1)
print("Title: {}, Created: {}".format(R.title, R.created_at))

Outputs: Title: hiphop, Created: 2009-02-14T05:15:20.546+01:00

All of the examples uses text that is CC-BY-SA-3.0. By at least one of the following authors: Henrik Dvergsdal, Jon Vidar Bergan, and Audun Kjus Aahlin. Read more about the license: fri gjenbruk.

To-do

  • Fully support taxonomy

Reporting Issues

If you have suggestions, bugs or other issues specific to this library, file them here. Or just send me a pull request.

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

SnlData-0.0.5.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

SnlData-0.0.5-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file SnlData-0.0.5.tar.gz.

File metadata

  • Download URL: SnlData-0.0.5.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.5

File hashes

Hashes for SnlData-0.0.5.tar.gz
Algorithm Hash digest
SHA256 09d6ba2482d3b68cb10b1095c39abd0c11ddbb05e3145a487494c913f73a144c
MD5 a11dbd7d47b907335ceb1042a53f8b78
BLAKE2b-256 63700f60d319151dc7fc9b3c1cf2ed400086fadd5191733bb362e8d8d9d85f56

See more details on using hashes here.

File details

Details for the file SnlData-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: SnlData-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 8.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.5

File hashes

Hashes for SnlData-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 7c4fa1832e38ee0adeedf4a1bbf2691883644719ca3d5cd78e0292140d89118f
MD5 17f1d97c4b253f8c9e2997d6e91df7c0
BLAKE2b-256 9807e6f5c6ead237c2f2f000fc575bcef24153018eca35584491903d9d4b436d

See more details on using hashes here.

Supported by

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