Skip to main content

Python version Downloads License

Maintenance Status

This tool is no longer actively maintained.

It remains usable, but no new features or fixes are planned.

If you encounter any broken versions, please report them via the Forked repository, thanks.

Authentication Support Notice

We exclusively use SSO.

Basic and MFA authentication may still work, but they are no longer tested or guaranteed.

Overview

The Apigee Edge command-line interface is an unofficial Python CLI built to simplify and automate Apigee API usage.

  • Originally built for Darumatic clients

  • Designed for Apigee Edge

  • Supports common API management workflows

Recently Tested

The following commands and features were validated during final updates and refactoring:

Authentication

  • SSO login flow (primary supported method)

  • Basic auth (not actively tested)

  • MFA auth (not actively tested)

Core Functionality

  • list and get subcommands for:

    • apis

    • keyvaluemaps

    • caches

    • targetservers

    • sharedflows

    • apps

  • apis subcommands:

    • deploy

    • pull

  • push and delete commands for:

    • keyvaluemaps

    • caches

    • targetservers

  • backups command:

    • Core functionality appears to work, but testing has been limited

    • New --async feature has been introduced and appears to function correctly

    • Fixed issue where user roles were not being downloaded correctly during backups

  • More commands and features will be tested and added here over time.

Deprecation

This tool was designed for Apigee Edge, which is being phased out in favor of Apigee X (ApigeeX).

No major enhancements for ApigeeX compatibility are planned.

Recommendation

For new implementations, consider:

  • Official Google Cloud / Apigee tooling

  • Direct ApigeeX API usage

  • Modern CI/CD integrations

This CLI is best suited for:

  • Legacy automation

  • Transitional environments

  • Existing scripts that depend on it

Installation

The easiest way to install apigee-cli is to use pip in a virtualenv:

$ pip install apigeecli

or, if you are not installing in a virtualenv, to install globally:

$ sudo pip install apigeecli

or for your user:

$ pip install --user apigeecli

If you have the apigee-cli installed and want to upgrade to the latest version you can run:

$ pip install --upgrade apigeecli

Getting Started

Before using apigee-cli, you need to tell it about your Apigee Edge credentials. You can do this in three ways:

  • Environment variables

  • Config file

  • Command-line arguments

The steps below show how to use command-line arguments to configure your Apigee Edge credentials.

Basic authentication

$ apigee configure -P default -u MY_EMAIL -p MY_PASS -o MY_ORG -mfa '' -z '' --no-token --prefix ''

Multi-factor authentication (MFA)

$ apigee configure -P default -u MY_EMAIL -p MY_PASS -o MY_ORG -mfa MY_KEY -z '' --no-token --prefix ''

SSO authentication

$ apigee configure -P default -u MY_EMAIL -p none -o MY_ORG -mfa '' -z MY_ZONENAME --no-token --prefix ''

If you are not currently signed in by your identity provider, you will be prompted to sign in:

$ apigee apis list
SSO authorization page has automatically been opened in your default browser.
Follow the instructions in the browser to complete this authorization request.

If your browser did not automatically open, go to the following URL and sign in:

https://{zoneName}.login.apigee.com/passcode

then copy the Temporary Authentication Code.

Please enter the Temporary Authentication Code:

zoneName will be the Identity zone name you previously configured.

Refer to the official Apigee documentation to learn more about how to Access the Edge API with SAML.

Testing your credentials

Run the following command to get a list of API proxies in your default Apigee organization:

$ apigee apis list
["helloworld", "oauth"]

Troubleshooting

If you encounter issues with commands, check the log file for detailed debug information and error messages:

~/.apigee/exceptions.log

This file can help diagnose installation problems, missing dependencies, or errors related to Apigee Edge.

You can also use the verbose flags -v or -vv with commands to see more detailed request information.

SSL / TLS Issues

If you encounter SSL errors such as:

requests.adapters.SSLError

This may be caused by corporate security proxies.

As a workaround, you can disable SSL verification by setting the following environment variable.

export APIGEE_CLI_ENABLE_SSL_VERIFY=false

Plugins (Optional)

The plugin system was designed for clients in large organisations to extend apigeecli with custom workflows and easily distribute reusable tools across teams.

