Metadata-Version: 2.1
Name: netfoundry
Version: 3.1.4
Summary: Interface to the NetFoundry network-as-code orchestration Platform
Home-page: https://developer.netfoundry.io/v2/
Author: Kenneth Bingham
Author-email: support@netfoundry.io
License: MIT
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: requests (>=2.24.0)
Requires-Dist: pysocks (>=1.7.1)
Requires-Dist: pyjwt (>=1.7.1)


## Play the demo

This creates a demo network named "BibbidiBobbidiBoo" with your API account stored in ~/.netfoundry/credentials.json

Learn about getting an API account by reading the [Authentication Guide](https://developer.netfoundry.io/v2/guides/authentication/)

```bash
$ python3 -m netfoundry.demo BibbidiBobbidiBoo
INFO: running demo script in /home/alice/.pyenv/versions/3.9.0/lib/python3.9/site-packages/netfoundry/demo.py
```

## Create network snippet from demo.py

```python
#!/usr/bin/env python3
import netfoundry

# default API account credential file is ~/.netfoundry/credentials.json
Session = netfoundry.Session()

# yields a list of Network Groups in Organization.networkGroups[], but there's typically only one group
Organization = netfoundry.Organization(Session)

# use the default Network Group (the first Network Group ID known to the Organization)
NetworkGroup = netfoundry.NetworkGroup(Organization)

# create a Network
netName = "BibbidiBobbidiBoo"
if netName in NetworkGroup.networksByName.keys():
    # use the Network
    Network = netfoundry.Network(Session, networkName=netName)
    Network.waitForStatus("PROVISIONED",wait=999,progress=True)
else:
    netId = NetworkGroup.createNetwork(netName)
    Network = netfoundry.Network(Session, networkId=netId)
    Network.waitForStatus("PROVISIONED",wait=999,progress=True)
    Network = netfoundry.Network(Session, networkId=netId)
```

