New Release of http-client - Enhancing HTTP Requests in Fortran!

Hello Fortran developers :wave:,

:tada: We’re thrilled to announce the first-ever release of the http-client package, a powerful Fortran library designed to streamline the process of making HTTP requests. Whether you’re interacting with APIs, retrieving data, or working with web services, http-client offers a high-level and user-friendly interface to simplify your tasks.

:globe_with_meridians: New Release: http-client v0.1.0


The http-client library empowers Fortran developers to interact seamlessly with web services through its high-level abstraction. Here’s a glimpse of what you can expect:


  • HTTP Request Methods: http-client supports a wide range of HTTP methods, including:

    • GET: Retrieve data from the server.
    • POST: Create new data on the server.
    • PUT: Replace existing resources on the server.
    • DELETE: Remove a resource from the server.
    • PATCH: Partially update a resource on the server.
    • HEAD: Obtain response headers without the response content.
  • Supported Data Types: Easily work with various data types such as:

    • URL encoded fields
    • HTTP form data
    • File uploads
  • Response Handling: Effortlessly manage responses with features like:

    • Retrieving response bodies (content)
    • Accessing HTTP status codes returned by the server
    • Extracting response headers
  • Custom Request Headers: Customize request headers to tailor your interactions.

  • Error Handling: Enjoy informative error messages that aid in debugging.

  • Request Timeouts: Set timeouts to manage how long the client waits for a response.

  • Basic HTTP Authentication: Seamlessly authenticate your requests.

:rocket: Tutorials:

To help you get started, we’ve prepared detailed tutorials on how to integrate and leverage the power of http-client in your projects:

:raised_hands: Acknowledgments:

We would like to extend our heartfelt gratitude to the project mentors who have contributed immensely to this release:

And a big thank you to the entire community for your valuable feedback and support. Your contributions make projects like these truly shine.

Get Involved:

Interested in joining us on this exciting journey? Head over to the http-client repository and start exploring. We welcome your feedback, suggestions, and contributions!

Let’s make HTTP requests in Fortran an even better experience together.

Happy coding :wave:!


Thank you @rajkumardongre for the great work and congrats on the release!

1 Like

excellent work @rajkumardongre and congrats on achieving the major milestone in this project.


@rajkumardongre ,

Kudos, super effort, tremendous contribution, thank you.

Hope it was “Happy Coding” for you as well as in Fortran!


We’d especially appreciate help from this community figuring out how to build it on macOS and Windows; in the work so far we’ve been focused on Linux.


I just stumbled upon this viral Tweet featuring http-client:


Congrats for the hard work to all those involved in the project,
and to the whole fortran-lang community for getting one step closer towards a thriving Fortran community!!

1 Like

Is someone here running an Apple Silicon system and can reproduce this issue with http-client/fortran-curl?

1 Like

Thanks to Kelsey’s Tweet which got almost half a million views, I expect that we’ll reach 3000 followers later today (started at low 2900s yesterday).


IIRC, it looks like this is a Fortran wrapper for libcurl, which is an excellent development. Pretty soon, there can be a tutorial: Data Science at the Command Line – Fortran Edition.

1 Like

I can take a look when I’m back from vacation next week -




The members of this forum know that the Fortran 2023 standard will not include an HTTP client, but to outsiders the distinction between fortran-lang projects and the Fortran standard is apparently unclear, and @fortranlang should not be retweeting a false statement but correcting it. The original @fortranlang tweet about http-client was fine.


You are, of course, correct that it’s a strictly false statement. However, to outsiders who may not distinguish between the standard and a library, in my view this is less important. More important is to boost strong positive signals about Fortran, even with the cost of being confusing or incorrect.


However, the correct or positive picture coming from this statement is that "Fortran users should be able to use Fortran HTTP library for client based applications which was not possible earlier (hoping I am correct) whether it will be part of standard or not in the near future "


I corrected this in the Nixcraft group on Facebook; lots of people in the Linux/Unix community seem interested in what modern Fortran can do and are surprised that it has support for code dating back to Fortran '77.


I have just posted a reply on Mastodon (where the same “Tweet” was posted) to distinguish the GSoC 2023 http-client project and the next standard.


I posted a response to the viral tweet that explains the difference (I know there were others who did the same):

Thank you @Beliavsky for the suggestion and @R_cubed and @vmagnin for doing so on other networks.




Congratulations Rajkumar on this excellent undertaking!

The fact you also wrote a tutorial and GitHub analyzer demo really shows your commitment to your GSoC project.

I’d be interested to learn more about your experience working with the Fortran as a language. Did you have previous experience with Fortran? Was it easy to get a hang of?

1 Like