Skip to main content

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://haondt.gitlab.io/docs/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

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.2.tar.gz (44.4 kB view details)

Uploaded Source

Built Distribution

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

haondt_athena-5.0.2-py3-none-any.whl (36.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for haondt_athena-5.0.2.tar.gz
Algorithm Hash digest
SHA256 46a07806d9cf4353d556a1aa31da380c20c763d9efbf022d022923d02fa9803a
MD5 5b1493de3120939e676ed66a7e17698f
BLAKE2b-256 6d9f2e0eacb19ddbb2fb15bab88014a7885e0c4b4c7eac2774e122b4a8ad19e5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: haondt_athena-5.0.2-py3-none-any.whl
  • Upload date:
  • Size: 36.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for haondt_athena-5.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ae857e22e3b56a876b1f5819e5200bb3da9d79b8745072c30e3ee5dbe8d36bd7
MD5 5d2084d4c9ddf778d069a556037708a5
BLAKE2b-256 9003f8f9fce768993f63be8f2454b7699b1b4ab82fd4e8da1457c93cae5324e1

See more details on using hashes here.

Release history Release notifications | RSS feed

5.1.2

2 files

5.1.1

2 files

5.1.0

2 files

5.0.4

2 files

5.0.3

2 files

This release

5.0.2 This release

2 files

5.0.1

2 files

5.0.0

2 files

4.1.1

2 files

4.1.0

2 files

4.0.2

2 files

4.0.1

2 files

4.0.0

2 files

3.0.2

2 files

3.0.1

2 files

3.0.0

2 files

2.4.0

2 files

2.3.2

2 files

2.3.1

2 files

2.3.0

2 files

2.2.2

2 files

2.2.1

2 files

2.2.0

2 files

2.1.0

2 files

2.0.3

2 files

2.0.2

2 files

2.0.1

2 files

2.0.0

2 files

1.2.0

1 file

1.1.0

1 file

1.0.5

1 file

1.0.4

1 file

1.0.3

1 file

1.0.0

2 files

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