Metadata-Version: 2.1
Name: adsctl
Version: 0.1.0
Summary: Google Ads Control CLI and Prompt
Project-URL: Documentation, https://github.com/danielfrg/adsctl#readme
Project-URL: Issues, https://github.com/danielfrg/adsctl/issues
Project-URL: Source, https://github.com/danielfrg/adsctl
Author-email: Daniel Rodriguez <daniel@danielfrg.com>
License-Expression: Apache-2.0
License-File: LICENSE.txt
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=3.8
Requires-Dist: click>=8.1
Requires-Dist: google-ads>=20.0.0
Requires-Dist: prettytable>=3.6.0
Requires-Dist: prompt-toolkit>=3.0.38
Provides-Extra: test
Requires-Dist: pytest; extra == 'test'
Requires-Dist: pytest-cov; extra == 'test'
Description-Content-Type: text/markdown

# Google Ads Control CLI and Prompt

[![PyPI - Version](https://img.shields.io/pypi/v/adsctl.svg)](https://pypi.org/project/adsctl)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/adsctl.svg)](https://pypi.org/project/adsctl)

Features:

- Command line tool for managing Google Ads accounts.
  Like [kubectl](https://kubernetes.io/docs/reference/kubectl/) for Google Ads.
- A command line tool for executing GAQL queries against the Google Ads API.
  Like [psql](https://www.postgresql.org/docs/current/app-psql.html) for the Google Ads API.

## Installation

```shell
pip install adsctl
```

## CLI

### Authentication

```shell
adsctl auth <path-to-secret.json>
```

### Campaign Management

#### Update budget

```shell
adsctl -c <customer-id> campaign -i <campaign-id> budget <amount>
```

## Prompt

An interactive shell for executing GAQL queries against the Google Ads API.

```shell
gaql -f path-to-google-ads.yaml -c <customer-id>

>>> SELECT campaign.id, campaign.name FROM campaign ORDER BY campaign.id
+--------------------------------+-------------+
|              name              |      id     |
+--------------------------------+-------------+
| campaign 1                     | 18273300000 |
| campaign 2                     | 18319200001 |
| campaign 3                     | 18319300002 |
+--------------------------------+-------------+
```
