Metadata-Version: 2.5
Name: publinker-cli
Version: 0.6.4
Summary: Command line for Publinker: sites, reports, floors and config.
Project-URL: Homepage, https://publinker.com
Author: Martech-DM
License: Proprietary
Keywords: auth0,cli,martech,publinker
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.10
Requires-Dist: keyring>=24.0.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: requests>=2.31.0
Requires-Dist: typer>=0.12.0
Provides-Extra: dev
Requires-Dist: black==25.9.0; extra == 'dev'
Requires-Dist: flake8>=7.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest-mock>=3.12; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: responses>=0.25; extra == 'dev'
Description-Content-Type: text/markdown

# publinker-cli

Command line for [Publinker](https://publinker.com): your sites, ad revenue
reports, pricing floors and site config, from the terminal and from AI
assistants like Claude Code and Codex.

You need a Publinker account. The CLI only sees the sites you can see on
publinker.com.

## Install

Needs Python 3.10+ and [pipx](https://pipx.pypa.io/stable/installation/).

```bash
pipx install publinker-cli
publinker skill install   # teaches Claude Code and Codex to use publinker
publinker login           # opens a browser to confirm a one-time code
```

Updates: when a newer version is on PyPI, publinker asks after a command
whether to install it (checked at most once a day). `publinker update` installs
it any time. `publinker update --check` prints the installed and latest versions
as JSON. Set `PUBLINKER_NO_UPDATE_CHECK=1` to turn the question off. It is never
asked in CI or when input or output is redirected.

## Use

```bash
publinker site list                 # sites you can access
publinker use example.com           # set your active site
publinker site report get --help    # every command has --help
publinker site pricing get
```

Commands that change data are blocked by default. Allow one command at a time
by prefixing it with `PUBLINKER_ALLOW_WRITES=1` and naming the site explicitly:

```bash
PUBLINKER_ALLOW_WRITES=1 publinker site pricing adjust --site example.com ...
```

Nothing stays unlocked afterwards. Don't `export` the variable.

## Servers and CI

On a machine where you are logged in, run `publinker token`, then on the
server set `PUBLINKER_TOKEN` to that value. Treat it like a password; mint a
new one when it expires.

## AI assistants

`publinker skill install` copies a skill to `~/.claude/skills/publinker` and
`~/.agents/skills/publinker`. For any other assistant, point it at the file
that `publinker skill path` prints.
