Skip to main content

a file-based rest api client

Project description

athena

PYPI - Version GitHub release (latest by date)

athena is a file-based rest api client.

$ pip install haondt-athena
$ athena init
$ cat << EOF > athena/hello.py
from athena.client import Athena

def run(athena: Athena):
    client = athena.client()
    client.get('http://echo.jsontest.com/key/value')
EOF
$ athena responses athena/hello.py
hello •
│ execution
│  environment: __default__
│
│ timings
│  http://echo...m/key/value    ························ 470ms
│
│ traces
│  http://echo.jsontest.com/key/value
│    GET http://echo.jsontest.com/key/value
│    200 OK 470ms
│  │
│   response
│    headers
│     Access-Control-Allow-Origin | *
│     Content-Type                | application/json
│     X-Cloud-Trace-Context       | 35b9c247eaaa4175c1949b97dd13548a
│     Date                        | Fri, 05 Jul 2024 20:33:16 GMT
│     Server                      | Google Frontend
│     Content-Length              | 17   │
│    body | application/json [json] 17B
│     1 {     2   "key": "value"     3 }    │
│   │
│  │
│ │
│

athena provides a lightweight alternative to full-blown api platforms like Postman with a few key advantages:

  • You are free to use any text editor you would like as the api client. Lightweight editors like Neovim or VSCode allow for a much thinner client.
  • As the workbook is just a collection of plaintext files, you can keep it in the same git repo as the project it is testing.
  • Since requests are just python modules, you can script to your hearts content, and leverage external python libraries.

Installation

athena can be installed as a pypi package or from source. athena requires python>=3.11.

# from pypi
python3 -m pip install haondt-athena

# from gitlab
python3 -m pip install haondt-athena --index-url https://gitlab.com/api/v4/projects/57154225/packages/pypi/simple

# from source
git clone https://gitlab.com/haondt/athena.git
python3 -m pip install .

Usage

Quickstart guide and API / CLI reference available here: https://docs.haondt.dev/athena/

Development

Running Tests

How to run the E2E tests

  • build docker images for the api echo server and for the test runner images
./tests/e2e/build_dockerfile.sh
  • start both images to run the tests
./tests/e2e/run_tests.sh

Project details


Download files

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

Source Distribution

haondt_athena-5.0.4.tar.gz (44.2 kB view details)

Uploaded Source

Built Distribution

haondt_athena-5.0.4-py3-none-any.whl (36.8 kB view details)

Uploaded Python 3

File details

Details for the file haondt_athena-5.0.4.tar.gz.

File metadata

  • Download URL: haondt_athena-5.0.4.tar.gz
  • Upload date:
  • Size: 44.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for haondt_athena-5.0.4.tar.gz
Algorithm Hash digest
SHA256 70af48236f59421bce2d3f4ad162d5ed0e6096925cdc18675b175699d19adb9f
MD5 0ce432c493f8076504d2bdbfcf9d1506
BLAKE2b-256 21f86955d799624b2635e93bd58cb056562e22abb2359e58ebfe42a49c3fa06d

See more details on using hashes here.

File details

Details for the file haondt_athena-5.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for haondt_athena-5.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 41a8c63710aecf1aba2068395237af16f68dd488312c11cd68e56d2aa234bec4
MD5 7d1ae65fcc1b500e83dc67fcbfaf5526
BLAKE2b-256 8f97d9cd68184726e985230157d4ea819bd6033a806af7c659fa100ab18e0563

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page