Getting Started
===============
Set Up A Python Environment
---------------------------
Install python from the `python website `_ or using your favorate package
manager. We support versions of python `supported by the python organization `_.
We recommend using poetry to make python development much easier. You can get poetry from the
`poetry website `_.
During setup poetry will be ask several questions about your project but your answers to these are
not very important right now. Create a folder. In that folder, run the following command.
::
poetry init --python "python^3.6" --dependency "netlab" --dev-dependency "mypy^0.812"
Python will require you to be in this folder's *environment*. You can run `poetry shell` to change
your environment in your **current commandline**. You will need to enter the python environment
every time you open a new terminal.
Configuration
-------------
Before starting, you must configure a Netlab system. Make sure you are in a python environment by
using `poetry shell`. Then you can run `netlab config add`, which will walk you through the process
of configuring this tool to connect to a Netlab.
For additional configuration, see `netlab.config`.
First Netlab Command
--------------------
Create a file named 'main.py' with the following content:
.. literalinclude:: quickstart_1.py
Remember to make sure you are in the python environment using `poetry shell`, then run `python main.py`.
You should see output that looks like::
{'cpu_n': '2',
'hostname': 'ndg-ve-dev-jj-015.netdevgroup.com',
'sys_lic_exp_date': None,
'sys_lic_op_state': 'ACTIVE',
'sys_logins_enabled': True,
'sys_maint_ends': None,
'sys_mode': 'NORMAL',
'sys_name': '',
'sys_product_id': 'VE',
'sys_sdn_release_date': datetime.date(2016, 4, 1),
'sys_sdn_release_type': 'alpha',
'sys_sdn_version': '21.1.2',
'sys_serial': 'NDG-VE-E3BE-5FF2-7579-5E55',
'uptime_sec': Decimal('1720907.59')}
You can check your program before running it by using the `mypy` tool. Run `mypy main.py` check the
file we just created. You can use `mypy` to find errors before you ever need to run your program.
See `netlab.api` for a complete list of netlab commands. See `netlab.async_client.NetlabClient` for
additional info on working with the Netlab SDK.