speedcurve

https://travis-ci.org/itsmemattchung/speedcurve.py.svg?branch=master

A python wrapper for around the SpeedCurve API v1. Heavily influenced by github3.py

Full documentation

Example Use

from speedcurve import SpeedCurve

sc = SpeedCurve(api_key='your-api-key-here')
# Get all sites for a user
sites = sc.sites()

# Get trends and all tests for a URL
urls = sc.urls()

# Retrieve metadata for a specific URL
urls = sc.url(14419, browser='all')

# Get a test
test = sc.test(id='140317_BA_3W8')

# Get all the notes for the main site
notes = sc.notes()

# Add a note. Timestamp defaults to now()
note = sc.create_note(
    note="Cleared CDN Cache",
    detail="Testing origin response times"
)

# Get latest deployment
latest_deployment = sc.get_latest_deployment()

# Get a deployment specified by id
deployment = sc.get_deployment(id=16627)

# Add a deployment to default Site for API key
sc.add_deployment(
    note="Code deployment",
    detail="Triggered a deployment to test session capability"
)

# Add a deployment and trigger round of testing specified by site id
sc.add_deployment(
    site_id=123,
    note="Code deployment",
    detail="Triggered a deployment to test origin response times."""
)

Testing

Run pip install -r dev-requirements.txt. You can then execute tox.

Contributing

Guidelines

Explicit is better than implicit

  1. Fork the repository and make changes (add yourself to AUTHORS.rst)
  2. Test changes locally by running tox
  3. Squash changes into a single commit
  4. Create pull request to develop branch

Note:

Travis-CI will FAIL if there isn’t 100% test coverage. Please include a test with your change.

Welcome to Speedcurve.py’s documentation!

API

class speedcurve.SpeedCurve(api_key=None, session=None)

Stored session information.

add_deployment(site_id=None, note=None, detail=None)

Add a deployment and trigger round of testing.

Parameters:
  • site_id (int) – (optional) site id to trigger deploy.
  • note (string) – (required) short note used on site
  • detail (string) – (optional) detail to display for more context
Returns:

Deployment

get_deployment(id)

Retrieve a deployment specified by id.

Params int id:(required) id of deployment
Returns:Deployment
get_latest_deployment()

Retrieve latest deployment.

Returns:Deployment
notes()

Retrieve all notes for main site in User’ account.

Returns:Generator of Note
sites()

Retrieve all sites for account.

test(id)

Retrieve test specified by test id.

Parameters:id (string) – (required) ID of test
Returns:instance of Test
url(id, days=30, browser='all')

Retrieve url specified by id.

Parameters:
  • id (int) – (required) id of URL
  • days (int) – (optional) number of days of tests (max: 365)
  • browser (string) – (optional) all, chrome, firefox, ie, or safari
Returns:

Url

class speedcurve.tests.Test(json, session=None, api_key=None)

The Test object.

class speedcurve.urls.Url(json, session=None, api_key=None)

The Url object.

class speedcurve.deployments.Deployment(json, session=None, api_key=None)

Deployment class.

Indices and tables