Skip to main content

Packet API client

Project description

Packet

A Python client for the Packet API.

Build Status

travis build status badge

Installation

The packet python api library can be installed using pip: pip install packet-python

Package information available here:

https://pypi.python.org/pypi/packet-python

Documentation

Full Packet API documenation is available here: https://www.packet.net/developers/api/

Examples

List projects

import packet
manager = packet.Manager(auth_token="yourapiauthtoken")

projects = manager.list_projects()
for project in projects:
    print(project)

List plans

import packet
manager = packet.Manager(auth_token="yourapiauthtoken")

plans = manager.list_plans()
for plan in plans:
    print(plan)
    if 'cpus' in plan.specs:
        print(plan.specs['cpus'][0]['count'])

Creating a Device

import packet
manager = packet.Manager(auth_token="yourapiauthtoken")

device = manager.create_device(project_id='project-id',
                               hostname='node-name-of-your-choice',
                               plan='baremetal_1', facility='ewr1',
                               operating_system='ubuntu_14_04')
print(device)

Checking the status and rebooting a Device

import packet
manager = packet.Manager(auth_token="yourapiauthtoken")

device = manager.get_device('device-id')
print(device.status)
device.reboot()

Listing all devices, limiting to 50 per page

Packet API defaults to a limit of 10 per page

import packet
manager = packet.Manager(auth_token="yourapiauthtoken")
params = {
    'per_page': 50
}
devices = manager.list_devices(project_id='project_id', params = params)
print(devices)

Contributing

  • Check out the latest master to make sure the feature hasn’t been implemented or the bug hasn’t been fixed yet.
  • Check out the issue tracker to make sure someone already hasn’t requested it and/or contributed it.
  • Fork the project.
  • Start a feature/bugfix branch.
  • Commit and push until you are happy with your contribution.
  • You can test your changes with the test/tests.sh script, which is what travis uses to check builds.

Credits

CargoCulted with much gratitude from: https://github.com/koalalorenzo/python-digitalocean

Changes

See the Changelog for further details.

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog. This project adheres to Semantic Versioning.

[1.37.1] - 2018-01-08

Fixed

  • Version number in setup.py

[1.37.0] - 2018-01-08

Added

  • Spot Market Support
  • Ability to specify ssh keys on device creation

[1.36.0] - 2017-10-16

Added

  • Better tests using PacketMockManager
  • Test on 2.7 and 3.[3-6]
  • Changelog

Changed

  • Use tox for testing

[1.35] - 2017-08-04

Fixed

  • Some tests were broken

[1.35]

Added

  • public_ipv4_subnet_size

[1.34] - 2017-08-04

Added

  • Custom iPXE and always_pxe setting
  • Volume coloning
  • Device Tags

Fixed

  • Handling of error messages from api response

[1.33] - 2017-03-15

Fixed

  • Default payment method

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
packet_python-1.37.1-py2.py3-none-any.whl (12.5 kB) Copy SHA256 hash SHA256 Wheel py2.py3
packet-python-1.37.1.tar.gz (9.6 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page