# \[ANN\] Curly - Curl CLI Wrapper

**URL:** <https://discuss.ocaml.org/t/ann-curly-curl-cli-wrapper/693>\
**Category:** Community\
**Tags:** announce\
**Created:** [August 10, 2017, 4:14am UTC](https://discuss.ocaml.org/t/ann-curly-curl-cli-wrapper/693 "2017-08-10T04:14:19Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![rgrinberg](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/rgrinberg/32/40_2.png) [@rgrinberg](https://discuss.ocaml.org/u/rgrinberg)\
**Post date:** [August 10, 2017, 4:14am UTC](https://discuss.ocaml.org/t/ann-curly-curl-cli-wrapper/693/1 "2017-08-10T04:14:20Z")

</div>

Making HTTP(s) requests in OCaml usually has the following costs:

- Heavy dependency profile (Cohttp)
- C bindings/Complex API (Ocurl)

Curly is an attempt to fill the gap with something that is extremely simple and only requires the curl binary to be available. It is meant for applications where the dependency profile is the most important thing. Performance, flexibility, and async support are non considerations.

Here’s an example:

```ocaml
Curly.(run (Request.make ~url:"https://opam.ocaml.org" ~meth:`GET ()))

```

> **[rgrinberg/curly](https://github.com/rgrinberg/curly)**
>
> Command line curl wrapper for OCaml. Contribute to rgrinberg/curly development by creating an account on GitHub.

---

_[View the full topic](https://discuss.ocaml.org/t/ann-curly-curl-cli-wrapper/693)._
