Skip to main content
Help improve PyPI by participating in a 5-minute user interface survey!

Semantic Mediawiki Python Binding

Project Description

Sematic MediaWiki Python binding

This package depends on the mwclient 0.7 development version

https://github.com/mwclient/mwclient.git

To install (will install mwclient 0.7dev automatically)

pip install smw

Or install from github

pip install git+git://github.com/baojie/smw.git

Usage example

from smw.SemanticMediaWiki import SemanticMediaWiki

# change this to your wiki's config
config = {
    "host": "www.foo.com",
    "path": "/wiki/",
    "http_login": None,
    "http_pass": None,
    "wiki_login": None,
    "wiki_pass": None,
}

wiki = SemanticMediaWiki(
    host=config["host"],
    path=config["path"],
    http_login=config["http_login"],
    http_pass=config["http_pass"],
    wiki_login=config["wiki_login"],
    wiki_pass=config["wiki_pass"])

# or from a config file (json)
# default ~/.smwrc
# sample config  https://github.com/baojie/smw/blob/master/smwrc.sample
wiki = SemanticMediaWiki.from_config()

query = r"""
{{#ask:
    [[SMW_PYTHON_TEST::+]]
|?SMW_PYTHON_TEST
|format = json
}}
"""

res = wiki.get_data(query, format='json')
[query_result, query_path] = res
# process query results from SMW >= 1.8.0
items = query_result['results']
for page in items:
    print items[page]

page_name = 'Foo'

# get page metadata in RDF/XML
rdf = wiki.getRDF(page_name)

# get page metadata in JSON, simplified for human readability
json_data = wiki.getJSON(page_name)

# parse any wiki script
result = wiki.parse("'''Hello'''")

# get raw page
# this is useful when query is composed on Special:Ask
html = wiki.get('/wiki/Main_Page')
json_result = wiki.get('/wiki/index.php?title=Special:Ask&q=[[Category:People]]&p[format]=json')

# add semantic annotations
page = wiki.site.Pages['SnowWhite']
old_content = page.edit()
new_content = old_content + "[[Category:Princess]][[friend of::Grumpy]]"
page.save(new_content)

Release history Release notifications

This version
History Node

0.1.3.3

History Node

0.1.3.2

History Node

0.1.3.1

History Node

0.1.3

History Node

0.1.2.1

History Node

0.1.2

History Node

0.1.1

History Node

0.1

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
smw-0.1.3.3-py2.7.egg (10.3 kB) Copy SHA256 hash SHA256 Egg 2.7 Feb 13, 2014
smw-0.1.3.3.tar.gz (6.5 kB) Copy SHA256 hash SHA256 Source None Feb 13, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page