Skip to content

expel-io/pyexclient

Repository files navigation


Pyexclient

A Python client for the Expel Workbench.
Explore the docs »

Report Bug · Request Feature · Expel.io

Table of Contents

About The Project

Pyexclient is a Python client for the Expel Workbench. If you can click it in the UI, you can also automate it with our APIs. Want to build a custom report? Integrate Expel Workbench with your SOAR platform? Pyexclient can help you accomplish that and more!

Getting Started

To get up and running follow these simple steps.

Prerequisites

Pyexclient requires python>=3.9 and the requests package.

Installation

To install Pyexclient, use pip.

pip3 install pyexclient

Usage

You can get started with Pyexclient in two easy steps:

Step 1: Authenticate to Workbench

You can authenticate with your Expel Workbench credentials:

import getpass
from pyexclient import WorkbenchClient

wb = WorkbenchClient(
        'https://workbench.expel.io',
        username=input("Username: "),
        password=getpass.getpass("Password: ",
        mfa_code=input("MFA Code: ")
    )

Alternatively, you can authenticate with an API key (useful for long running scripts). Contact your Expel Engagement Manager to request an API key.

import getpass
from pyexclient import WorkbenchClient

wb = WorkbenchClient(
        'https://workbench.expel.io',
        token=getpass.getpass("API Token: ")
    )

Step 2: Start Exploring!

In the example below, we're printing investigations:

for inv in wb.investigations:
    print(inv)

For more examples (we have a ton!), please refer to the Documentation. As a starting point, check out Code Snippets and Example Scripts.

Issues

If you find a bug or have an idea for the next amazing feature, please create an issue. We'll get back to you as soon as we can!

Contributing

Contributions are welcome!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the BSD 2-Clause License. See LICENSE for more information.