<commit_before># snmp-elixir

An SNMP client library for Elixir.

This is my effort to replace the terrible but useful
[net-snmp-elixir](https://github.com/jonnystorm/net-snmp-elixir) with a
facile Elixir wrapper for OTP's harrowing SNMP API.

Many thanks to <NAME> for his
[post](https://groups.google.com/forum/#!topic/elixir-lang-talk/lGWGXFoUVvc),
without which I may never have bothered returning to this problem.

## Why another wrapper?

`net-snmp-elixir` was my experimental hack to get something that worked.
I didn't expect it to become one of the top Google results for "elixir snmp"
but it is, which scares me. Elixir may be the best language for network
interaction in existence, but we still need worthy SNMP support.

## What I'm currently stuck on

  * Getting SNMPv3 USM to work (shit is hard)
  * USM engineID discovery (a la [RFC 3414](https://tools.ietf.org/html/rfc3414)

## TODO

  * SNMPv3 USM
  * SNMP tables
  * Basic SNMP operations
  * Make it decent

## Installation

Add `snmp_ex` to your list of dependencies in `mix.exs`:

```elixir
def deps do<commit_msg>Revert "Update README"<commit_after># snmp-elixir

An SNMP client library for Elixir.

This is my effort to replace the terrible but useful
[net-snmp-elixir](https://github.com/jonnystorm/net-snmp-elixir) with a
facile Elixir wrapper for OTP's harrowing SNMP API.

Many thanks to <NAME> for his
[post](https://groups.google.com/forum/#!topic/elixir-lang-talk/lGWGXFoUVvc),
without which I may never have bothered returning to this problem.

## Why another wrapper?

`net-snmp-elixir` was my experimental hack to get something that worked.
I didn't expect it to become one of the top Google results for "elixir snmp"
but it is, which scares me. Elixir may be the best language for network
interaction in existence, but we still need worthy SNMP support.

## What I'm currently stuck on

  * Getting SNMPv3 USM to work (shit is hard)
  * USM engineID discovery (a la [RFC 3414](https://tools.ietf.org/html/rfc3414#section-4)

## TODO

  * SNMPv3 USM
  * SNMP tables
  * Basic SNMP operations
  * Make it decent

## Installation

Add `snmp_ex` to your list of dependencies in `mix.exs`:

```elixir
def deps do
{'fraction_non_alphanumeric': 0.08755129958960328, 'fraction_numerical': 0.009575923392612859, 'mean_word_length': 4.126168224299065, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 6, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4452613', 'n_tokens_mistral': 762, 'n_tokens_neox': 729, 'n_words': 289}