Metadata-Version: 2.4
Name: pyobas
Version: 1.18.14
Summary: Python API client for OpenBAS.
Author-email: Filigran <contact@filigran.io>
Maintainer-email: Filigran <contact@filigran.io>
License: Apache-2.0
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Natural Language :: English
Classifier: Natural Language :: French
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Security
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: datefinder<0.8,>=0.7.3
Requires-Dist: pika<1.4.0,>=1.3.0
Requires-Dist: python-magic<0.5,>=0.4.27; sys_platform == "linux" or sys_platform == "darwin"
Requires-Dist: python-magic-bin<0.5,>=0.4.14; sys_platform == "win32"
Requires-Dist: python_json_logger<3.4.0,>=3.3.0
Requires-Dist: PyYAML<6.1,>=6.0
Requires-Dist: pydantic<2.12.0,>=2.11.3
Requires-Dist: requests<2.33.0,>=2.32.3
Requires-Dist: setuptools<80.5.0,>=80.4.0
Requires-Dist: cachetools<5.6.0,>=5.5.0
Requires-Dist: prometheus-client<0.22.0,>=0.21.1
Requires-Dist: opentelemetry-api<1.33.0,>=1.32.0
Requires-Dist: opentelemetry-sdk<1.33.0,>=1.32.0
Requires-Dist: requests-toolbelt<1.1.0,>=1.0.0
Requires-Dist: dataclasses-json<0.7.0,>=0.6.4
Requires-Dist: thefuzz<0.23,>=0.22
Provides-Extra: dev
Requires-Dist: black<25.2.0,>=25.1.0; extra == "dev"
Requires-Dist: build<1.3.0,>=1.2.1; extra == "dev"
Requires-Dist: isort<6.1.0,>=6.0.0; extra == "dev"
Requires-Dist: types-pytz<2025.3.0.0,>=2025.2.0.20250326; extra == "dev"
Requires-Dist: pre-commit<4.3.0,>=4.2.0; extra == "dev"
Requires-Dist: types-python-dateutil<2.10.0,>=2.9.0; extra == "dev"
Requires-Dist: wheel<0.46.0,>=0.45.1; extra == "dev"
Provides-Extra: doc
Requires-Dist: autoapi<2.1.0,>=2.0.1; extra == "doc"
Requires-Dist: sphinx-autodoc-typehints<3.3.0,>=3.2.0; extra == "doc"
Requires-Dist: sphinx-rtd-theme<3.1.0,>=3.0.2; extra == "doc"
Dynamic: license-file

# OpenBAS client for Python

[![Website](https://img.shields.io/badge/website-openbas.io-blue.svg)](https://openbas.io)
[![CircleCI](https://circleci.com/gh/OpenBAS-Platform/client-python.svg?style=shield)](https://circleci.com/gh/OpenBAS-Platform/client-python/tree/main)
[![readthedocs](https://readthedocs.org/projects/openbas-client-for-python/badge/?style=flat)](https://openbas-client-for-python.readthedocs.io/en/latest/)
[![GitHub release](https://img.shields.io/github/release/OpenBAS-Platform/client-python.svg)](https://github.com/OpenBAS-Platform/client-python/releases/latest)
[![Number of PyPI downloads](https://img.shields.io/pypi/dm/pyobas.svg)](https://pypi.python.org/pypi/pyobas/)
[![Slack Status](https://img.shields.io/badge/slack-3K%2B%20members-4A154B)](https://community.filigran.io)

The official OpenBAS Python client helps developers to use the OpenBAS API by providing easy to use methods and utils.
This client is also used by some OpenBAS components.

## Install

To install the latest Python client library, please use `pip`:

```bash
$ pip3 install pyobas
```

## Local development

```bash
# Fork the current repository, then clone your fork
$ git clone https://github.com/YOUR-USERNAME/client-python
$ cd client-python
$ git remote add upstream https://github.com/OpenBAS-Platform/client-python.git
# Create a branch for your feature/fix
$ git checkout -b [branch-name]
# Create a virtualenv
$ python3 -m venv .venv
$ source .venv/bin/activate
# Install the client-python and dependencies for the development and the documentation
$ python3 -m pip install -e .[dev,doc]
# Set up the git hook scripts
$ pre-commit install
# Create your feature/fix
# Create tests for your changes
$ python -m unittest
# Push you feature/fix on Github
$ git add [file(s)]
$ git commit -m "[descriptive message]"
$ git push origin [branch-name]
# Open a pull request
```

### Install the package locally

```bash
$ pip install -e .
```

## Documentation

### Client usage

To learn about how to use the OpenBAS Python client and read some examples and cases, refer to [the client documentation](https://openbas-client-for-python.readthedocs.io/en/latest/client_usage/getting_started.html).

### API reference

To learn about the methods available for executing queries and retrieving their answers, refer to [the client API Reference](https://openbas-client-for-python.readthedocs.io/en/latest/pyobas/pyobas.html).

## Tests

The standard `unittest` library is used for running the tests.

```bash
$ python -m unittest
```

## Code Coverage

To run the tests and generate a code coverage report:

```bash
pytest --cov=. tests/
```

## About

OpenBAS is a product designed and developed by the company [Filigran](https://filigran.io).

<a href="https://filigran.io" alt="Filigran"><img src="https://github.com/OpenBAS-Platform/openbas/raw/master/.github/img/logo_filigran.png" width="300" /></a>
