Skip to main content

A set of utilities for connecting to and querying a MediaWiki database.

Project description

# MediaWiki database

This library provides a set of utilities for connecting to and querying a MediaWiki database.

The Schema() object is a thin wrapper around a sqlalchemy Engine and Meta adapts to the local database setup. When using Schema() member table ORM, the internal mapping will translate between public replicas views (e.g. revision_userindex, logging_userindex and logging_logindex) transparently. This allows you to write one query that will run as expected on either schema.

At the moment, the execute() method does not make any such conversion, but a helper attribute public_replica that is True when querying a views via public replica and False when querying the production database.

## Example

>>> import mwdb
>>> enwiki = mwdb.Schema("mysql+pymysql://enwiki.labsdb/enwiki_p" +
...                      "?read_default_file=~/replica.my.cnf")
>>> enwiki.public_replica
True
>>>
>>> with enwiki.transaction() as session:
...     print(session.query(enwiki.revision_userindex)
...           .filter_by(rev_user_text="EpochFail")
...           .count())
...
4302
>>> result = enwiki.execute("SELECT COUNT(*) FROM revision_userindex " +
...                         "WHERE rev_user=:user_id",
...                         {'user_id': 6396742})
>>>
>>> print(result.fetchone())
(4302,)

## Authors * Aaron Halfaker – https://github.com/halfak

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

mwdb-0.1.2.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

mwdb-0.1.2-py2.py3-none-any.whl (8.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file mwdb-0.1.2.tar.gz.

File metadata

  • Download URL: mwdb-0.1.2.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for mwdb-0.1.2.tar.gz
Algorithm Hash digest
SHA256 a38082c84b33a88df22385362fed65ae31613dd0d5f7dc57ed76583b7fcdc04b
MD5 72f42c0bcb97dde9b38fc935e7e47677
BLAKE2b-256 b10b8ecf93fedff241ae3200bcfdb1ef8de2f00f23d01c51b728bb450f6e0a43

See more details on using hashes here.

File details

Details for the file mwdb-0.1.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for mwdb-0.1.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 14e5d2add1a9e0fe8759e70164147b7df80d02153a11eec3f7181989079d420e
MD5 e60ba0e8a8e821f9e3f4e8ddd3be799e
BLAKE2b-256 abef840d6172bec7074147264b6fa1fe9ac3e42c403bb72b61ad7fb8d704426e

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