# Packet Coders - Learn Network Automation

Learn Network Automation Today! Gain Practical Real-World Knowledge with Packet Coders' On-Demand Training, Labs, and Private Code Repositories.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Netpicker AI Assistant: AI-Assisted Network Operations and Compliance

DevFeed: [Netpicker AI Assistant: AI-Assisted Network Operations and Compliance](<https://devfeed.tech/articles/netpicker-ai-assistant-ai-assisted-network-operations-and-compliance-30860.md>)

Original publisher: [Read original article](<https://www.packetcoders.io/netpicker-ai-assistant-ai-assisted-network-operations-and-compliance/>)

Author: Rick Donato

Published: 2026-09-03T12:27:49Z

Content type: article

Language: en

Sources: [Packet Coders - Learn Network Automation](<https://devfeed.tech/sources/packet-coders-learn-network-automation.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Network](<https://devfeed.tech/topics/network.md>), [Network Configuration](<https://devfeed.tech/topics/network-configuration.md>), [network security](<https://devfeed.tech/topics/network-security.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [incident](<https://devfeed.tech/topics/incident.md>), [Testing](<https://devfeed.tech/topics/testing.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [blog](<https://devfeed.tech/tags/blog.md>), [configuration-management](<https://devfeed.tech/tags/configuration-management.md>), [incident](<https://devfeed.tech/tags/incident.md>), [network](<https://devfeed.tech/tags/network.md>), [network-configuration](<https://devfeed.tech/tags/network-configuration.md>), [network-security](<https://devfeed.tech/tags/network-security.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

The article explains how Netpicker's AI Assistant connects natural-language interaction with network data and operational capabilities such as configuration backups, compliance results, CVE information, device state, and automation jobs. It describes use cases for network troubleshooting, security operations, and configuration management, including investigating recent configuration changes during incidents.

### Source excerpt

Introduction The real value is not in asking a model how BGP works or how to configure a VLAN. It comes from connecting AI to the tools and data we already use to operate the network, including configuration backups, compliance results, CVE data, device state and automation jobs. This is

## Track LLM API Costs with genai-prices

DevFeed: [Track LLM API Costs with genai-prices](<https://devfeed.tech/articles/track-llm-api-costs-with-genai-prices-30863.md>)

Original publisher: [Read original article](<https://www.packetcoders.io/track-llm-api-costs-with-genai-prices/>)

Author: Rick Donato

Published: 2026-09-01T11:16:32Z

Content type: tutorial

Language: en

Sources: [Packet Coders - Learn Network Automation](<https://devfeed.tech/sources/packet-coders-learn-network-automation.md>)

Topics: [Large Language Model](<https://devfeed.tech/topics/llm.md>), [API](<https://devfeed.tech/topics/api.md>), [Inference](<https://devfeed.tech/topics/inference.md>), [Library](<https://devfeed.tech/topics/library.md>), [Python](<https://devfeed.tech/topics/python.md>), [Binance](<https://devfeed.tech/topics/binance.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [cost](<https://devfeed.tech/tags/cost.md>), [example](<https://devfeed.tech/tags/example.md>), [genai](<https://devfeed.tech/tags/genai.md>), [inference](<https://devfeed.tech/tags/inference.md>), [install](<https://devfeed.tech/tags/install.md>), [library](<https://devfeed.tech/tags/library.md>), [llm](<https://devfeed.tech/tags/llm.md>), [openai](<https://devfeed.tech/tags/openai.md>), [pricing](<https://devfeed.tech/tags/pricing.md>), [python](<https://devfeed.tech/tags/python.md>), [report](<https://devfeed.tech/tags/report.md>), [request](<https://devfeed.tech/tags/request.md>), [tips](<https://devfeed.tech/tags/tips.md>), [token](<https://devfeed.tech/tags/token.md>), [uv](<https://devfeed.tech/tags/uv.md>)

### AI overview

A tutorial introducing the genai-prices Python library for estimating the cost of calling LLM inference APIs. It explains that the library can avoid maintaining a custom pricing table and can report token counts and cost for each request, with an OpenAI installation and usage example.

### Source excerpt

Tip: Use the genai-prices Python library to calculate the estimated cost of calling LLM inference APIs. This avoids maintaining your own pricing table and lets you report token counts and cost for each request. Below is an example: # Install: uv add openai genai-prices from openai import OpenAI from

## Automatically Archive Old NetBox Branches

DevFeed: [Automatically Archive Old NetBox Branches](<https://devfeed.tech/articles/automatically-archive-old-netbox-branches-30852.md>)

Original publisher: [Read original article](<https://www.packetcoders.io/automatically-archive-old-netbox-branches/>)

Author: Rick Donato

Published: 2026-08-14T08:00:15Z

Content type: release

Language: en

Sources: [Packet Coders - Learn Network Automation](<https://devfeed.tech/sources/packet-coders-learn-network-automation.md>)

Topics: [NetBox](<https://devfeed.tech/topics/netbox.md>), [Job](<https://devfeed.tech/topics/job.md>), [Database](<https://devfeed.tech/topics/database.md>)

Tags: [automatically](<https://devfeed.tech/tags/automatically.md>), [daily](<https://devfeed.tech/tags/daily.md>), [job](<https://devfeed.tech/tags/job.md>), [netbox](<https://devfeed.tech/tags/netbox.md>), [reduce](<https://devfeed.tech/tags/reduce.md>), [release](<https://devfeed.tech/tags/release.md>), [tips](<https://devfeed.tech/tags/tips.md>)

### AI overview

NetBox Branching v1.1.2 introduces the auto_archive_days setting, which runs a daily background job to archive merged branches older than a specified number of days. Automatic archival is disabled by default, and archived branches cannot be reverted.

### Source excerpt

A common question we get from students using NetBox Branching is: How can I automatically remove stale branches from NetBox? Therefore, I thought I'd share the latest addition to NetBox Branching, introduced in v1.1.2. This release adds the auto_archive_days setting, allowing you to automatically

## Installing CLIs with uv

DevFeed: [Installing CLIs with uv](<https://devfeed.tech/articles/installing-clis-with-uv-30857.md>)

Original publisher: [Read original article](<https://www.packetcoders.io/installing-clis-with-uv/>)

Author: Rick Donato

Published: 2026-07-31T07:00:05Z

Content type: tutorial

Language: en

Sources: [Packet Coders - Learn Network Automation](<https://devfeed.tech/sources/packet-coders-learn-network-automation.md>)

Topics: [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Python](<https://devfeed.tech/topics/python.md>), [Tool](<https://devfeed.tech/topics/tool.md>)

Tags: [cli](<https://devfeed.tech/tags/cli.md>), [install](<https://devfeed.tech/tags/install.md>), [python](<https://devfeed.tech/tags/python.md>), [run](<https://devfeed.tech/tags/run.md>), [tips](<https://devfeed.tech/tags/tips.md>), [tool](<https://devfeed.tech/tags/tool.md>), [uv](<https://devfeed.tech/tags/uv.md>)

### AI overview

A short tutorial explains how to install a Python CLI as a standalone uv tool so it can be called directly without repeatedly using uv run, a virtual environment, or a prefix.

### Source excerpt

🐍 Python Tip! Tired of typing uv run every time? Install any Python CLI as a standalone uv tool and call it directly from anywhere, with no venv and no prefix. # Before: prefix every call with `uv run` uv run mytool --help uv run mytool serve # After: install once... uv

## NetBox: How to Prevent Direct Changes to the Main Branch

DevFeed: [NetBox: How to Prevent Direct Changes to the Main Branch](<https://devfeed.tech/articles/netbox-how-to-prevent-direct-changes-to-the-main-branch-30859.md>)

Original publisher: [Read original article](<https://www.packetcoders.io/netbox-how-to-prevent-direct-changes-to-main/>)

Author: Rick Donato

Published: 2026-07-17T12:51:04Z

Content type: tutorial

Language: en

Sources: [Packet Coders - Learn Network Automation](<https://devfeed.tech/sources/packet-coders-learn-network-automation.md>)

Topics: [NetBox](<https://devfeed.tech/topics/netbox.md>), [configuration](<https://devfeed.tech/topics/configuration.md>)

Tags: [configuration](<https://devfeed.tech/tags/configuration.md>), [example](<https://devfeed.tech/tags/example.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [netbox](<https://devfeed.tech/tags/netbox.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [tips](<https://devfeed.tech/tags/tips.md>)

### AI overview

This tutorial explains how to use the NetBox Changes plugin to prevent direct changes to the main branch. It describes enabling protect_main so changes use branches and an approval workflow, and provides a configuration example.

### Source excerpt

NetBox Tip! Prevent direct changes to the main branch when using the NetBox Changes plugin. Enable protect_main to ensure all changes are made through branches and follow an approval workflow. Here's an example configuration: # ./configuration.py PLUGINS_CONFIG = { "netbox_changes": { "protect_main": True,

## How to Dynamically Create MCP Servers with FastMCP

DevFeed: [How to Dynamically Create MCP Servers with FastMCP](<https://devfeed.tech/articles/how-to-dynamically-create-mcp-servers-with-fastmcp-30853.md>)

Original publisher: [Read original article](<https://www.packetcoders.io/how-to-dynamically-create-mcp-servers-with-fastmcp-2/>)

Author: Rick Donato

Published: 2026-07-03T08:00:52Z

Content type: tutorial

Language: en

Sources: [Packet Coders - Learn Network Automation](<https://devfeed.tech/sources/packet-coders-learn-network-automation.md>)

Topics: [Model Context Protocol](<https://devfeed.tech/topics/model-context-protocol.md>), [REST API](<https://devfeed.tech/topics/rest-api.md>), [NetBox](<https://devfeed.tech/topics/netbox.md>), [OpenAPI Specification](<https://devfeed.tech/topics/openapi.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [Server](<https://devfeed.tech/topics/server.md>)

Tags: [caching](<https://devfeed.tech/tags/caching.md>), [delete](<https://devfeed.tech/tags/delete.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [llms](<https://devfeed.tech/tags/llms.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [netbox](<https://devfeed.tech/tags/netbox.md>), [openapi](<https://devfeed.tech/tags/openapi.md>), [rest-api](<https://devfeed.tech/tags/rest-api.md>), [servers](<https://devfeed.tech/tags/servers.md>), [tips](<https://devfeed.tech/tags/tips.md>)

### AI overview

A tutorial showing how to dynamically create MCP servers with FastMCP by passing a REST API's OpenAPI schema to a function. Its example builds a NetBox MCP with read/write access, excludes DELETE endpoints, and caches the schema.

### Source excerpt

MCP has gained a huge amount of popularity. And for good reason, it's easy to use and can allow you to really harness the benefits of LLMs. So here's a quick MCP tip! Dynamically create MCP servers with FastMCP by passing a REST API's

## Using Authentication Credentials within NetBox Webhooks

DevFeed: [Using Authentication Credentials within NetBox Webhooks](<https://devfeed.tech/articles/using-authentication-credentials-within-netbox-webhooks-30864.md>)

Original publisher: [Read original article](<https://www.packetcoders.io/using-authentication-credentials-within-netbox-webhooks/>)

Author: Rick Donato

Published: 2026-05-19T10:30:32Z

Content type: tutorial

Language: en

Sources: [Packet Coders - Learn Network Automation](<https://devfeed.tech/sources/packet-coders-learn-network-automation.md>)

Topics: [NetBox](<https://devfeed.tech/topics/netbox.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [Environment Variables](<https://devfeed.tech/topics/environment-variables.md>), [configuration](<https://devfeed.tech/topics/configuration.md>)

Tags: [authentication](<https://devfeed.tech/tags/authentication.md>), [blog](<https://devfeed.tech/tags/blog.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [credentials](<https://devfeed.tech/tags/credentials.md>), [docker](<https://devfeed.tech/tags/docker.md>), [environment-variables](<https://devfeed.tech/tags/environment-variables.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [netbox](<https://devfeed.tech/tags/netbox.md>), [webhooks](<https://devfeed.tech/tags/webhooks.md>)

### AI overview

This tutorial explains how to provide authentication credentials in NetBox webhooks without hardcoding secrets in webhook configuration. It presents a custom Jinja2 filter that exposes selected environment variables to webhook headers or bodies, with examples for self-hosted and container-based NetBox deployments.

### Source excerpt

Background A question that came up during a recent NetBox training session was: "How should authentication credentials be provided within NetBox webhooks?" For example, you may need to send a webhook from NetBox to an external system such as: CI/CD platforms internal APIs configuration management systems notification

## Speeding Up Ansible NetBox Inventory with Caching and Fewer API Lookups

DevFeed: [Speeding Up Ansible NetBox Inventory with Caching and Fewer API Lookups](<https://devfeed.tech/articles/speed-up-ansible-s-netbox-inventory-30861.md>)

Original publisher: [Read original article](<https://www.packetcoders.io/speed-up-ansible-s-netbox-inventory/>)

Author: Rick Donato

Published: 2026-05-05T09:00:12Z

Content type: tutorial

Language: en

Sources: [Packet Coders - Learn Network Automation](<https://devfeed.tech/sources/packet-coders-learn-network-automation.md>)

Topics: [Ansible](<https://devfeed.tech/topics/ansible.md>), [NetBox](<https://devfeed.tech/topics/netbox.md>), [API](<https://devfeed.tech/topics/api.md>), [Caching](<https://devfeed.tech/topics/caching.md>)

Tags: [ansible](<https://devfeed.tech/tags/ansible.md>), [api](<https://devfeed.tech/tags/api.md>), [caching](<https://devfeed.tech/tags/caching.md>), [netbox](<https://devfeed.tech/tags/netbox.md>), [tips](<https://devfeed.tech/tags/tips.md>)

### AI overview

This tip explains how to improve Ansible NetBox inventory load times by enabling caching and disabling unused extra lookups in the netbox.netbox.nb_inventory plugin. These changes reduce calls to NetBox API endpoints.

### Source excerpt

NetBox/Ansible Tip: The netbox.netbox.nb_inventory plugin pulls data from multiple NetBox API endpoints. Enable caching and disable unused extra lookups to reduce API calls and improve inventory load times. Here's what you need to add to your NetBox inventory plugin file: # Cache inventory data cache:

## How to Run Python Tools Without Installing Them

DevFeed: [How to Run Python Tools Without Installing Them](<https://devfeed.tech/articles/how-to-run-python-tools-without-installing-them-30856.md>)

Original publisher: [Read original article](<https://www.packetcoders.io/how-to-run-python-tools-without-installing-them/>)

Author: Rick Donato

Published: 2026-04-07T07:00:59Z

Content type: tutorial

Language: en

Sources: [Packet Coders - Learn Network Automation](<https://devfeed.tech/sources/packet-coders-learn-network-automation.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [developer tooling](<https://devfeed.tech/topics/developer-tooling.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [dependencies](<https://devfeed.tech/tags/dependencies.md>), [development](<https://devfeed.tech/tags/development.md>), [development-tools](<https://devfeed.tech/tags/development-tools.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [python](<https://devfeed.tech/tags/python.md>), [tips](<https://devfeed.tech/tags/tips.md>), [uv](<https://devfeed.tech/tags/uv.md>)

### AI overview

This tutorial explains how to use uvx to run Python development tools without adding them to project dependencies. uvx runs tools in isolated, cached environments, helping keep pyproject.toml focused on the project's actual dependencies. The supplied excerpt mentions formatting and linting code without modifying pyproject.toml.

### Source excerpt

Use uvx to run development tools without adding them to your project dependencies. uvx runs each tool in an isolated, cached environment, keeping your pyproject.toml clean and focused on actual dependencies. Here's an example: # uvx (alias for uv run tool) # Format and lint code without modifying pyproject.

## NetBox Config Templates Tip: Query Objects Efficiently with .filter()

DevFeed: [NetBox Config Templates Tip: Query Objects Efficiently with .filter()](<https://devfeed.tech/articles/netbox-config-templates-tip-query-objects-efficiently-with-filter-30858.md>)

Original publisher: [Read original article](<https://www.packetcoders.io/netbox-config-templates-tip-query-objects-efficiently-with-filter/>)

Author: Rick Donato

Published: 2026-03-10T08:00:07Z

Content type: tutorial

Language: en

Sources: [Packet Coders - Learn Network Automation](<https://devfeed.tech/sources/packet-coders-learn-network-automation.md>)

Topics: [NetBox](<https://devfeed.tech/topics/netbox.md>), [Django](<https://devfeed.tech/topics/django.md>), [Object-relational mapping](<https://devfeed.tech/topics/orm.md>)

Tags: [config](<https://devfeed.tech/tags/config.md>), [django](<https://devfeed.tech/tags/django.md>), [filter](<https://devfeed.tech/tags/filter.md>), [interface](<https://devfeed.tech/tags/interface.md>), [interfaces](<https://devfeed.tech/tags/interfaces.md>), [netbox](<https://devfeed.tech/tags/netbox.md>), [orm](<https://devfeed.tech/tags/orm.md>), [query](<https://devfeed.tech/tags/query.md>), [templates](<https://devfeed.tech/tags/templates.md>), [tips](<https://devfeed.tech/tags/tips.md>)

### AI overview

A short tutorial showing how to use .filter() in NetBox Config Templates to query objects during lookups and conditional logic through the Django ORM QuerySet interface.

### Source excerpt

Use .filter() in Config Templates to query objects during lookups and conditional logic. This exposes the Django ORM QuerySet filter directly in your templates. Here's an example: {% for iface in device.interfaces.filter(enabled=True, name__startswith="ge-") %} interface {{ iface.name }} {% endfor %}

## The Schema-Driven LLM Query Pattern

DevFeed: [The Schema-Driven LLM Query Pattern](<https://devfeed.tech/articles/the-schema-driven-llm-query-pattern-30862.md>)

Original publisher: [Read original article](<https://www.packetcoders.io/the-schema-driven-llm-query-pattern/>)

Author: Rick Donato

Published: 2026-02-27T15:09:32Z

Content type: tutorial

Language: en

Sources: [Packet Coders - Learn Network Automation](<https://devfeed.tech/sources/packet-coders-learn-network-automation.md>)

Topics: [Large Language Model](<https://devfeed.tech/topics/llm.md>), [Structured-data](<https://devfeed.tech/topics/structured-data.md>), [Security](<https://devfeed.tech/topics/security.md>), [data](<https://devfeed.tech/topics/data.md>), [pandas](<https://devfeed.tech/topics/pandas.md>), [Query (disambiguation)](<https://devfeed.tech/topics/query.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [blog](<https://devfeed.tech/tags/blog.md>), [data](<https://devfeed.tech/tags/data.md>), [databases](<https://devfeed.tech/tags/databases.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [llm](<https://devfeed.tech/tags/llm.md>), [pandas](<https://devfeed.tech/tags/pandas.md>), [rest](<https://devfeed.tech/tags/rest.md>), [schema](<https://devfeed.tech/tags/schema.md>), [security](<https://devfeed.tech/tags/security.md>), [structured](<https://devfeed.tech/tags/structured.md>)

### AI overview

This tutorial presents the Schema-Driven LLM Query Pattern. Instead of sending raw data to an external LLM, it sends the data schema, receives query syntax, and executes the query locally to reduce data exposure and token usage.

### Source excerpt

Typically, when working with an LLM, you send your data along with a prompt and receive a response. But this pattern often introduces issues, especially with public LLMs, due to security concerns and token bloat. There is a different pattern we can use: the Schema-Driven LLM Query Pattern. With

## How to Get Structured Responses back from OpenAI

DevFeed: [How to Get Structured Responses back from OpenAI](<https://devfeed.tech/articles/how-to-get-structured-responses-back-from-openai-30854.md>)

Original publisher: [Read original article](<https://www.packetcoders.io/how-to-get-structured-responses-back-from-openai/>)

Author: Rick Donato

Published: 2026-01-28T08:00:56Z

Content type: tutorial

Language: en

Sources: [Packet Coders - Learn Network Automation](<https://devfeed.tech/sources/packet-coders-learn-network-automation.md>)

Topics: [JSON Schema](<https://devfeed.tech/topics/json-schema.md>), [OpenAI](<https://devfeed.tech/topics/openai.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>)

Tags: [example](<https://devfeed.tech/tags/example.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [json](<https://devfeed.tech/tags/json.md>), [json-schema](<https://devfeed.tech/tags/json-schema.md>), [llm](<https://devfeed.tech/tags/llm.md>), [openai](<https://devfeed.tech/tags/openai.md>), [responses](<https://devfeed.tech/tags/responses.md>), [schema](<https://devfeed.tech/tags/schema.md>), [structured](<https://devfeed.tech/tags/structured.md>), [structured-output](<https://devfeed.tech/tags/structured-output.md>), [tips](<https://devfeed.tech/tags/tips.md>)

### AI overview

This tutorial explains that structured responses from OpenAI can be obtained by defining the expected output format with JSON Schema. It includes a Python example using the OpenAI client.

### Source excerpt

OpenAI Tip: If you need structured output from the LLM, use structured responses and define the expected format with JSON Schema. Here's an example: from openai import OpenAI import os client = OpenAI(api_key=os.getenv("OPENAI_API_KEY")) # Define the exact shape you want back.

## How to Inject Host and Group Vars from Ansible into NetBox Config Templates

DevFeed: [How to Inject Host and Group Vars from Ansible into NetBox Config Templates](<https://devfeed.tech/articles/how-to-inject-host-and-group-vars-from-ansible-into-netbox-config-templates-30855.md>)

Original publisher: [Read original article](<https://www.packetcoders.io/how-to-inject-host-and-group-vars-from-ansible-into-netbox-config-templates/>)

Author: Rick Donato

Published: 2025-12-18T09:00:32Z

Content type: tutorial

Language: en

Sources: [Packet Coders - Learn Network Automation](<https://devfeed.tech/sources/packet-coders-learn-network-automation.md>)

Topics: [Ansible](<https://devfeed.tech/topics/ansible.md>), [NetBox](<https://devfeed.tech/topics/netbox.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [ansible](<https://devfeed.tech/tags/ansible.md>), [api](<https://devfeed.tech/tags/api.md>), [config](<https://devfeed.tech/tags/config.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [example](<https://devfeed.tech/tags/example.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [netbox](<https://devfeed.tech/tags/netbox.md>), [templates](<https://devfeed.tech/tags/templates.md>), [tips](<https://devfeed.tech/tags/tips.md>)

### AI overview

A tutorial showing how to pass Ansible group_vars and host_vars into NetBox Config Templates so the variables can be used when rendering configuration.

### Source excerpt

Ansible and NetBox Tip: Pass Ansible group_vars and host_vars into NetBox Config Templates by sending your Ansible vars, making them available directly within your Config Templates. Here is an example: # Ansible Playbook - name: Trigger NetBox to return rendered configuration ansible.builtin.uri: url: "{{ NETBOX_ENDPOINT }}/api/dcim/

## Validate Environment Variables with Pydantic

DevFeed: [Validate Environment Variables with Pydantic](<https://devfeed.tech/articles/validate-environment-variables-with-pydantic-30865.md>)

Original publisher: [Read original article](<https://www.packetcoders.io/validate-environment-variables-with-pydantic/>)

Author: Rick Donato

Published: 2025-12-02T08:00:19Z

Content type: tutorial

Language: en

Sources: [Packet Coders - Learn Network Automation](<https://devfeed.tech/sources/packet-coders-learn-network-automation.md>)

Topics: [Pydantic](<https://devfeed.tech/topics/pydantic.md>), [Environment Variables](<https://devfeed.tech/topics/environment-variables.md>), [.env](<https://devfeed.tech/topics/dotenv.md>), [Python](<https://devfeed.tech/topics/python.md>)

Tags: [env-file-security](<https://devfeed.tech/tags/env-file-security.md>), [environment-variables](<https://devfeed.tech/tags/environment-variables.md>), [python](<https://devfeed.tech/tags/python.md>), [settings](<https://devfeed.tech/tags/settings.md>), [tips](<https://devfeed.tech/tags/tips.md>)

### AI overview

A brief tutorial tip showing how to validate environment variables from .env files with Pydantic before they reach an application. It also notes that this can remove the need to manually call python-dotenv.

### Source excerpt

Tip! Validate your env vars from your .env files before they hit your application by using Pydantic. This also eliminates the need to call python-dotenv manually. Here's an example: # uv add pydantic pydantic-settings python-dotenv from pydantic import Field, AnyHttpUrl, ValidationError from pydantic_settings import BaseSettings,

## AutoCon4 Takeaway: Flock9 Announced

DevFeed: [AutoCon4 Takeaway: Flock9 Announced](<https://devfeed.tech/articles/autocon4-takeaway-flock9-announced-30851.md>)

Original publisher: [Read original article](<https://www.packetcoders.io/autocon4-takeaway-flock9-announced/>)

Author: Rick Donato

Published: 2025-11-28T10:00:55Z

Content type: release

Language: en

Sources: [Packet Coders - Learn Network Automation](<https://devfeed.tech/sources/packet-coders-learn-network-automation.md>)

Topics: [Automation](<https://devfeed.tech/topics/automation.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Network](<https://devfeed.tech/topics/network.md>), [Model Context Protocol](<https://devfeed.tech/topics/model-context-protocol.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [announcements](<https://devfeed.tech/tags/announcements.md>), [automation](<https://devfeed.tech/tags/automation.md>), [blog](<https://devfeed.tech/tags/blog.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [network](<https://devfeed.tech/tags/network.md>), [product](<https://devfeed.tech/tags/product.md>), [upgrades](<https://devfeed.tech/tags/upgrades.md>)

### AI overview

Flock9 has announced major upgrades that bring Netpicker and Slurpit together under one product catalog. The update adds AI-assisted automation, Nautobot integration, workflow automation, a multi-instance service manager, and Slurp'it MCP access to network data.

### Source excerpt

One of the big announcements from AutoCon4 last week came from the team behind Netpicker and Slurpit. They have now released major upgrades, and have aligned the product catalog under the umbrella of the Flock9 platform, bringing Netpicker and Slurpit even closer together. The TL;DR Netpicker AI Assistant Netpicker