
Hex.pm: Package manager for the Erlang ecosystem - clessg
https://hex.pm/
======
s_kilk
For anyone looking around for a new language to try: give Elixir serious
consideration.

I've been learning Elixir over the last few months and it's been a breath of
fresh air.

EDIT: In case it's not clear from the context, hex.pm is primarily the Elixir
package manager, but it works for the whole Erlang ecosystem too, hence why
it's referred to as a package manager for "the erlang ecosystem".

------
zensavona
You'll find a large number of these packages are actually Elixir, as hex is
the native Elixir package manager :)

Lovely to see this becoming more mainstream, and good marketing choice by Eric
by making it the "Erlang ecosystem package manager".

If you're interested, the package manager[0] and website/API[1] are open
source.

[0] [https://github.com/hexpm/hex](https://github.com/hexpm/hex) [1]
[https://github.com/hexpm/hex_web](https://github.com/hexpm/hex_web)

------
rdtsc
Well done! Great looking website.

I primarily use Erlang and is good to see it finally has a standardized
package manager and that both Elixir and Erlang can use hex packages.

Rebar even moved under the main Erlang organization in Github:

[https://github.com/erlang/rebar3](https://github.com/erlang/rebar3)

A nice step forward

~~~
davidw
Elixir really seems to have given Erlang a much needed boost in some ways.

~~~
rlander
Yes, David! This might be a good time to breathe new life into Chicago Boss,
huh ;)

~~~
davidw
Probably not:

* It's not well liked in the broader Erlang world because of compiler magic.

* Elixir has Phoenix, which is now _the_ project in that space.

Also: I changed jobs and moved so... don't use Erlang at work any more, sadly.

------
slaxman
Hex runs on Heroku. I wonder how many dynos it uses. Any ideas?

~~~
losvedir
Not sure what the current stats are but a year ago the maintainer tweeted some
stats about it [0].

    
    
        hex.pm on single 512mb Heroku dyno. 
        250rpm, 
        request time 23ms 95% percentile, 
        43mb memory used, ~0.15 dyno load.
    

I suspect there's a lot more use these days given the growth of Elixir, and
I'd be curious to see newer stats.

[0]
[https://twitter.com/emjii/status/591240463782391808](https://twitter.com/emjii/status/591240463782391808)

~~~
ericmj
It still runs on a single 7$ hobby dyno. Package and registry downloads goes
directly to our CDN so the dyno only gets traffic for the HTTP API and
website.

------
deathtrader666
It'll be great to have categories for packages.. For instance: ORMs / AWS
clients / Social SDKs / Authentication / Caching / Internationalization /
Cryptography / Machine Learning / and so on..

------
educar
Is this a new project? How come it has such high download numbers already?

~~~
rphillips
Not a new project, but a new website.

------
rbobby
heheheh: [https://hex.pm/packages/leftpad](https://hex.pm/packages/leftpad)

~~~
tragic
Thank god - we're safe.

EDIT: serious point - does anyone know off-hand what hex.pm's unpublish policy
is?

~~~
shadeless
My understanding is: you can't unpublish an existing package, like in npm's
leftpad situation. You do have a one hour window to change or revert a
published version of a package, after that the published version is read-only.

Docs: [https://hex.pm/docs/publish](https://hex.pm/docs/publish)

------
loudlambda
What's with the ".pm"? Brings back bad memories of perl.

~~~
srd
"package manager" I'd wager. Not "PERL module" :)

------
bdg
Do you provide a lock file?

~~~
SingAlong
AFAIK maintaining a lock file is left to the tool that fetches and maintains
dependencies.

For Elixir, mix maintains the mix.lock file. Hex integrates with mix.

For Erlang, rebar3 maintains a rebar.lock file. There's a rebar3_hex plugin
for Hex integration with rebar3.

~~~
filmor
rebar3 supports Hex packages as dependencies out-of-the-box, IIRC. The plugin
provides additional functionality like searching and publishing:
[https://github.com/hexpm/rebar3_hex](https://github.com/hexpm/rebar3_hex)

------
misiti3780
can this be installed using homebrew ?

~~~
raitom
It's automatically installed when you type: brew install elixir

