semvec/pypi-packages huggingface dataset:
agentpulse 0.1.0
AI Agent Observability SDK - Auto-instrument your AI agents with one line of code
Requires Python: >=3.10
Keywords: agents, ai, crewai, langgraph, llm, monitoring, observability, tracing

# AgentPulse

Open-source observability SDK for AI agents. Auto-instrument CrewAI, LangGraph, and more with one line of code.

## Install

```bash
pip install agentpulse
```

With framework extras:

```bash
pip install agentpulse[crewai]
pip install agentpulse[langgraph]
pip install agentpulse[all]
```

## Quick Start

```python
import agentpulse
agentpulse.init()  # Auto-detects and instruments CrewAI, LangGraph

from crewai import Agent, Task, Crew
# Your existing code works unchanged — fully traced
```

## What it captures

- **Agent steps**: Which agent ran, with what goal
- **Task execution**: Task descriptions, expected vs actual output
- **Tool calls**: Tool name, input, output
- **LLM calls**: Model, tokens, cost, latency
- **Decisions**: Agent routing and choices

## Manual instrumentation

```python
from agentpulse import trace, tool

@trace(name="my-agent-step")
def process_data(data):
    ...

@tool(name="search")
def search_web(query: str):
    ...
```

## Dashboard

AgentPulse comes with a full web dashboard. See the [main repo](https://github.com/chkoutam/agentpulse) for setup instructions.

## License

Apache 2.0
ezpanos 0.2.5
A lightweight PanOS (Palo Alto Netoworks) firewall Management utility.
Requires Python: >=3.9
Keywords: panorama, panos, palo alto networks, automation, remote-execution, batch, infrastructure, control-plane

# EZPanos

#### An Ergonomic and lightweight PanOS Utility Library

## Installation
``` bash
pip install ezpanos
```

## Quick Start
You may provide a username and password, or an API key.

If the username and password parameters are not populated without an API key, you will be prompted for them.

``` python
from ezpanos import EzPanOS
import getpass

creds = {
    "username": input("Username: "),
    "password": getpass.getpass("Password: ")
}
endpoint = "<Management interface IP"
connection = EzPanOS(endpoint, username=creds["username"], password=creds["password"])
print(connection.execute("show system info"))

```
## Using an API token

By default, the EzPanOS class will use username/password to generate an authentication token from PanOS. This can however, be overridden if you already have it.

``` python
from ezpanos import EzPanOS

endpoint = "x.x.x.x"
connection = EzPanOS(endpoint, api_key="xxxxxxxxxxxx")
print(connection.execute("show system info"))
```

## Retrieving a Device Configuration:
`Warning`: Each configuration can exceed 80+Mb each. Be mindful of memory leaks.

Memory utilization has been optimized during configuration retrieval using streaming output and tempfile utilization.

```
configuration_dictionary = connection.get_configuration()
```


## Saving a Device Configuration to Disk
To save a configuration to a file, use the `export_configuration` method.

``` python
from ezpanos import EzPanOS

endpoint = "x.x.x.x"
# or username/password outlined above
connection = EzPanOS(endpoint, api_key="xxxxxxxxxxxx") 
connection.export_configuration(output_filename="my_panos_configuration.json")
# if output_filename is null, default is:
# ./<endpoint_name>_yyy:mm:dd_hh:mm:ss.json 
```

## Getting the entire Device Configuration as a dictionary

for random access to a particular configuration item in the configuration, ruleset, network, interfaces, etc. Use the `get_configuration` method.

```python
from ezpanos import EzPanOS
from getpass import getpass
endpoint = "x.x.x.x"

# do NOT use this method on an untrusted system.
connection = EzPanOS(endpoint, username="user", password=getpass(f"Password: ")) 
configuration = connection.get_configration()
```

Currently an ideal platform for executing arbitrary PanOS commands against firewalls and Panorama instances for a wide variety of use cases.