CLI + API for Google PageSpeed Insights
Project description
PyPSI
CLI 🖥 + API for Google PageSpeed Insights
PageSpeed Insights (PSI) reports on the performance of a page on both mobile and desktop devices, and provides suggestions on how that page may be improved.
PSI provides both lab and field data about a page. Lab data is useful for debugging performance issues, as it is collected in a controlled environment. However, it may not capture real-world bottlenecks. Field data is useful for capturing true, real-world user experience - but has a more limited set of metrics.
PyPSI
uses PageSpeed Insights API v5
Installation
pip install PythonPSI
Usage
psi <SITE_URL> <OPTION1> <OPTION2> ...
Example:
$ psi developers.google.com --category seo --stratergy desktop --locale en
{
"captchaResult": "CAPTCHA_NOT_NEEDED",
"kind": "pagespeedonline#result",
"id": "https://developers.google.com/",
"loadingExperience": {
...
},
"originLoadingExperience": {
...
},
"lighthouseResult": {
...
},
"analysisUTCTimestamp": {
...
}
CLI
$ psi --help
Usage: psi [OPTIONS] URL
Options:
--api_key TEXT Required to use the API in an automated way and make
multiple requests per second
--category TEXT A Lighthouse category to run; if none are given, only
Performance category will be run
--metrics TEXT Returns metrics of a particular field in response
object
--locale TEXT The locale used to localize formatted results
--stratergy TEXT The analysis strategy (desktop or mobile) to use, and
desktop is the default
--threshold TEXT Threshold score to pass the PageSpeed test. Useful for
setting a performance budget.
--links TEXT If passed adds links with more info about
opportunities. Useful for checking documentation about
opportunities.
--utm_campaign TEXT Campaign name for analytics.
--utm_source TEXT Campaign source for analytics.
--captcha_token TEXT The captcha token passed when filling out a captcha.
--help Show this message and exit.
API Usage
from PythonPSI.api import PSI
PSI('google.com', category='seo', locale='en', stratergy='desktop')
# Returns JSON output
-
PSI
- Required arguments: 1, Optional arguments: 9URL
:- Required
- Default: None
api_key
:- Optional
- Default: None
category
:- Optional
- Default: performance
- Options:
accessibility
,best_practices
,performance
,pwa
,seo
metrics
:- Optional
- Default: None
- Options:
kind
,captchaResult
,id
,loadingExperience
,originLoadingExperience
,analysisUTCTimestamp
,lighthouseResult
,version
locale
:- Optional
- Default: en
stratergy
:- Optional
- Default: desktop
- Options:
desktop
,mobile
threshold
:- Optional
- Default: None
- Options:
INT
0-100
links
:- Optional
- Default: false
- Options:
true
,false
utm_campaign
:- optional
- Default: None
utm_source
:- Optional
- Default: None
captcha_token
:- Optional
- Default: None
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for PythonPSI-1.8.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8860a17a99d07c269b716f9aa2b753b25307ee6bfe6306f366841f2bb6105b0 |
|
MD5 | d457fe5f4fbc51bfd01ecf2292e868b9 |
|
BLAKE2b-256 | 190031d56e60667519a0c67665b09e25a0aa74da9789e78486b079e20f3371f0 |