Skip to main content
Warning: You are using the test version of PyPI. This is a pre-production deployment of Warehouse. Changes made here affect the production instance of TestPyPI (testpypi.python.org).
Help us improve Python packaging - Donate today!

F5 Networks Python SDK

Project Description

Introduction

F5 Networks BIG-IP python SDK. This project implements an SDK for the iControl REST interface for the BigIP. Users of this library can create, edit, update, and delete configuration objects on a BigIP device.

Submodules

bigip

Python API for configuring objects on a BIG-IP device and gathering information from the device via the REST API.

Installation

$> pip install f5-sdk

Usage

from f5.bigip import BigIP
bigip = BigIP("bigip.example.com", "admin", "somepassword")
device_name = bigip.devicename()

Documentation

Documentation is hosted on Read the Docs

Filing Issues

See the Issues section of Contributing.

Contributing

See Contributing

Build

  1. Python Package: To build a python package that can be installed using pip. The output is in ‘dist’.

    $ make source
    
  2. Debian Package On a debian system you can build debian packages if you have installed python-all, fakeroot, and python-stdeb

    $ sudo apt-get install python-all fakeroot python-stdeb
    $ make debs
    

    On a system that has docker installed, you can use the docker_debs target. This will launch a trusty container to build a debian package.

    $ make docker_debs
    
  3. RedHat/Centos 7 Package On a RedHat/Centos 7 system you can build RPMS if you have installed make and rpm-build rpms.

    $ sudo yum install make rpm-build
    $ make rpms
    

    On a system that has docker installed, you can use the docker_rpms target. This will launch a centos7 container to build the f5-bigip-common package

    $ make docker_rpms
    

Test

Before you open a pull request, your code must have passing pytest unit tests. In addition, you should include a set of functional tests written to use a real BIG-IP device for testing. Information on how to run our set of tests is included below.

Unit Tests

We use pytest for our unit tests.

  1. If you haven’t already, install the required test packages and the requirements.txt in your virtual environment.

    $ pip install hacking pytest pytest-cov
    $ pip install -r requirements.txt
    
  2. Run the tests and produce a coverage report. The --cov-report=html will create a htmlcov/ directory that you can view in your browser to see the missing lines of code.

    py.test --cov ./icontrol --cov-report=html
    open htmlcov/index.html
    

Style Checks

We use the hacking module for our style checks (installed as part of step 1 in the Unit Test section).

flake8 ./

Support

See Support

License

Apache V2.0

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Contributor License Agreement

Individuals or business entities who contribute to this project must have completed and submitted the F5 Contributor License Agreement to Openstack_CLA@f5.com prior to their code submission being included in this project.

Release History

Release History

This version
History Node

0.1.1-alpha.3

History Node

0.1.1-alpha.2

History Node

0.1.1-alpha.1

Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
f5-sdk-0.1.1-alpha.3.tar.gz (3.5 kB) Copy SHA256 Checksum SHA256 Source Feb 10, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting