Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/samuelmeuli/python-wikibase
🤖 Wikibase queries and edits made easy
https://github.com/samuelmeuli/python-wikibase
api-wrapper mediawiki mediawiki-api wikibase wikibase-api wikidata wikidata-bot
Last synced: 17 days ago
JSON representation
🤖 Wikibase queries and edits made easy
- Host: GitHub
- URL: https://github.com/samuelmeuli/python-wikibase
- Owner: samuelmeuli
- License: other
- Archived: true
- Created: 2018-11-27T12:43:23.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2020-02-09T15:18:50.000Z (almost 5 years ago)
- Last Synced: 2024-12-17T01:12:01.794Z (about 2 months ago)
- Topics: api-wrapper, mediawiki, mediawiki-api, wikibase, wikibase-api, wikidata, wikidata-bot
- Language: Python
- Homepage:
- Size: 153 KB
- Stars: 11
- Watchers: 3
- Forks: 5
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# python-wikibase
**`python-wikibase` provides an object-oriented abstraction of the [Wikibase API](https://www.wikidata.org/w/api.php?action=help).**
The library simplifies the authentication process and can be used to query and edit information on Wikidata or any other Wikibase instance.
## Installation
```sh
pip install python-wikibase
```## Usage
Simple example for adding a coordinate location claim to an existing Wikibase item:
```py
from python_wikibase import PyWikibase# Authenticate with Wikibase
py_wb = PyWikibase(config_path="config.json")# Fetch item and "coordinate location" property
item = py_wb.Item().get(entity_id="item label")
prop = py_wb.Property().get(entity_id="coordinate location")# Create new GeoLocation value
value = py_wb.GeoLocation().create(1.23, 4.56)# Create GeoLocation claim
claim = item.claims.add(prop, value)
```**See the [documentation](./docs/usage.md) for descriptions and examples of all commands.**
## Authentication
The `PyWikibase` class takes the same authentication and configuration parameters as the `WikibaseApi` class from the [`wikibase-api`](https://github.com/samuelmeuli/wikibase-api) library (which is used internally). See [its documentation](https://wikibase-api.readthedocs.io/en/latest/getting_started/installation_and_usage.html#edits) for a guide on how to authenticate with Wikibase.
## Development
### Contributing
Suggestions and contributions are always welcome! Please discuss larger changes via issue before submitting a pull request.
### Setup
See [this guide](https://wikibase-api.readthedocs.io/en/latest/development/development.html) on how to set up a development environment for this package.
## Related
- [`wikibase-api`](https://github.com/samuelmeuli/wikibase-api) – Wrapper library for the Wikibase API