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.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size PythonPSI-1.9.0-py3-none-any.whl (6.6 kB) | File type Wheel | Python version py3 | Upload date | Hashes View |
Filename, size PythonPSI-1.9.0.tar.gz (4.9 kB) | File type Source | Python version None | Upload date | Hashes View |
Hashes for PythonPSI-1.9.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79c75789da7c41de0631d1a9d716450f8141dbee48a2f0bbc02fa378496a21ef |
|
MD5 | 124ecdfa63d24173f8a0ec57f5627e27 |
|
BLAKE2-256 | 3898d186187f87a0302a19690a32783b77aa609e1713ba6851a623269a457733 |