Skip to main content

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

Release files for pcpartpicker 1.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pcpartpicker 1.1.4
File Size Uploaded
pcpartpicker-1.1.4.tar.gz 19.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pcpartpicker 1.1.4
File Interpreter ABI Platform
pcpartpicker-1.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 54.8 kB

Release files / pcpartpicker-1.1.4.tar.gz

Download URL pcpartpicker-1.1.4.tar.gz
Size 19.8 kB
Tags Source
SHA-256 checksum
How to use checksums
a6e6c78ecef1716947f53906badc5ec4e9e948d138c44429e5619d24e1bd1dc6
BLAKE2b-256 checksum
How to use checksums
94e3ce6fedf22e30ef5ae800ebfa073e9b367f8a8c5f949acf05a771cf040d7d
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / pcpartpicker-1.1.4-py3-none-any.whl

Download URL pcpartpicker-1.1.4-py3-none-any.whl
Size 35.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6982aa2adb0258c791ee78b0d97f0edbde0d0bf5d8a3f4d9028fc4ec11599ee0
BLAKE2b-256 checksum
How to use checksums
e0eeb9d4974eead41b5d813fca3e209c63949a63c8336d7aadd6ef21c514a4b1
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

2.2.2

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

This release

1.1.4 This release

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page