Maximize the value of data assets in the oil and gas sector with EnergyEdge's assessment-based training course on Python programming and analytics.
Python for beginners. 30 Hour course over 5 weeks.
Learn how to code with Python. Work on a small real-life project from conception to tested app, in a team or on your own.
Network automation course description This course is not a soft skills course covering the concepts of DevOps but instead concentrates on the technical side of tools and languages for network DevOps. Particular technologies focussed on are ansible, git and Python enabling delegates to leave the course ready to starting automating their network. Hands on sessions follow all major sections. More detailed courses on individual aspects of this course are available. What will you learn Evaluate network automation tools. Automate tasks with ansible. Use git for version control. Use Python to manage network devices. Use Python libraries for network devices. Network automation course details Who will benefit: Network engineers. Prerequisites: TCP/IP foundation for engineers. Duration 5 days Network automation course contents What is DevOps Programming and automating networks, networks and clouds, AWS, OpenStack, SDN, DevOps for network operations. Initial configuration Configuring SSH, ZTP, POAP. Hands on Initial lab configuration. Getting started with ansible The language, the engine, the framework. Uses of ansible, orchestration. The architecture, Controlling machines, nodes, Agentless, SSH, modules. Configuration management, inventories, playbooks, modules, roles. Hands on Installing ansible, running ad hoc commands. Ansible playbooks ansible-playbook, YAML, plays, tasks, handlers, modules. Playbook variables. Register module, debug module. Hands on Running playbooks. Ansible Inventories /etc/ansible/hosts, hosts, groups, static inventories, dynamic inventories. Inventory variables, external variables. Limiting hosts. Hands on Static inventories, variables in inventory files. Ansible modules for networking Built in modules, custom modules, return values. Core modules for network operations. Cisco and/ or Juniper modules. ansible_connection. Ansible 2.6 CLI. Hands on Using modules. Ansible templating and roles Configuration management, full configurations, partial configurations. The template module, the assemble module, connection: local, Jinja2 templates, variables, if, for, roles. Hands on Generating multiple configurations from a template. Network programming and modules Why use Python? Why use ansible? alternatives, ansible tower, Linux network devices. Programming with Python Scripting versus application development, Python interactive mode, Python scripts, Python 2.7 vs Python 3. A simple Python script. Variables, loops, control statements, operators. PEP style guide. Python IDEs. Hands on Simple Python programs. More Python programming Functions. Classes, objects and instances, modules, libraries, packages. Python strings, Python file handling, pip list, pip install, Hands on Python programming with pyping. Git Distributed version control, repositories, Git and GitHub, Alternatives to GitHub, Installing git, git workflows, creating repositories, adding and editing files, branching and merging, merge conflicts. Hands on working with Git. Python and networking APIs, Sockets, Telnetlib, pysnmp, ncclient, ciscoconfparse. Paramiko SSH and Netmiko Integrating Python and network devices using SSH. Netmiko, Netmiko methods. Hands on Netmiko. PyEZ Juniper, NETCONF, installing PyEZ, a first pyEZ script, pyEZ configuration management. Hands on Juniper configuration management with pyEZ. NAPALM What is NAPALM, NAPALM operations, getters, Replace, merge, compare, commit, discard. Hands on Configuration with NAPALM. Integrating ansible and NAPALM. Python and REST REST APIs, enabling the REST API. Accessing the REST API with a browser, cURL, Python and REST, the request library. Hands on Using a REST API with network devices.
Network DevOps course description This course is not a soft skills course covering the concepts of DevOps but instead concentrates on the technical side of tools and languages for network DevOps. Particular technologies focussed on are ansible, git and Python enabling delegates to leave the course ready to starting automating their network. Hands on sessions follow all major sections. More detailed courses on individual aspects of this course are available. What will you learn Evaluate network automation tools. Automate tasks with ansible. Use git for version control. Use Python to manage network devices. Use Python libraries for network devices. Network DevOps course details Who will benefit: Administrators automating tasks. Prerequisites: TCP/IP Foundation Duration 5 days Network DevOps course contents What is DevOps Programming and automating networks, networks and clouds, AWS, OpenStack, SDN, DevOps for network operations. Initial configuration Configuring SSH, ZTP, POAP. Hands on Initial lab configuration. Getting started with ansible The language, the engine, the framework. Uses of ansible, orchestration. The architecture, Controlling machines, nodes, Agentless, SSH, modules. Configuration management, inventories, playbooks, modules, roles. Hands on Installing ansible, running ad hoc commands. Ansible playbooks ansible-playbook, YAML, plays, tasks, handlers, modules. Playbook variables. Register module, debug module. Hands on Running playbooks. Ansible Inventories /etc/ansible/hosts, hosts, groups, static inventories, dynamic inventories. Inventory variables, external variables. Limiting hosts. Hands on Static inventories, variables in inventory files. Ansible modules for networking Built in modules, custom modules, return values. Core modules for network operations. Cisco and/or Juniper modules. ansible_connection. Ansible 2.6 CLI. Hands on Using modules. Ansible templating and roles aConfiguration management, full configurations, partial configurations. The template module, the assemble module, connection: local, Jinja2 templates, variables, if, for, roles. Hands on Generating multiple configurations from a template. Network programming and modules Why use Python? Why use ansible? alternatives, ansible tower, Linux network devices. Programming with Python Python programming Functions. Classes, objects and instances, modules, libraries, packages. Python strings, Python file handling, pip list, pip instal. Hands on Python programming with pyping. More Python programming Functions. Classes, objects and instances, modules, libraries, packages. Python strings, Python file handling, pip list, pip install. Hands on Python programming with pyping. Git Distributed version control, repositories, Git and GitHub, Alternatives to GitHub, Installing git, git workflows, creating repositories, adding and editing files, branching and merging, merge conflicts. Hands on working with Git. Python and networking APIs, Sockets, Telnetlib, pysnmp, ncclient, ciscoconfparse. Paramiko SSH and Netmiko Integrating Python and network devices using SSH. Netmiko, Netmiko methods. Hands on Netmiko. NAPALM What is NAPALM, NAPALM operations, getters, Replace, merge, compare, commit, discard. Hands on Configuration with NAPALM. Integrating ansible and NAPALM. Python and REST REST APIs, enabling the REST API. Accessing the REST API with a browser, cURL, Python and REST, the request library. Hands on Using a REST API with network devices.
Network management technologies course description A comprehensive tour of the available network management technologies available for todays networks. The course starts with basic tools such as syslog along with Python network automation. SNMP is then covered with the *flow technologies and streaming telemetry. Configuration management with ansible, Python, NETCONF and RESTCONF is then studied. The final part of the course looks at SDN. Hands on sessions are used throughout to reinforce the theory rather than teach specific manufacturer equipment. Note that sections are available as individual courses. What will you learn Evaluate network management technologies. Evaluate network management technologies. Recognise the weaknesses of SNMP versus NETCONF and streaming telemetry. Explain the role of NETCONF and RESTCONF. Compare & contrast *flow and streaming telemetry. Explain the role of SDN in network management. Automate network configuration with ansible and Python. Network management technologies course details Who will benefit: Those wishing to manage networks. (Previous Python experience is NOT needed) Prerequisites: Intro to data comms Duration 5 days Network management technologies course content Basic network management Network management What is network management? Benefits, issues. FCAPS model. Fault management, Configuration management, accounting, performance, security. What to manage, what not to manage. Managing network devices, managing servers. Monitoring networks Traditional network tools Ping..., SSH, syslog, TFTP for configurations. nmap. Wireshark. CLI. Web based management. Splunk. Nessus, snort, Kali. Hands on syslog, network inventories. Network automation using the CLI Programming and automating networks, netOps. Python, Git. Python network modules, SSH, paramiko, netmiko. EVE-NG. Hands onPython network modules. Structured versus unstructured data Problems with automation and unstructured data. XML, JSON, YAML. The role of YANG. Hands on Parsing data. SNMP SNMP architecture, SNMP MIBs, SMI, the SNMP protocol, polling security. Configuring SNMP. SNMPv1, v2, v3, SNMP security. Which version should you use? MIBs and MIB structure. mib-2, extra parts of mib-2, Private enterprise MIBs. Summary: What SNMP is good/bad at. Hands on Configuring agents and a NMS. MIB browsing. Server management Microsoft, Linux, application polling. WMI vs SNMP. Hands on: Application polling. Performance management *flow Polling, push vs pull, netflow, sflow, IPFIX, *flow. Flows. Where to monitor traffic. Comparing *flow with SNMP. Architecture: Generators and collectors. When flows are exported. NetFlow reporting products. SolarWinds. Hands on Netflow configuration. Collectors. Streaming telemetry Model driven telemetry, periodic/on change. Structured data. Telemetry protocol stack. gRPC and gNMI. Protobuf. gNMI operations. Telemetry architecture. Telegraf, databases, Grafana. Hands on Telemetry example. Configuration management Configuration management tools Chef, puppet, ansible, saltstack. Ansible architecture, controlling machines, nodes, agentless, SSH, modules. Inventories, playbooks, modules, network modules, jinja2 templates. Hands on Network configuration with ansible. NETCONF What is NETCONF? Protocol stack, Data stores, traffic flows, validating configurations, rollback. YANG data models and how YANG is used by NETCONF. XML. Explorers and other tools. Hands on anx, Python and NETCONF. RESTCONF The REST API, HTTP, What is RESTCONF? Tools including Postman. Comparison with NETCONF. Hands on Configuration with RESTCONF. Python network automation: configuration SSH issues. Using structured data. Jinja2. ncclient, requests, NAPALM, Nornir. Automated testing. Hands on Python network device configuration with nornir. Software Defined Networks and orchestration Classic SDN What is SDN? benefits. SDN architecture. SDN applications, SDN switches, SDN controllers, Network Operating Systems. Control plane, data plane. Northbound interfaces. SDN components. Southbound interfaces. OpenFlow. ONF, OpenFlow ports, Flow tables. Network virtualization Virtual networks, virtual switches, NfV. Service chaining. NfV and SDN. SDN implementations Classic SDN, Hybrid SDN, SDN via APIs, SDN via overlays. Data centre SDN, VXLAN, Service Provider SDN, SD WAN, Enterprise SDN, WiFi. SDN and open source OpenDaylight, OpenVSwitch, Open Networking Forum, Open Network Operating System. Hands onOpenStack. SD-WAN What is SD-WAN? Architecture: Edge, gateway, orchestrator, controller. Overlay and underlay. Use of MPLS, 4G/5G. Benefits and features. Secure Access Service Edge (SASE).
Duration 2.75 Days 16.5 CPD hours This course is intended for Complete beginners who have never programmed before to experienced developers coming from another programming language. Overview You will learn how to leverage the power of Python to solve tasks. You will build games and programs that use Python libraries. You will be able to use Python for your own work problems or personal projects. You will create a portfolio of Python based projects you can share. Learn to use Python professionally, learning both Python 2 and Python 3! Create games with Python, like Tic Tac Toe and Blackjack! Learn advanced Python features, like the collections module and how to work with timestamps! Learn to use Object Oriented Programming with classes! Understand complex topics, like decorators. Understand how to use both the Jupyter Notebook and create .py files Get an understanding of how to create GUIs in the Jupyter Notebook system! Build a complete understanding of Python from the ground up! Our Introduction to Python course is designed to take complete beginners or experienced developers up to speed on Python?s capabilities, setting up students for success in using Python for their specific field of expertise. Whether you have never programmed before, already know basic syntax, or want to learn about the advanced features of Python, this course is for you! In this course we will teach you Python 3. Learn how to use Python for real-world tasks, such as working with PDF Files, sending emails, reading Excel files, scraping websites for information, working with image files, and much more! This course will teach you Python in a practical manner and provides a full coding screencast and a corresponding code notebook to review the concepts and exercises conducted in class. Please note, this course is able to be offered in either 3 full day sessions or 5 partial day sessions. See the schedule below. This course includes 6-months access to the full course content in on-demand format to support post-class reference and review. Command Line Basics Python System Setup Jupyter Notebooks Python Data Types Key Data Structures Logic and Control Flow Functions Debugging Modules Object Oriented Programming File I/O Testing Decorators Generators Automation of Tasks Web Scraping Graphical User Interfaces Additional course details: Nexus Humans Introduction to Python training program is a workshop that presents an invigorating mix of sessions, lessons, and masterclasses meticulously crafted to propel your learning expedition forward. This immersive bootcamp-style experience boasts interactive lectures, hands-on labs, and collaborative hackathons, all strategically designed to fortify fundamental concepts. Guided by seasoned coaches, each session offers priceless insights and practical skills crucial for honing your expertise. Whether you're stepping into the realm of professional skills or a seasoned professional, this comprehensive course ensures you're equipped with the knowledge and prowess necessary for success. While we feel this is the best course for the Introduction to Python course and one of our Top 10 we encourage you to read the course outline to make sure it is the right content for you. Additionally, private sessions, closed classes or dedicated events are available both live online and at our training centres in Dublin and London, as well as at your offices anywhere in the UK, Ireland or across EMEA.
Sockets programming training course description A hands on course for programmers using Sockets. It is important to recognise that the course assumes that delegates are already familiar with TCP/IP and Python. Practical exercises follow all the major theory sessions. What will you learn Read Python programs which use Sockets. Write Python programs which use Sockets. Debug Python programs which use Sockets. Sockets programming training course details Who will benefit: Programmers working with network applications. Prerequisites: TCP/IP foundation for engineers Python for network engineers Duration 2 days Sockets programming training course contents What is a socket? Review of IP, ICMP, UDP vs TCP, IP addresses, protocol numbers, ports. API's, UNIX I/O, sockets. SOCK_STREAM, SOCK_DGRAM. Hands on Compile and run code. The systems calls Clients and servers, structs, socket(), bind(), connect(), listen(), accept(), send(), recv(), sendto (), recvfrom(), close(), shutdown(), getpeername(), gethostname(). Hands on Walk through of example client and server code. First code TCP connections, passive opens, active opens. Hands on Write a simple 'hello world' server and client. Application protocols User character stream, ASCII turn taking, binary protocols. Hands on Raw SMTP, Writing a mail client. Clients Concurrency, polling, threads, event driven programming. Hands on Conferencing application. Servers Concurrency, stateful, stateless. Forks and execs. inetd. Hands on Running servers with and without inetd, chroot jails, conferencing server modifications. Advanced techniques Blocking, select(), partial send(s). Raw sockets, example sockets using Java, Perl and PHP. Hands on A broadcast application.
REST and RESTCONF training course description An introduction to REST and RESTCONF using Python. The course progresses from how to use them onto how they work and then looks at using them from within Python all the time on network devices. What will you learn Explain what REST and RESTCONF are. Use the REST API on network device. Use RESTCONF. REST and RESTCONF training course details Who will benefit: Network engineers. Prerequisites: Python for network engineers. Duration 1 day REST and RESTCONF training course contents Using REST Curl, Browser plugins, Postman, RESTClient, Python. Hands on Using the REST API on network devices. What is REST? What is REST? Architecture, APIs, RESTful APIs, APIs over HTTP/HTTPS, URIs, resources, HTTP methods, GET, POST, PUT, DELETE. CRUD. Comparison with other APIs. Hands on REST analysis with Wireshark. Rest conventions Passing parameters, return values, HTTP status, JSON. XML. Hands on Configuring REST on network devices, changing format of responses, POST requests, using parameters. Configuring network devices with REST Invoking multiple RPCs. Hands on Device configuration with REST. The request library RESTFUL APIs in Python, the request library, Installation, example to retrieve the interface configuration. Hands on Using the Python requests library on network devices. RESTCONF What is RESTCONF? YANG and NETCONF, relationship with REST, RESTCONF URIs, A RESTCONF example with ietf-interfaces, RESTCONF responses. PATCH. Hands on Using RESTCONF to update a network device configuration.
Duration 3 Days 18 CPD hours This course is intended for This course is aimed at anyone who wants to harness the power of data analytics in their organization including: Business Analysts, Data Analysts, Reporting and BI professionals Analytics professionals and Data Scientists who would like to learn Python Overview This course teaches delegates with no prior programming or data analytics experience how to perform data manipulation, data analysis and data visualization in Python. Mastery of these techniques and how to apply them to business problems will allow delegates to immediately add value in their workplace by extracting valuable insight from company data to allow better, data-driven decisions. Outcome: After attending this course, delegates will: Be able to write effective Python code Know how to access their data from a variety of sources using Python Know how to identify and fix data quality using Python Know how to manipulate data to create analysis ready data Know how to analyze and visualize data to drive data driven decisioning across your organization Becoming a world class data analytics practitioner requires mastery of the most sophisticated data analytics tools. These programming languages are some of the most powerful and flexible tools in the data analytics toolkit. From business questions to data analytics, and beyond For data analytics tasks to affect business decisions they must be driven by a business question. This section will formally outline how to move an analytics project through key phases of development from business question to business solution. Delegates will be able: to describe and understand the general analytics process. to describe and understand the different types of analytics can be used to derive data driven solutions to business to apply that knowledge to their business context Basic Python Programming Conventions This section will cover the basics of writing R programs. Topics covered will include: What is Python? Using Anaconda Writing Python programs Expressions and objects Functions and arguments Basic Python programming conventions Data Structures in Python This section will look at the basic data structures that Python uses and accessing data in Python. Topics covered will include: Vectors Arrays and matrices Factors Lists Data frames Loading .csv files into Python Connecting to External Data This section will look at loading data from other sources into Python. Topics covered will include: Loading .csv files into a pandas data frame Connecting to and loading data from a database into a panda data frame Data Manipulation in Python This section will look at how Python can be used to perform data manipulation operations to prepare datasets for analytics projects. Topics covered will include: Filtering data Deriving new fields Aggregating data Joining data sources Connecting to external data sources Descriptive Analytics and Basic Reporting in Python This section will explain how Python can be used to perform basic descriptive. Topics covered will include: Summary statistics Grouped summary statistics Using descriptive analytics to assess data quality Using descriptive analytics to created business report Using descriptive analytics to conduct exploratory analysis Statistical Analysis in Python This section will explain how Python can be used to created more interesting statistical analysis. Topics covered will include: Significance tests Correlation Linear regressions Using statistical output to create better business decisions. Data Visualisation in Python This section will explain how Python can be used to create effective charts and visualizations. Topics covered will include: Creating different chart types such as bar charts, box plots, histograms and line plots Formatting charts Best Practices Hints and Tips This section will go through some best practice considerations that should be adopted of you are applying Python in a business context.