mbuhot

mbuhot

Given @benwilson512’s comment:

The most productive thing to do for the ecosystem may be to take a look at the packages that depend on ex_aws and see if they’ll accept a pull request to instead use https://github.com/aws-beam/aws-elixir which appears to be actively maintained, and uses code generation to keep up with changes coming from AWS.

Showing Posts 1 to 10

josevalim

josevalim

Creator of Elixir

That’s a great idea @mbuhot!

I have started looking at aws-beam and what it would be necessary for me personally to migrate to it and I have found some action items:

  1. Migrate from poiston to jason
  2. Make the HTTP client pluggable (similar to what is done in ExAWS)

I was planning to send a PR for those but I decided to post them there as folks are looking for ways to contribute. It is probably worth checking out with the maintainer too if they welcome these changes before moving forward.

LostKobrakai

LostKobrakai

I’ve started depot_s3 using ex_aws. If anyone wants to give it a shot at moving to aws-elixir that would be welcome as well:

https://github.com/elixir-depot/depot_s3

cnck1387

cnck1387

What about adding documentation?

Based on what’s in the GitHub repo for it, there’s no docs other than 1 example.

Having to install the library and generate your own docs seems like a weird burden to put onto the developer.

Maybe a PR could be made to auto-generate the docs in GitHub Actions?

hauleth

hauleth

I would suggest one more thing - instead of generating Elixir and Erlang libraries, generate only one and make the other one wrapper around another.

josevalim

josevalim

Creator of Elixir

As most Elixir projects, the docs are on hexdocs: aws-elixir v1.0.13 — Documentation - The README could make it clearer though, probably a good opportunity for a first PR. Go for it! :+1:

Given it is auto-generated, I don’t see an issue with generating both. Especially because Erlang developers do not want to bring Elixir as a dependency and Elixir developers don’t want to lose the nicely generated ExDoc documentation we have today.

cnck1387

cnck1387

Thanks, I didn’t think to check there because it wasn’t linked.

Although it’s kind of non-intuitive because even after clicking your link, I thought the docs were literally all of what we see on that first hex page you linked. In other words, just a list of services with no other information. There’s no visual hint that those AWS services are links on Hex.

Funny enough the only service I wanted to use is S3, but there’s no docs for S3 too.

I know I fall back to comparing things to Python a lot but this is the documentation for the Python AWS library Boto3 1.43.38 documentation. There’s hundreds of real code examples which I think is fantastic, along with a few practical getting started guides.

This Elixir library’s docs are an API spec. Unfortunately there’s 0 examples on how to use anything. This makes it very hard to figure out how to use it unless you’re already a seasoned veteran.

It’s one of those things where I would contribute if I knew how, but I can’t figure it out because there’s no existing documentation. That and I suppose in this library’s case if the API specs are auto-generated, then maybe there’s no way to modify the docs since the code is generated and is expected to be read-only by humans?

hauleth

hauleth

There is one issue - both projects register application named aws, which mean that when you will (for some reason) application that uses Erlang dependency that is using Erlang version and you are using Elixir version then there will be name conflict. With making Elixir wrapper over Erlang library it could be mitigated by using different name for the wrapper (as it would cause no problems there).

josevalim

josevalim

Creator of Elixir

It seems you have a list of improvements and a reference, so that’s a great opportunity to act on it! I have sent a PR with some changes too. AWS.S3 does exist, the docs may be outdated.

Yeah, this definitely should not be the case. I think it is an orthogonal discussion to wrapping though.

hauleth

hauleth

I am not 100% sure as there is some “handwritten” code in the both repos (utilities and credentials). I think that making it unified (either as a additional Erlang repo or by incorporating everything into single repo with wrapper) would help with reducing area of possible bugs.

cnck1387

cnck1387

I wouldn’t even know how to begin. Wouldn’t you need write access to publish the library to update the docs on Hex? I’m also confused how auto-generated code can emit out of date documentation. Aren’t the docs based on the source code or is there a separate step? I’ve never published a package on Hex.

As for adding code examples to improve the docs. It’s a catch-22. I can’t add examples until I learn to use the library but I can’t learn to use the library because there’s no practical examples.

Where Next? Top

Trending in Discussions Top

cblavier
Hey there, It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
515 12931 101
New
wmnnd
Hey folks, I wanted to share with you a project I’ve been working on for a while: It’s an Open Source (AGPLv3) newsletter tool. Think Ma...
New
raa-ziq
Hi everyone :waving_hand: I wanted to share something I’ve been building — NowBlind, a random chat app designed to help people discover ...
New
sntran
In my third year of college, around 2010, I found Erlang. A few years later, I found Elixir. I liked the ideas at once: many small proces...
New
Ganna
Hi everyone, I have 8 years of production experience with Erlang/OTP and I’m just starting to get to know Elixir. What would you learn f...
New
gtcode
I’ve been tinkering with Lynx (by José) via hold_ledger. I used AI to write the code, a separate specification, the tests, and the Lean p...
New
AstonJ
A remark @Garrison made… ..has already inspired a thread for the technical side of reclaiming our internet, but there is of course anot...
New

Other Trending Topics Top

dominicletz
Hey there, I haven’t seen a list of useful Elixir specific skills for the popular AI tools yet so I’m starting one here with my first. ...
New
mudasobwa
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
KristerV
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
kip
Localize is the next generation localisation library for Elixir. Think of it as ex_cldr version 3.0. The first version will be released ...
New
OndrejValenta
(I just needed to vent somewhere and LinkedIn is full of hope, or hype, I’m not sure which exactly) AI dream has many faces, but general...
New
webofbits
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself. My main conc...
#ai
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews