API integrations can be cumbersome and messy, and Ergal makes this process cleaner and more efficient by enabling the user to create, manage, and access simple API profiles stored in a lightweight SQLite database.
The Ergal calling structure is also fully async, making it significantly faster and more efficient than traditional linear implementations.
Ergal is a derivation of the Greek word εργαλείο (ergaleío), meaning tool.
- Concise integrations
- Cleaner codebases
- Faster API interactions
pip install ergal
Before we can access an API (we'll use
httpbin.com in this case), we have to add an
API Profile. To create an
API profile, we'll use the
Profile class from
>>> from ergal import Profile >>> profile = Profile('HTTPBin', base='https://httbin.org') Profile for 'HTTPBin' created on e74afb669fb45b58a6c742b83f624166.
A new row has been created in the local
ergal.db database to house the API profile's information.
Now that the profile has been created, we'll need to add an endpoint, and to do so, we'll use the
add_endpoint method, and supply it with a
>>> profile.add_endpoint('Get JSON', '/json', 'get') Endpoint 'Get JSON' for 'HTTPBin' added on e74afb669fb45b58a6c742b83f624166.
With an endpoint added, we can make the call. To do that, we'll use the
call method. All we need to supply is the name of the endpoint we just added, and ergal will do the rest.
>>> asyncio.run(profile.call('Get JSON')) <Response >
Hooray! Now we can do whatever we want with our cleaned up and easy-to-work-with dictionary of response data.
You can also now use the Ergal CLI:
$ python -m ergal.cli
As per most open source projects, submitted code needs to be continuous with the rest in style, it needs to be as succinct and readable as it can be, and it has to serve a real purpose according to the objectives of this project.
First, fork the master repository. Then, do this:
git clone https://github.com/<your username>/ergal cd ergal poetry install
- pyenv (preferred venv manager)