Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/JonathanVusich/pcpartpicker
This is an unofficial API for the website pcpartpicker.com.
https://github.com/JonathanVusich/pcpartpicker
pcpartpicker pip pypi python3 webscraper
Last synced: about 2 months ago
JSON representation
This is an unofficial API for the website pcpartpicker.com.
- Host: GitHub
- URL: https://github.com/JonathanVusich/pcpartpicker
- Owner: JonathanVusich
- License: gpl-3.0
- Created: 2018-11-02T03:17:19.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2021-02-26T02:18:10.000Z (almost 4 years ago)
- Last Synced: 2024-05-03T22:43:48.460Z (8 months ago)
- Topics: pcpartpicker, pip, pypi, python3, webscraper
- Language: Python
- Size: 146 KB
- Stars: 80
- Watchers: 5
- Forks: 7
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# pcpartpicker
[![Build Status](https://travis-ci.org/JonathanVusich/pcpartpicker.svg?branch=master)](https://travis-ci.org/JonathanVusich/pcpartpicker)
[![Coverage Status](https://coveralls.io/repos/github/JonathanVusich/pcpartpicker/badge.svg?branch=master&kill_cache=1)](https://coveralls.io/github/JonathanVusich/pcpartpicker?branch=master&kill_cache=1)
![](https://img.shields.io/pypi/dm/pcpartpicker.svg)This is an unofficial Python 3.7+ API for the website pcpartpicker.com.
It is written using asynchronous requests for efficient data retrieval.
This package is currently in a stable beta.## Installation:
Package retrieval and installation can be easily accomplished through pip.
```python
pip install pcpartpicker
```## Examples:
In order to use the API, simply import API from the pcpartpicker package.
```python
from pcpartpicker import API
```
You can then instantiate the API class and use it to make requests.
```python
api = API()
cpu_data = api.retrieve("cpu")
all_data = api.retrieve_all()
```
`api.retrieve()` and `api.retrieve_all()` methods both return a `PartData` instance, which contains a timestamp and a `to_json()` method.A list of supported parts can be obtained in the following manner:
```python
api = API()
print(api.supported_parts)
>>> {'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'}
```There are also a number of methods that can be used in order to customize the API behavior.
For example, you can change the region and determine the number of concurrent, asynchronous connections
that can be made.Retrieving supported API regions:
```python
api = API()
print(api.supported_regions)
>>> {'be', 'us', 'it', 'uk', 'ie', 'nz', 'de', 'ca', 'au', 'fr', 'se', 'es', 'in'}
```Retrieving currently selected region (default is US):
```python
api = API()
print(api.region)
>>> us
```Creating an API object with a different default region:
```python
api = API("de")
print(api.region)
>>> de
```Changing the default region:
```python
api = API()
api.set_region("de")
print(api.region)
>>> de
```