{"id":13586591,"url":"https://github.com/JonathanVusich/pcpartpicker","last_synced_at":"2025-04-07T18:34:09.462Z","repository":{"id":47369735,"uuid":"155808201","full_name":"JonathanVusich/pcpartpicker","owner":"JonathanVusich","description":"This is an unofficial API for the website pcpartpicker.com.","archived":false,"fork":false,"pushed_at":"2021-02-26T02:18:10.000Z","size":150,"stargazers_count":80,"open_issues_count":5,"forks_count":7,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-05-03T22:43:48.460Z","etag":null,"topics":["pcpartpicker","pip","pypi","python3","webscraper"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JonathanVusich.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-11-02T03:17:19.000Z","updated_at":"2024-04-07T20:36:10.000Z","dependencies_parsed_at":"2022-08-19T16:50:06.240Z","dependency_job_id":null,"html_url":"https://github.com/JonathanVusich/pcpartpicker","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonathanVusich%2Fpcpartpicker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonathanVusich%2Fpcpartpicker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonathanVusich%2Fpcpartpicker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonathanVusich%2Fpcpartpicker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JonathanVusich","download_url":"https://codeload.github.com/JonathanVusich/pcpartpicker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247707713,"owners_count":20982830,"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":["pcpartpicker","pip","pypi","python3","webscraper"],"created_at":"2024-08-01T15:05:40.048Z","updated_at":"2025-04-07T18:34:09.220Z","avatar_url":"https://github.com/JonathanVusich.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# pcpartpicker\n\n[![Build Status](https://travis-ci.org/JonathanVusich/pcpartpicker.svg?branch=master)](https://travis-ci.org/JonathanVusich/pcpartpicker)\n[![Coverage Status](https://coveralls.io/repos/github/JonathanVusich/pcpartpicker/badge.svg?branch=master\u0026kill_cache=1)](https://coveralls.io/github/JonathanVusich/pcpartpicker?branch=master\u0026kill_cache=1)\n![](https://img.shields.io/pypi/dm/pcpartpicker.svg)\n\nThis is an unofficial Python 3.7+ API for the website pcpartpicker.com.\nIt is written using asynchronous requests for efficient data retrieval. \nThis package is currently in a stable beta.\n\n## Installation:\nPackage retrieval and installation can be easily accomplished through pip.\n```python\npip install pcpartpicker\n```\n\n## Examples:\nIn order to use the API, simply import API from the pcpartpicker package.\n```python\nfrom pcpartpicker import API\n```\nYou can then instantiate the API class and use it to make requests.\n```python\napi = API()\ncpu_data = api.retrieve(\"cpu\")\nall_data = api.retrieve_all()\n```\n`api.retrieve()` and `api.retrieve_all()` methods both return a `PartData` instance, which contains a timestamp and a `to_json()` method. \n\nA list of supported parts can be obtained in the following manner:\n```python\napi = API()\nprint(api.supported_parts)\n\u003e\u003e\u003e {'wireless-network-card', 'case-fan', 'cpu', 'cpu-cooler', 'headphones', 'motherboard', 'monitor', 'internal-hard-drive', 'external-hard-drive', 'ups', 'fan-controller', 'case', 'keyboard', 'mouse', 'wired-network-card', 'sound-card', 'video-card', 'speakers', 'optical-drive', 'power-supply', 'thermal-paste', 'memory'}\n```\n\nThere are also a number of methods that can be used in order to customize the API behavior.\nFor example, you can change the region and determine the number of concurrent, asynchronous connections\nthat can be made.\n\nRetrieving supported API regions:\n```python\napi = API()\nprint(api.supported_regions)\n\u003e\u003e\u003e {'be', 'us', 'it', 'uk', 'ie', 'nz', 'de', 'ca', 'au', 'fr', 'se', 'es', 'in'}\n```\n\nRetrieving currently selected region (default is US):\n```python\napi = API()\nprint(api.region)\n\u003e\u003e\u003e us\n```\n\nCreating an API object with a different default region:\n```python\napi = API(\"de\")\nprint(api.region)\n\u003e\u003e\u003e de\n```\n\nChanging the default region:\n```python\napi = API()\napi.set_region(\"de\")\nprint(api.region)\n\u003e\u003e\u003e de\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJonathanVusich%2Fpcpartpicker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJonathanVusich%2Fpcpartpicker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJonathanVusich%2Fpcpartpicker/lists"}