[ANN] Introducing Zomato.jl, a Julia wrapper around Zomato's API

I have been working over the weekend to create a Julia wrapper around Zomato.com’s API
The package can be found here on Github. It will soon be available as part of Julia Registry, however, the PR is yet to merged there.

Also, I am awaiting feedback about how to design better API’s with Julia. in the present form, the code feels less Julia( should I call Juliatic wrf pythonic for python?).

Any feedbacks/issues/PRs and Github :star: are welcome :slight_smile:
Some examples of the package usage are given below:

# authenticate using the API key
julia> auth = Zomato.authenticate("API-KEY")
Zomato(https://developers.zomato.com/api/v2.1/)

# get the categories
julia> Zomato.get(auth, CategoriesAPI)
[ Info: fetching categories...
Dict{String,Any} with 1 entry:
  "categories" => Any[Dict{String,Any}("categories"=>Dict{String,Any}("name"=>"Delivery","id"=>1)), Dict{String,Any}("categories"=>Dict{String,Any}("name"=>…

# get city wise details
julia> Zomato.get(auth, CitiesAPI, q="london")
[ Info: fetching city details...
Dict{String,Any} with 4 entries:
  "location_suggestions" => Any[Dict{String,Any}("is_state"=>0,"state_name"=>"England and Wales","name"=>"London","id"=>61,"state_code"=>"England and Wales"…
  "has_total"            => 0
  "status"               => "success"
  "has_more"             => 0
3 Likes

This seems really useful! I wonder how their support is for Nashville restaraunts…

Regarding “Juliatic” as being the equivalent to “pythonic”, people usually call things that follow the Julia traditions, “Julian” (which sounds weird to me because it’s also my first name :slight_smile: ).

I would say that one way to make your code more “Julian” is to wrap the different kinds of results (cities, city info, categories, etc.) in their own types, so that one can dispatch based on them. However, in this case I don’t know if that’s really necessary, but it might be nice to have.

EDIT: Now that I think about it more, wrapping results in their own types could be really useful. If I get the chance this week, I’ll put together a PR or two for this package and also Zabbix.jl.

1 Like

Awesome! Thanks for sharing your thoughts. Any PR and changes are always welcome :slight_smile:
And they do have support for nashville

EDIT
Just updated and revamped the repo. Hopefully should look more Julian