Typical use cases include:

  • Self-service generation and deployment of API proxies from OpenAPI specifications

  • Integration with and automated provisioning of CI/CD pipelines

  • Validation of custom apiproxy policies against organisational standards

  • Security scanning of API resources using Apigee Edge Admin APIs

  • Operational and governance tooling built on top of existing platform APIs

Plugin repositories are configured as sources. The CLI can add, remove, edit, install, update, and inspect these sources.

Configure plugin sources

Add a plugin source:

apigee plugins add https://github.com/mdelotavo/apigee-cli-plugins.git

By default, the repository name is used as the source key. To specify your own key:

apigee plugins add https://github.com/mdelotavo/apigee-cli-plugins.git --key example

Remove a configured plugin source by key or URL:

apigee plugins remove apigee-cli-plugins

apigee plugins remove https://github.com/mdelotavo/apigee-cli-plugins.git

For bulk edits, you can edit the configuration directly:

apigee plugins configure

To automatically apply configuration changes after saving (install new plugins, update existing plugins, and prune removed repositories):

apigee plugins configure -a

You can also edit the configuration manually in ~/.apigee/plugins/config:

[sources]
apigee-cli-plugins = https://github.com/mdelotavo/apigee-cli-plugins.git

Install and manage plugins

Install new plugins and update existing ones:

apigee plugins update

Inspect configured and installed plugins:

apigee plugins show
apigee plugins show -n apigee-cli-plugins

Remove plugin repositories that are no longer configured:

apigee plugins prune

If you first remove a source with apigee plugins remove, running apigee plugins prune will remove the corresponding local repository.

If one or more dependencies could not be installed automatically, the CLI will report the failures and display the appropriate pip command to install the remaining packages manually.

Creating plugins

This section shows how to start prototyping plugins on your local machine. See the sections below to learn how to distribute your commands as remote plugins that can be installed and updated from Git repositories.

Create a new local plugin:

apigee plugins new test

Show the generated command help:

apigee run test hello --help

Run the example command:

apigee test hello \
   "Hello, World!" \
   --count 3 \
   --format json \
   -vv \
   --enabled \
   --tag alpha \
   --tag beta

Edit the generated source code:

vim ~/.apigee/plugins/test/plugin_*.py

Getting Help

Disclaimer

This tool is not affiliated with Apigee or Google and is highly experimental.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

apigeecli-0.56.0.tar.gz (63.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

apigeecli-0.56.0-py3-none-any.whl (85.8 kB view details)

Uploaded Python 3

File details

Details for the file apigeecli-0.56.0.tar.gz.

File metadata

  • Download URL: apigeecli-0.56.0.tar.gz
  • Upload date:
  • Size: 63.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for apigeecli-0.56.0.tar.gz
Algorithm Hash digest
SHA256 fa93e2aa3ef1270aa6dbfde617795b3bd48ca216f3ec912881112d0bf4b41a76
MD5 578022a594456af23e900404d393bd9c
BLAKE2b-256 7741a0b9f9816ed17960c6511a6cfdf3e8f0a44d95fca74071d3b4904934d06e

See more details on using hashes here.

File details

Details for the file apigeecli-0.56.0-py3-none-any.whl.

File metadata

  • Download URL: apigeecli-0.56.0-py3-none-any.whl
  • Upload date:
  • Size: 85.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for apigeecli-0.56.0-py3-none-any.whl
Algorithm Hash digest
SHA256 19b2d3d4ecb2fdedd1e6b732917bed607d07aa6f33b72829c938fc5c21194579
MD5 99b856a864fac48353d355ab934cb069
BLAKE2b-256 69b7891ee717357f886560629a1dd8a2a14a4919c36d74920e44822b06229086

See more details on using hashes here.

Release history Release notifications | RSS feed

0.56.1

2 files

This release

0.56.0 This release

2 files

0.55.2

2 files

0.55.1

2 files

0.55.0

2 files

0.54.1

2 files

0.54.0

2 files

0.53.11

2 files

0.53.10

2 files

0.53.9

2 files

0.53.8

2 files

0.53.7

2 files

0.53.6

2 files

0.53.5

2 files

0.53.4

2 files

0.53.3

2 files

0.53.2

2 files

0.53.1

2 files

0.53.0

2 files

0.52.1

2 files

0.52.0

2 files

0.51.1

2 files

0.51.0

2 files

0.50.3

2 files

0.50.2

2 files

0.50.1

2 files

0.50.0

2 files

0.49.5

2 files

0.49.4

2 files

0.49.3

2 files

0.49.2

2 files

0.49.1

2 files

0.49.0

2 files

0.48.8

2 files

0.48.7

2 files

0.48.6

2 files

0.48.5

2 files

0.48.4

2 files

0.48.3

2 files

0.48.2

2 files

0.48.1

2 files

0.48.0

2 files

0.47.2

2 files

0.47.1

2 files

0.47.0

2 files

0.46.7

2 files

0.46.6

2 files

0.46.5

2 files

0.46.4

2 files

0.46.3

2 files

0.46.2

2 files

0.46.1

2 files

0.46.0

2 files

0.45.2

2 files

0.45.1

2 files

0.45.0

2 files

0.44.6

2 files

0.44.5

2 files

0.44.4

2 files

0.44.3

2 files

0.44.2

2 files

0.44.1

2 files

0.44.0

2 files

0.43.1

2 files

0.43.0

2 files

0.42.3

2 files

0.42.2

2 files

0.42.1

2 files

0.42.0

2 files

0.41.1

2 files

0.41.0

2 files

0.40.0

2 files

0.39.0

2 files

0.38.2

2 files

0.38.1

2 files

0.38.0

2 files

0.37.4

2 files

0.37.3

2 files

0.37.2

2 files

0.37.1

2 files

0.37.0

2 files

0.36.2

2 files

0.36.1

2 files

0.36.0

2 files

0.35.0

2 files

0.34.2

2 files

0.34.1

2 files

0.34.0

2 files

0.33.1

2 files

0.33.0

2 files

0.32.0

2 files

0.31.5

2 files

0.31.4

2 files

0.31.3

2 files

0.31.2

2 files

0.31.1

2 files

0.31.0

2 files

0.30.1

2 files

0.30.0

2 files

0.29.2

2 files

0.29.1

2 files

0.29.0

2 files

0.28.0

2 files

0.27.0

2 files

0.26.0

2 files

0.25.0

2 files

0.24.2

2 files

0.24.1

2 files

0.24.0

2 files

0.23.6

2 files

0.23.5

2 files

0.23.4

2 files

0.23.3

2 files

0.23.2

2 files

0.23.1

2 files

0.23.0

2 files

0.22.0

2 files

0.21.2

2 files

0.21.1

2 files

0.21.0

2 files

0.20.1

2 files

0.20.0

2 files

0.19.0

2 files

0.18.1

2 files

0.18.0

2 files

0.17.8

2 files

0.17.6

2 files

0.17.5

2 files

0.17.4

2 files

0.17.3

2 files

0.17.2

2 files

0.17.1

2 files

0.17.0

2 files

0.16.11

2 files

0.16.10

2 files

0.16.9

2 files

0.16.8

2 files

0.16.7

2 files

0.16.6

2 files

0.16.5

2 files

0.16.4

2 files

0.16.3

2 files

0.16.2

2 files

0.16.1

2 files

0.16.0

1 file

0.15.0

1 file

0.14.1

1 file

0.14.0

1 file

0.13.0

1 file

0.12.1

1 file

0.12.0

1 file

0.11.1

1 file

0.11.0

1 file

0.10.4

1 file

0.10.3

1 file

0.10.2

1 file

0.10.1

1 file

0.10.0

1 file

0.9.0

1 file

0.8.3

1 file

0.8.2

1 file

0.8.1

1 file

0.8.0

1 file

0.7.2

1 file

0.7.1

1 file

0.7.0

1 file

0.6.0

1 file

0.5.0

1 file

0.4.0

1 file

0.3.2

1 file

0.3.1

1 file

0.3.0

1 file

0.2.2

1 file

0.2.1

1 file

0.2.0

1 file

0.1.2

1 file

0.1.1

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page