Metadata-Version: 2.1
Name: packet-python
Version: 1.38.2
Summary: Packet API client
Home-page: https://github.com/packethost/packet-python
Author: Packet Developers
License: LGPL v3
Keywords: packet api client
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Description-Content-Type: text/markdown
Requires-Dist: requests

Packet
======

A Python client for the Packet API.

![travis build status badge](https://travis-ci.org/packethost/packet-python.svg?branch=master "Build Status")

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/](https://www.packet.net/developers/api/)

Examples
--------
### List projects

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

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

### List plans

```python
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

```python
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

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

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

### Listing all devices, limiting to 50 per page

_Packet API defaults to a limit of 10 per page_

```python
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

Copyright
---------

Copyright (c) 2017 Packet Host. See [License](LICENSE.txt) for further details.

Changes
-------

See the [Changelog](CHANGELOG.md) for further details.

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

The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
This project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## [1.38.2] - 2019-05-30
### Added
- Test fixtures to sdist

## [1.38.1] - 2019-05-30
### Fixed
- Changelog

## [1.38.0] - 2019-05-30
### Added
- Support for python3.7
- `legacy` param to `get_capacity` function
### Removed
- Support for python3.3
### Changed
- setup.py no longer converts markdown to reST because pypi now supports markdown, woop.

## [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


