We are thrilled to announce the release of Algolia API Client Python v2. It features the implementation of our common API Client specification, support to asynchronous environments, waitable response objects, and much more.
Some of the new features include
Blazing-fast asynchronous methods
Within the same API Client, we support synchronous and asynchronous environments. Starting today, our Python API client provides asynchronous methods built on top of the Asyncio framework. It allows the usage of
await syntax added in Python 3.5, which makes the code non-blocking and speedy.
This point is very important as asynchronous programming in Python has become more and more popular lately! We are happy to bring our client to modern Python while supporting at the same time Python 2.
Brings the DX one step further
We added a bunch of new helpers that aren’t just a simple mapping to API endpoints. Users are now able to
replace_all_objects with zero downtime, or even
copy_index between apps:
Some customers have use cases where a complex code is needed, so we are really happy to turn things more easy for them.
Our library is using the standard “requests” module common in python API Clients. However, if our customer doesn’t want to use it, they can inject their own requester into our library. Good news is, even if you inject another requester it will run under our retry strategy.
Indexing methods can take an iterator and automatically create batches.
Being able to pass an iterator allows you to directly write things like:
By automatically create batches we ensure we optimize the number of network calls for our users without having them to think about it. For very specific use-cases, the batch size can be change.
No more confusion between add and save.
We dropped the verb add. Now, all save methods mean either you add something new or replace it completely if it was already existing.
Also, if you decide de save objects that don’t have any objectIds, the method will fail except if you explicitly say that you want Algolia to generate them for you. This feature is helpful only for particular use cases and shouldn’t be the default option our customers uses as they probably need to update their objects later on.
Specific client classes
To have a better understanding of the Algolia API we have created a class for each type of clients such as SearchClient, AnalyticsClient and InsightsClient.
An easy way to wait for any operation to be complete
As easy as:
The cool thing is, you can now know that a method is waitable through the IDE completion, thing you couldn’t have done before!
You’d like to contribute?
You’d like to contribute? Before start, we want to let you know that your feedback is important to us! Please consider start using this
v2 today! Found a bug or see something that can be improved?
Report it here: github.com/algolia/algoliasearch-client-python
You can also contact us or answer to the thread directly.