{"id":24513625,"url":"https://github.com/andrewtavis/wikirepo","last_synced_at":"2025-04-14T08:50:49.880Z","repository":{"id":44339408,"uuid":"319139462","full_name":"andrewtavis/wikirepo","owner":"andrewtavis","description":"Python based Wikidata framework for easy dataframe extraction","archived":false,"fork":false,"pushed_at":"2023-11-24T20:01:41.000Z","size":1753,"stargazers_count":43,"open_issues_count":3,"forks_count":6,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-27T22:22:13.322Z","etag":null,"topics":["analytics","data-analysis","data-science","data-structures","database","demography","economics","elt","etl","geography","open-source","political-science","python","python3","repository","social-sciences","sociology","statistics","wikidata","wikipedia"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andrewtavis.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-12-06T21:54:26.000Z","updated_at":"2025-03-04T21:33:13.000Z","dependencies_parsed_at":"2023-12-16T20:06:39.939Z","dependency_job_id":"ad546b62-e792-4252-8e2c-341eb0886d11","html_url":"https://github.com/andrewtavis/wikirepo","commit_stats":{"total_commits":163,"total_committers":4,"mean_commits":40.75,"dds":"0.030674846625766916","last_synced_commit":"5618479c0065dacce2f682441ae6072120b15865"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewtavis%2Fwikirepo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewtavis%2Fwikirepo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewtavis%2Fwikirepo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewtavis%2Fwikirepo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andrewtavis","download_url":"https://codeload.github.com/andrewtavis/wikirepo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248852079,"owners_count":21171837,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["analytics","data-analysis","data-science","data-structures","database","demography","economics","elt","etl","geography","open-source","political-science","python","python3","repository","social-sciences","sociology","statistics","wikidata","wikipedia"],"created_at":"2025-01-22T00:55:44.249Z","updated_at":"2025-04-14T08:50:49.826Z","avatar_url":"https://github.com/andrewtavis.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/andrewtavis/wikirepo\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/andrewtavis/wikirepo/main/.github/resources/logo/wikirepo_logo_transparent.png\" width=506 height=304\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n\u003col\u003e\u003c/ol\u003e\n\n[![rtd](https://img.shields.io/readthedocs/wikirepo.svg?logo=read-the-docs)](http://wikirepo.readthedocs.io/en/latest/)\n[![ci](https://img.shields.io/github/actions/workflow/status/andrewtavis/wikirepo/.github/workflows/ci.yml?branch=main?logo=github)](https://github.com/andrewtavis/wikirepo/actions?query=workflow%3ACI)\n[![codecov](https://codecov.io/gh/andrewtavis/wikirepo/branch/main/graphs/badge.svg)](https://codecov.io/gh/andrewtavis/wikirepo)\n[![pyversions](https://img.shields.io/pypi/pyversions/wikirepo.svg?logo=python\u0026logoColor=FFD43B\u0026color=306998)](https://pypi.org/project/wikirepo/)\n[![pypi](https://img.shields.io/pypi/v/wikirepo.svg?color=4B8BBE)](https://pypi.org/project/wikirepo/)\n[![pypistatus](https://img.shields.io/pypi/status/wikirepo.svg)](https://pypi.org/project/wikirepo/)\n[![license](https://img.shields.io/github/license/andrewtavis/wikirepo.svg)](https://github.com/andrewtavis/wikirepo/blob/main/LICENSE.txt)\n[![coc](https://img.shields.io/badge/coc-Contributor%20Covenant-ff69b4.svg)](https://github.com/andrewtavis/wikirepo/blob/main/.github/CODE_OF_CONDUCT.md)\n[![codestyle](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\n## Python based Wikidata framework for easy dataframe extraction\n\n**wikirepo** is a Python package that provides a framework to easily source and leverage standardized [Wikidata](https://www.wikidata.org/) information. The goal is to create an intuitive interface so that Wikidata can function as a common read-write repository for public statistics.\n\nSee the [documentation](http://wikirepo.readthedocs.io/en/latest/) for a full outline of the package including usage and available data.\n\n\u003ca id=\"contents\"\u003e\u003c/a\u003e\n\n# **Contents**\n\n- [Installation](#installation)\n- [Data](#data)\n  - [Query Data](#query-data)\n  - [Upload Data (WIP)](#upload-data)\n- [Maps (WIP)](#maps-wip)\n- [Examples](#examples)\n- [To-Do](#to-do)\n\n\u003ca id=\"installation\"\u003e\u003c/a\u003e\n\n# Installation [`⇧`](#contents)\n\nwikirepo can be downloaded from PyPI via pip or sourced directly from this repository:\n\n```bash\npip install wikirepo\n```\n\n```bash\ngit clone https://github.com/andrewtavis/wikirepo.git\ncd wikirepo\npython setup.py install\n```\n\n```python\nimport wikirepo\n```\n\n\u003ca id=\"data\"\u003e\u003c/a\u003e\n\n# Data [`⇧`](#contents)\n\nwikirepo's data structure is built around [Wikidata.org](https://www.wikidata.org/). Human-readable access to Wikidata statistics is achieved through converting requests into Wikidata's Quantity IDs (QIDs) and Property IDs (PIDs), with the Python package [wikidata](https://github.com/dahlia/wikidata) serving as a basis for data loading and indexing. See the [documentation](https://wikirepo.readthedocs.io/en/latest/) for a structured overview of the currently available properties.\n\n\u003ca id=\"query-data\"\u003e\u003c/a\u003e\n\n## Query Data [`⇧`](#contents)\n\nwikirepo's main access function, [wikirepo.data.query](https://github.com/andrewtavis/wikirepo/blob/main/src/wikirepo/data/query.py), returns a `pandas.DataFrame` of locations and property data across time.\n\nEach query needs the following inputs:\n\n- **locations**: the locations that data should be queried for\n  - Strings are accepted for `Earth`, continents, and countries\n  - Get all country names with `wikirepo.data.incl_lctn_lbls(lctn_lvls='country')`\n  - The user can also pass Wikidata QIDs directly\n- **depth**: the geographic level of the given locations to query\n  - A depth of 0 is the locations themselves\n  - Greater depths correspond to lower geographic levels (states of countries, etc.)\n  - A dictionary of locations is generated for lower depths (see second example below)\n- **timespan**: start and end `datetime.date` objects defining when data should come from\n  - If not provided, then the most recent data will be retrieved with annotation for when it's from\n- **interval**: `yearly`, `monthly`, `weekly`, or `daily` as strings\n- **Further arguments**: the names of modules in [wikirepo/data](https://github.com/andrewtavis/wikirepo/tree/main/src/wikirepo/data) directories\n  - These are passed to arguments corresponding to their directories\n  - Data will be queried for these properties for the given `locations`, `depth`, `timespan` and `interval`, with results being merged as dataframe columns\n\nQueries are also able to access information in Wikidata sub-pages for locations. For example: if inflation rate is not found on the location's main page, then wikirepo checks the location's economic topic page as [inflation_rate.py](https://github.com/andrewtavis/wikirepo/blob/main/src/wikirepo/data/economic/inflation_rate.py) is found in [wikirepo/data/economic](https://github.com/andrewtavis/wikirepo/tree/main/src/wikirepo/data/economic) (see [Germany](https://www.wikidata.org/wiki/Q183) and [economy of Germany](https://www.wikidata.org/wiki/Q8046)).\n\nwikirepo further provides a unique dictionary class, `EntitiesDict`, that stores all loaded Wikidata entities during a query. This speeds up data retrieval, as entities are loaded once and then accessed in the `EntitiesDict` object for any other needed properties.\n\nExamples of [wikirepo.data.query](https://github.com/andrewtavis/wikirepo/blob/main/src/wikirepo/data/query.py) follow:\n\n#### Querying Information for Given Countries\n\n```python\nimport wikirepo\nfrom wikirepo.data import wd_utils\nfrom datetime import date\n\nents_dict = wd_utils.EntitiesDict()\n# Strings must match their Wikidata English page names\ncountries = [\"Germany\", \"United States of America\", \"People's Republic of China\"]\n# countries = [\"Q183\", \"Q30\", \"Q148\"] # we could also pass QIDs\n# data.incl_lctn_lbls(lctn_lvls='country') # or all countries`\ndepth = 0\ntimespan = (date(2009, 1, 1), date(2010, 1, 1))\ninterval = \"yearly\"\n\ndf = wikirepo.data.query(\n    ents_dict=ents_dict,\n    locations=countries,\n    depth=depth,\n    timespan=timespan,\n    interval=interval,\n    climate_props=None,\n    demographic_props=[\"population\", \"life_expectancy\"],\n    economic_props=\"median_income\",\n    electoral_poll_props=None,\n    electoral_result_props=None,\n    geographic_props=None,\n    institutional_props=\"human_dev_idx\",\n    political_props=\"executive\",\n    misc_props=None,\n    verbose=True,\n)\n\ncol_order = [\n    \"location\",\n    \"qid\",\n    \"year\",\n    \"executive\",\n    \"population\",\n    \"life_exp\",\n    \"human_dev_idx\",\n    \"median_income\",\n]\ndf = df[col_order]\n\ndf.head(6)\n```\n\n| location                   |  qid | year |      executive |  population | life_exp | human_dev_idx | median_income |\n| :------------------------- | ---: | ---: | -------------: | ----------: | -------: | ------------: | ------------: |\n| Germany                    | Q183 | 2010 |  Angela Merkel |  8.1752e+07 |  79.9878 |         0.921 |         33333 |\n| Germany                    | Q183 | 2009 |  Angela Merkel |         nan |  79.8366 |         0.917 |           nan |\n| United States of America   |  Q30 | 2010 |   Barack Obama | 3.08746e+08 |  78.5415 |         0.914 |         43585 |\n| United States of America   |  Q30 | 2009 | George W. Bush |         nan |  78.3902 |          0.91 |           nan |\n| People's Republic of China | Q148 | 2010 |     Wen Jiabao | 1.35976e+09 |   75.236 |         0.706 |           nan |\n| People's Republic of China | Q148 | 2009 |     Wen Jiabao |         nan |   75.032 |         0.694 |           nan |\n\n#### Querying Information for all US Counties\n\n```python\n# Note: \u003e3000 regions, expect a 45 minute runtime\nimport wikirepo\nfrom wikirepo.data import lctn_utils, wd_utils\nfrom datetime import date\n\nents_dict = wd_utils.EntitiesDict()\ncountry = \"United States of America\"\n# country = \"Q30\" # we could also pass its QID\ndepth = 2  # 2 for counties, 1 for states and territories\nsub_lctns = True  # for all\n# Only valid sub-locations given the timespan will be queried\ntimespan = (date(2016, 1, 1), date(2018, 1, 1))\ninterval = \"yearly\"\n\nus_counties_dict = lctn_utils.gen_lctns_dict(\n    ents_dict=ents_dict,\n    locations=country,\n    depth=depth,\n    sub_lctns=sub_lctns,\n    timespan=timespan,\n    interval=interval,\n    verbose=True,\n)\n\ndf = wikirepo.data.query(\n    ents_dict=ents_dict,\n    locations=us_counties_dict,\n    depth=depth,\n    timespan=timespan,\n    interval=interval,\n    climate_props=None,\n    demographic_props=\"population\",\n    economic_props=None,\n    electoral_poll_props=None,\n    electoral_result_props=None,\n    geographic_props=\"area\",\n    institutional_props=\"capital\",\n    political_props=None,\n    misc_props=None,\n    verbose=True,\n)\n\ndf[df[\"population\"].notnull()].head(6)\n```\n\n| location                 |   sub_lctn |        sub_sub_lctn |     qid | year |  population | area_km2 |      capital |\n| :----------------------- | ---------: | ------------------: | ------: | ---: | ----------: | -------: | -----------: |\n| United States of America | California |      Alameda County | Q107146 | 2018 |  1.6602e+06 |     2127 |      Oakland |\n| United States of America | California | Contra Costa County | Q108058 | 2018 | 1.14936e+06 |     2078 |     Martinez |\n| United States of America | California |        Marin County | Q108117 | 2018 |      263886 |     2145 |   San Rafael |\n| United States of America | California |         Napa County | Q108137 | 2018 |      141294 |     2042 |         Napa |\n| United States of America | California |    San Mateo County | Q108101 | 2018 |      774155 |     1919 | Redwood City |\n| United States of America | California |  Santa Clara County | Q110739 | 2018 |  1.9566e+06 |     3377 |     San Jose |\n\n\u003ca id=\"upload-data\"\u003e\u003c/a\u003e\n\n## Upload Data (WIP) [`⇧`](#contents)\n\n[wikirepo.data.upload](https://github.com/andrewtavis/wikirepo/blob/main/src/wikirepo/data/upload.py) will be the core of the eventual wikirepo upload feature. The goal is to record edits that a user makes to a previously queried or baseline dataframe such that these changes can then be pushed back to Wikidata. With the addition of Wikidata login credentials as a wikirepo feature (WIP), the unique information in the edited dataframe could then be uploaded to Wikidata for all to use.\n\nThe same process used to query information from Wikidata could be reversed for the upload process. Dataframe columns could be linked to their corresponding Wikidata properties, whether the time qualifiers are a [point in time](https://www.wikidata.org/wiki/Property:P585) or spans using [start time](https://www.wikidata.org/wiki/Property:P580) and [end time](https://www.wikidata.org/wiki/Property:P582) could be derived through the defined variables in the module header, and other necessary qualifiers for proper data indexing could also be included. Source information could also be added in corresponding columns to the given property edits.\n\n`Pseudocode` for how this process could function follows:\n\nIn the first example, changes are made to a `df.copy()` of a queried dataframe. [pandas](https://github.com/pandas-dev/pandas) is then used to compare the new and original dataframes after the user has added information that they have access to.\n\n```python\nimport wikirepo\nfrom wikirepo.data import lctn_utils, wd_utils\nfrom datetime import date\n\ncredentials = wd_utils.login()\n\nents_dict = wd_utils.EntitiesDict()\ncountry = \"Country Name\"\ndepth = 2\nsub_lctns = True\ntimespan = (date(2000,1,1), date(2018,1,1))\ninterval = 'yearly'\n\nlctns_dict = lctn_utils.gen_lctns_dict()\n\ndf = wikirepo.data.query()\ndf_copy = df.copy()\n\n# The user checks for NaNs and adds data\n\ndf_edits = pd.concat([df, df_copy]).drop_duplicates(keep=False)\n\nwikirepo.data.upload(df_edits, credentials)\n```\n\nIn the next example `data.data_utils.gen_base_df` is used to create a dataframe with dimensions that match a time series that the user has access to. The data is then added to the column that corresponds to the property to which it should be added. Source information could further be added via a structured dictionary generated for the user.\n\n```python\nimport wikirepo\nfrom wikirepo.data import data_utils, wd_utils\nfrom datetime import date\n\ncredentials = wd_utils.login()\n\nlocations = \"Country Name\"\ndepth = 0\n# The user defines the time parameters based on their data\ntimespan = (date(1995,1,2), date(2010,1,2)) # (first Monday, last Sunday)\ninterval = 'weekly'\n\nbase_df = data_utils.gen_base_df()\nbase_df['data'] = data_for_matching_time_series\n\nsource_data = wd_utils.gen_source_dict('Source Information')\nbase_df['data_source'] = [source_data] * len(base_df)\n\nwikirepo.data.upload(base_df, credentials)\n```\n\nPut simply: a full featured [wikirepo.data.upload](https://github.com/andrewtavis/wikirepo/blob/main/src/wikirepo/data/upload.py) function would realize the potential of a single read-write repository for all public information.\n\n\u003ca id=\"maps-wip\"\u003e\u003c/a\u003e\n\n# Maps (WIP) [`⇧`](#contents)\n\n[wikirepo/maps](https://github.com/andrewtavis/wikirepo/tree/main/src/wikirepo/maps) is a further goal of the project, as it combines wikirepo's focus on easy to access open source data and quick high level analytics.\n\n### • Query Maps\n\nAs in [wikirepo.data.query](https://github.com/andrewtavis/wikirepo/blob/main/src/wikirepo/data/query.py), passing the `locations`, `depth`, `timespan` and `interval` arguments could access GeoJSON files stored on Wikidata, thus providing mapping files in parallel to the user's data. These files could then be leveraged using existing Python plotting libraries to provide detailed presentations of geographic analysis.\n\n### • Upload Maps\n\nSimilar to the potential of adding statistics through [wikirepo.data.upload](https://github.com/andrewtavis/wikirepo/blob/main/src/wikirepo/data/upload.py), GeoJSON map files could also be uploaded to Wikidata using appropriate arguments. The potential exists for a myriad of variable maps given `locations`, `depth`, `timespan` and `interval` information that would allow all wikirepo users to get the exact mapping file that they need for their given task.\n\n\u003ca id=\"examples\"\u003e\u003c/a\u003e\n\n# Examples [`⇧`](#contents)\n\nwikirepo can be used as a foundation for countless projects, with its usefulness and practicality only improving as more properties are added and more data is uploaded to [Wikidata](https://www.wikidata.org/).\n\nCurrent usage examples include:\n\n- Sample notebooks for the Python package [poli-sci-kit](https://github.com/andrewtavis/poli-sci-kit) show how to use wikirepo as a basis for political election and parliamentary appointment analysis, with those notebooks being found in the [examples for poli-sci-kit](https://github.com/andrewtavis/poli-sci-kit/tree/main/examples) or on [Google Colab](https://colab.research.google.com/github/andrewtavis/poli-sci-kit)\n- Pull requests with other examples will gladly be accepted\n\n\u003ca id=\"to-do\"\u003e\u003c/a\u003e\n\n# To-Do [`⇧`](#contents)\n\nPlease see the [contribution guidelines](https://github.com/andrewtavis/wikirepo/blob/main/.github/CONTRIBUTING.md) if you are interested in contributing to this project. Work that is in progress or could be implemented includes:\n\n## Expanding wikirepo\n\n- Creating an outline of the package's structure for the readme [(see issue)](https://github.com/andrewtavis/wikirepo/issues/18)\n\n- Integrating current Python tools with wikirepo structures for uploads to Wikidata\n\n- Adding a query of property descriptions to `data.data_utils.incl_dir_idxs` [(see issue)](https://github.com/andrewtavis/wikirepo/issues/15)\n\n- Adding multiprocessing support to the [wikirepo.data.query](https://github.com/andrewtavis/wikirepo/blob/main/src/wikirepo/data/query.py) process and `data.lctn_utils.gen_lctns_dict`\n\n- Potentially converting [wikirepo.data.query](https://github.com/andrewtavis/wikirepo/blob/main/src/wikirepo/data/query.py) and `data.lctn_utils.gen_lctns_dict` over to generated Wikidata SPARQL queries\n\n- Optimizing [wikirepo.data.query](https://github.com/andrewtavis/wikirepo/blob/main/src/wikirepo/data/query.py):\n\n  - Potentially converting `EntitiesDict` and `LocationsDict` to slotted object classes for memory savings\n  - Deriving and optimizing other slow parts of the query process\n\n- Adding access to GeoJSON files for mapping via [wikirepo.maps.query](https://github.com/andrewtavis/wikirepo/blob/main/src/wikirepo/maps/query.py)\n\n- Designing and adding GeoJSON files indexed by time properties to Wikidata\n\n- Creating, improving and sharing [examples](https://github.com/andrewtavis/wikirepo/tree/main/examples)\n\n- Improving [tests](https://github.com/andrewtavis/wikirepo/tree/main/tests) for greater [code coverage](https://codecov.io/gh/andrewtavis/wikirepo)\n\n- Improving [code quality](https://app.codacy.com/gh/andrewtavis/wikirepo/dashboard) by refactoring large functions and checking conventions\n\n## Expanding Wikidata\n\nThe growth of wikirepo's database relies on that of [Wikidata](https://www.wikidata.org/). Through `data.wd_utils.dir_to_topic_page` wikirepo can access properties on location sub-pages, thus allowing for statistics on any topic to be linked to. Beyond including entries for already existing properties (see [this issue](https://github.com/andrewtavis/wikirepo/issues/16)), the following are examples of property types that could be added:\n\n- Climate statistics could be added to [data/climate](https://github.com/andrewtavis/wikirepo/tree/main/src/wikirepo/data/climate)\n\n  - This would allow for easy modeling of global warming and its effects\n  - Planning would be needed for whether lower intervals would be necessary, or just include daily averages\n\n- Those for electoral [polling](https://github.com/andrewtavis/wikirepo/tree/main/src/wikirepo/data/electoral_polls) and [results](https://github.com/andrewtavis/wikirepo/tree/main/src/wikirepo/data/electoral_results) for locations\n\n  - This would allow direct access to all needed election information in a single function call\n\n- A property that links political parties and their regions in [data/political](https://github.com/andrewtavis/wikirepo/tree/main/src/wikirepo/data/political)\n\n  - For easy professional presentation of electoral results (ex: loading in party hex colors, abbreviations, and alignments)\n\n- [data/demographic](https://github.com/andrewtavis/wikirepo/tree/main/src/wikirepo/data/demographic) properties such as:\n\n  - age, education, religious, and linguistic diversities across time\n\n- [data/economic](https://github.com/andrewtavis/wikirepo/tree/main/src/wikirepo/data/economic) properties such as:\n\n  - female workforce participation, workforce industry diversity, wealth diversity, and total working age population across time\n\n- Distinct properties for Freedom House and Press Freedom indexes, as well as other descriptive metrics\n  - These could be added to [data/institutional](https://github.com/andrewtavis/wikirepo/tree/main/src/wikirepo/data/institutional)\n\n# Similar Projects\n\n\u003cdetails\u003e\u003csummary\u003e\u003cstrong\u003ePython\u003c/strong\u003e\u003c/summary\u003e\n\u003cp\u003e\n\n- https://github.com/dahlia/wikidata\n- https://github.com/RDFLib/sparqlwrapper\n- https://github.com/SuLab/WikidataIntegrator\n- https://github.com/siznax/wptools\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003e\u003cstrong\u003eJavaScript\u003c/strong\u003e\u003c/summary\u003e\n\u003cp\u003e\n\n- https://github.com/maxlath/wikibase-cli\n- https://github.com/maxlath/wikibase-edit\n- https://github.com/maxlath/wikibase-dump-filter\n- https://github.com/maxlath/wikibase-sdk\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003e\u003cstrong\u003eJava\u003c/strong\u003e\u003c/summary\u003e\n\u003cp\u003e\n\n- https://github.com/Wikidata/Wikidata-Toolkit\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n# Powered By\n\n\u003cdiv align=\"center\"\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://www.wikidata.org/\"\u003e\u003cimg height=\"175\" src=\"https://raw.githubusercontent.com/andrewtavis/wikirepo/main/.github/resources/images/wikidata_logo.png\" alt=\"Wikidata\"\u003e\u003c/a\u003e\n  \u003cbr\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewtavis%2Fwikirepo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrewtavis%2Fwikirepo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewtavis%2Fwikirepo/lists"}