Metadata-Version: 2.4
Name: idsecure-cli
Version: 0.1.7
Summary: Python SDK and CLI tool for the IDSecure API
Author: Tulio Amancio
License-Expression: MIT
Project-URL: Homepage, https://github.com/tsuriu/idsecure-cli
Project-URL: Bug Tracker, https://github.com/tsuriu/idsecure-cli/issues
Keywords: idsecure,sdk,api,client
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: httpx>=0.24.0
Requires-Dist: click>=8.1.0
Requires-Dist: loguru>=0.7.0

# IDSecure Python SDK & CLI

A Python client and CLI tool for interacting with the IDSecure API. This project provides a simple and intuitive interface to manage users, devices, and view logs within your IDSecure instance.

## Installation

Install via pip:

```bash
pip install idsecure-cli
```

Or install from source:

```bash
git clone https://github.com/tsuriu/idsecure-cli.git
cd idsecure-cli
pip install .
```

## CLI Usage

The package includes a command-line interface `idsecure-cli`.

### Configuration

You can provide credentials via flags or environment variables:

- `--url` / `IDSECURE_BASE_URL`
- `--user` / `IDSECURE_USERNAME`
- `--password` / `IDSECURE_PASSWORD`

### Commands

```bash
# List all users
idsecure-cli list-users

# List all devices
idsecure-cli list-devices

# Get details for a specific user
idsecure-cli get-user --id 123

# Delete a user
idsecure-cli delete-user --id 123
```

### Visitor Management

```bash
# List all visitors
idsecure-cli list-visitors

# Create a new visitor
idsecure-cli create-visitor --name "John Doe" --date "01/01/2026"

# Delete a visitor
idsecure-cli delete-visitor --id 456
```

### Group & Department Management

```bash
# List all groups
idsecure-cli list-groups

# List all departments
idsecure-cli list-departments

# Create a new group
idsecure-cli create-group --name "Engineering" --user-id 123 --user-id 456

# Create a new department
idsecure-cli create-department --name "R&D"

# Update a group
idsecure-cli update-group --id 789 --name "Hardware Engineering"

# Delete a group
idsecure-cli delete-group --id 789
```

### SSL Verification

If you are using a local instance with a self-signed certificate, you can disable SSL verification using the `--no-verify` flag:

```bash
idsecure-cli --no-verify list-users
```

## SDK Usage

You can also use the `IDSecureClient` directly in your Python scripts.

### Initialization

```python
import asyncio
from idsecure_cli import IDSecureClient

async def main():
    # Initialize the client
    client = IDSecureClient(
        base_url="https://your-idsecure-instance.com", 
        username="your-username", 
        password="your-password"
    )

    # All client methods are asynchronous
    async with client:
        users = await client.list_users()
        print(f"Total users: {users.get('recordsTotal')}")

if __name__ == "__main__":
    asyncio.run(main())
```

### SSL Verification (SDK)

To disable SSL verification in the SDK:

```python
client = IDSecureClient(..., verify=False)
```

## Examples

Check the `examples/` directory for more usage examples:

- `example_usage.py`: Demonstrates listing users, devices, logs, and departments.

To run the example script with self-signed certificates:

```bash
IDSECURE_VERIFY=false python3 examples/example_usage.py
```

## Requirements

- Python 3.8+
- `httpx`
- `click`
- `loguru`

## License

This project is licensed under the MIT License.
