benwilson512

benwilson512

Author of Craft GraphQL APIs in Elixir with Absinthe

Hey folks!

The short version is: I’m looking for a maintainer to take over the operation and maintenance of the ExAws project. CargoSense hasn’t done anything particularly interesting with AWS services in a long time, and I personally lack the time maintain these projects at this point. I have been unable to keep up with developments within AWS’s auth system and this has lead to fragmented support of various features, and PRs I’m unable to meaningfully review. This isn’t the state I want these libraries to be in, but I simply am unable to do anything about it.

To be clear, I am not stepping away from open source. I have a sizable roadmap planned for Absinthe, and there are other, smaller, projects that I’m looking to refresh. However I am trying to focus my efforts, both for my own sanity as well as the health of the projects I’ve created.

The actual maintenance required is reasonably low, but it can also be very critical to people’s operations. My preference would be to find a maintainer who is part of a company utilizing AWS, but if you’re interested please feel free to send me a DM.

First 10 of 21 Posts Switch mode

cnck1387

cnck1387

Do you have any recommendations for alternative libraries if no one ends up taking over yours?

I wonder how this will effect libraries like waffle, since they depend on ex_aws for file uploads to S3.

benwilson512

benwilson512 OP

Author of Craft GraphQL APIs in Elixir with Absinthe

ExAws is, as far as I know, the only actively maintained (for some definition of active ;)) AWS library. Someone will pick it up, I’m sure of it :slight_smile:

axelson

axelson

Scenic Core Team

Thanks for your work on creating and maintaining ExAws! I’ve used it in multiple projects and it’s great :heart:

I wonder if you’d be interested in creating a posting on:
https://adoptoposs.org/

(which happens to be written in Elixir using Phoenix liveview)

11
Post #3
sorentwo

sorentwo

Oban Core Team

I’m really pleased to see you reaching out to the community to ask for help. This is a huge project that a lot of companies rely on, I’m sure you’ll get somebody stepping up.

I’ll be linking this to a couple people.

19
Post #5
hauleth

hauleth

Just to point out my disappointment with choice of mascot. Due to name I think that Opossum would be much better choice (in my language it is called just “opos”).

mbklein

mbklein

Hiya Ben,

Since I’m already a committer on ExAws.SNS and a heavy user of several other service modules, I would definitely be interested in seeing what my team and I can to support ExAws as well. We’re heavily committed to open source and always looking for ways to contribute back, and this might be a good fit for us.

That includes one or more of us taking on the role of Maintainer if we can swing it, but it would help to have some idea of the number/frequency of pull requests, issues, support needs, etc. so that I can make a case to my supervisor(s) that it would be a worthwhile thing for us to devote some time to.

27
Post #7
naps62

naps62

Hi ben,

I’ve been a long time user of ExAws, and so have a few other people at my company. We’d be potentially interested in helping out with this as well (our company is be more than willing to help with supporting open source projects)

Feel free to contact me if you still need help and want to discuss more

11
Post #8
nbrandaleone

nbrandaleone

Hi Ben,

I am also happy to assist where possible. Although I work for AWS and love Elixir, I am not a developer anymore (Solutions Architect) - so my productivity would be low. However, hopefully between all of us in the community, we can keep this amazing library healthy.

I have not looked into the code, but most of the other 3rd party libraries generate code from one one of the official SDK, and that allows for easy upgrades as the API moves forward. I am guessing that is not the approach taken with ExAws? For example: GitHub - inhabitedtype/ocaml-aws: Generated OCaml bindings for Amazon Web Services · GitHub

anthonator

anthonator

What’s the status of this? Did anyone step up to maintain this project?

benwilson512

benwilson512 OP

Author of Craft GraphQL APIs in Elixir with Absinthe

Update

Hey everyone. I received a lot of supportive comments from people, and for that I’m very grateful. Unfortunately, all of the comments took some version of the form of “I’d be happy to contribute some, but I don’t have the time to run the project”. To be clear, I think this is a perfectly sensible answer, after all it is basically my answer here. However I’m really not looking for contributors, I’m looking to be done with this project. Also, the more I’ve looked at the project, the more I think it has certain fatal flaws in its approach, and the right course of action isn’t to keep pushing forward in this direction but rather find a new one.

Thus, my current inclination is to simply deprecate ExAws entirely, and advocate that someone write a replacement.

A replacement could utilize the patterns in ExAws that I think are good, while also aiming to auto-generate functionality as people tend to do in other languages with AWS libraries. The bits that are worth keeping from an approach perspective is:

  • Pluggable dependencies (minimize hard coded deps on any specific json codec / http library / etc).
  • Operations as data structures. Instead of Aws.S3.list_objects actually doing the request, have it return a data structure that you pass to a function that actually executes it. This allows much much easier interop with other libraries.

Areas where a new library could improve:

  • Utilize auto-generated functions from the spec to get 100% API coverage immediately
  • Testing strategy. I never came up with a good way to do tests in ExAws and consequently there basically aren’t any. This is bad for all of the obvious reasons, and it’s also a key element of why development stagnated. I had to manually audit or test every change since there wasn’t any regression testing, and as I ran out of time that meant I either had to blindly merge PRs or not merge PRs at all. I chose the latter generally, and this killed the project.

Where Next? Top

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 91561 914
New
byu
@chrismccord : I just saw the Extract AGENTS.md from Phoenix.new into phx.new generator commit to the phoenix project. My initial shotgu...
New
arcanemachine
I was working on an Ecto migration and I needed a timestamp. So, for the nth time, I looked up the different data types for timestamps, a...
New
AstonJ
Just a general thread to post chat/news/info relating to AI/ML stuff that may be relevant for Nx now or in the future. Got anything to sh...
New
type1fool
I just stumbled on a newly redesigned elixir-lang.org. :tada: It looks like @Software_Mansion did the work, and I think it is generally a...
New
juhalehtonen
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New
alexslade
Fly’s CEO posted this recently - Turn And Face The Strange · The Fly Blog It says that Fly is going all-in on sprites, which is a worry ...
New

Other Trending Topics Top

JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
ausimian
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New
akoutmos
@hugobarauna and I (Alex Koutmos) have been hard at work on writing a book on Nerves that takes you from simply blinking LEDs to building...
New
wintermeyer
There are three potential reasons for members of this forum to have a look at https://vutuv.de You are tired or annoyed of LinkedIn. Yo...
New

We're in Beta

About us Mission Statement