Metadata-Version: 2.1
Name: carto-auth
Version: 0.1.0b2
Summary: Python library to authenticate with CARTO
Home-page: https://github.com/cartodb/carto-auth
Author: CARTO
Author-email: jarroyo@carto.com
License: BSD 3-Clause
Keywords: carto,auth,oauth,carto-dw,bigquery
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: requests
Provides-Extra: carto-dw
Requires-Dist: google-auth ; extra == 'carto-dw'
Requires-Dist: google-cloud-bigquery ; extra == 'carto-dw'

# carto-auth

[![PyPI version](https://badge.fury.io/py/carto-auth.svg)](https://badge.fury.io/py/carto-auth)
[![Tests](https://github.com/cartodb/carto-auth/actions/workflows/ci.yml/badge.svg)](https://github.com/cartodb/carto-auth/actions)

Python library to authenticate with [CARTO](carto.com).

## Install

```bash
pip install carto-auth
```

To install the CARTO DW extension:

```bash
pip install carto-auth[carto-dw]
```

### Installing from source

```bash
git clone https://github.com/cartodb/carto-auth
cd carto-auth
pip install .
```

## Usage

```py
from carto_auth import CartoAuth

# Authentication
carto_auth = CartoAuth.from_oauth()
# carto_auth = CartoAuth.from_file("./carto_credentials.json")

# Get access token
access_token = carto_auth.get_access_token()

# CARTO Data Warehouse
carto_dw_project, carto_dw_token = carto_auth.get_carto_dw_credentials()
carto_dw_client = carto_auth.get_carto_dw_client()
```

For more information, check the [examples](./examples) section.

## Development

Make commands:

- init: create the environment and install dependencies
- lint: run linter (black + flake8)
- test: run tests (pytest)
- docs: build the documentation
- publish-pypi: publish package in pypi.org
- publish-test-pypi: publish package in test.pypi.org
- clean: remove the environment

Check the development [documentation](./docs) section.

## Contributors

- [Jesús Arroyo](https://github.com/jesus89)
- [Óscar Ramírez](https://github.com/tuxskar)


