Skip to main content

A fast, simple API for PCPartPicker.com.

Project description

pcpartpicker

Build Status Coverage Status

This is an unofficial Python 3.7+ API for the website pcpartpicker.com. It is written using asynchronous code and multiprocessing for efficient data retrieval. This package is currently in a stable beta.

Installation:

Package retrieval and installation can be easily accomplished through pip.

pip install pcpartpicker

Examples:

In order to use the API, simply import API from the pcpartpicker package.

from pcpartpicker import API

You can then instantiate the API class and use it to make requests.

api = API()
cpu_data = api.retrieve("cpu")
all_data = api.retrieve_all()

A list of supported parts can be obtained in the following manner:

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, determine the number of concurrent, asynchronous connections that can be made, and can also set whether or not the API can use multiple threads.

Retrieving supported API regions:

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):

api = API()
print(api.region)
>>> us

Creating an API object with a different default region:

api = API("de")
print(api.region)
>>> de

Changing the default region:

api = API()
api.set_region("de")
print(api.region)
>>> de

Changing the maximum number of allowed concurrent requests:

api = API()
api.set_concurrent_connections(100)
print(api.concurrent_connections)
>>> 100 

Or you can use the concurrent_connections keyword argument for API():

api = API(concurrent_connections=100)
print(api.concurrent_connections)
>>> 100

You can also configure whether or not the API is allowed to use multiple threads or not (default is True):

api = API()
api.set_multithreading(False)
print(api.multithreading)
>>> False

You can also use a keyword argument to configure this behavior:

api = API(multithreading=False)
print(api.multithreading)
>>> False

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

pcpartpicker-1.2.0.tar.gz (19.8 kB view details)

Uploaded Source

Built Distribution

pcpartpicker-1.2.0-py3-none-any.whl (35.0 kB view details)

Uploaded Python 3

File details

Details for the file pcpartpicker-1.2.0.tar.gz.

File metadata

  • Download URL: pcpartpicker-1.2.0.tar.gz
  • Upload date:
  • Size: 19.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for pcpartpicker-1.2.0.tar.gz
Algorithm Hash digest
SHA256 591e0c35a32709e7bd57e7af6811bfd3d0a92d58a0469f6b01694d7b662a5b91
MD5 a23c5bcef24454fbcd4fd673e1c211af
BLAKE2b-256 e84698bd7747babbf3119cadec8138d5d67e0b2236c0db441e825e309a17c4b1

See more details on using hashes here.

File details

Details for the file pcpartpicker-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: pcpartpicker-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 35.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for pcpartpicker-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9b2aca10291db3bdf20db417d1aa0f62636f477aa8daca374620e98d3b476e04
MD5 1e7158d9223f9dd1eb15353f36b0a3db
BLAKE2b-256 d53f08a394b467b8bd7898f315fff1bab756bd5468aae70abf41fd1d7f2f264a

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