Metadata-Version: 2.1
Name: nbg
Version: 0.7.1
Summary: Official Python SDK for NBG APIs
Home-page: https://github.com/myNBGcode/nbg-python-sdk
Author: National Bank of Greece
Requires-Python: >=3.6,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Provides-Extra: docs
Requires-Dist: python-jose[cryptography] (>=3.1.0,<4.0.0)
Requires-Dist: requests (>=2.22.0,<3.0.0)
Requires-Dist: sphinx (>=3.0.0,<4.0.0); extra == "docs"
Project-URL: Documentation, https://nbg-python-sdk.readthedocs.io
Project-URL: Repository, https://github.com/myNBGcode/nbg-python-sdk
Description-Content-Type: text/markdown

# NBG Python SDK

[![Downloads of nbg on PyPI](https://pepy.tech/badge/nbg)](https://pepy.tech/project/nbg) [![nbg is packaged as wheel](https://img.shields.io/pypi/wheel/nbg.svg)](https://pypi.org/project/nbg/) [![Supported Python versions of nbg](https://img.shields.io/pypi/pyversions/nbg.svg)](https://pypi.org/project/nbg/) [![Documentation Status](https://readthedocs.org/projects/nbg-python-sdk/badge/?version=latest)](https://nbg-python-sdk.readthedocs.io/en/latest/?badge=latest)

The [`nbg` Python package](https://pypi.org/project/nbg) enables developers to build applications that use the public APIs of the National Bank of Greece.


## Installation

We suggest using a package manager like [Poetry](https://python-poetry.org) or [Pipenv](https://pipenv.pypa.io) to install `nbg`. This guarantees that the intended version of `nbg` will be installed every time, through content hash checks:

```console
poetry add nbg
```

Alternatively you can use Pipenv:

```console
pipenv install nbg
```

In case you cannot use Poetry or Pipenv, you can always install `nbg` with [pip](https://pip.pypa.io/en/stable/):

```console
pip install nbg
```

## Documentation

The full documentation for the NBG Python SDK is hosted at Read the Docs: https://readthedocs.org/projects/nbg-python-sdk.

## API clients

The National Bank of Greece provides a set of multiple APIs. To use each one of these APIs, you should pick the corresponding client from the `nbg` package.

### Accounts Information PSD2 API

```python
from nbg import account_information


# Step 1 - Set up client and authentication
client_id="your_client_id"
client_secret="your_client_secret"
client = account_information.AccountInformationPSD2Client(
    client_id=client_id,
    client_secret=client_secret,
    production=False,
)
client.set_access_token("access_token_of_your_user")

# Step 2 - Set up a sandbox, when in development
sandbox_id = f"{client_id}_sandbox"
client.create_sandbox(sandbox_id)
client.set_sandbox(sandbox_id)

# Step 3 - Start working with the Account information API
accounts = client.accounts(user_id="your_user_id")
print(accounts)
```

