Apero — Pure utility library for Elixir (no shell execution).
Provides domain-specific tools organised into independent modules behind a
consistent {:ok, result} | {:error, reason} interface.
What's in Apero
These modules are pure Elixir/Erlang with no shell execution dependency:
Security
Apero.Crypto— hashing, AES encryption, key and password generationApero.Crypto.Hash— SHA-256, SHA-512, MD5, HMACApero.Crypto.Cipher— AES-256-GCM, ChaCha20-Poly1305, AES-256-CTR streamingApero.Crypto.Key— PBKDF2, Argon2id, ECDH, RSA key generationApero.Crypto.Random— key generation, random hex/token/password, secure_compare
Environment
Apero.Env— environment variable management and.envfilesApero.Conf— config file validation, linting and formatting
Cache
Apero.Cache— unified cache interface with ETS adapter
System (pure subset)
Apero.OS— OS type detection and hostname (pure Erlang)Apero.Proc— command availability, VM introspection (pure Elixir)
File & Path
Apero.File— file/path operations, atomic writes, temp resources, lockingApero.File.Path— path operations (copy, move, delete, glob, etc.)Apero.File.IO— I/O operations (atomic writes, checksums, temp resources, locking)Apero.File.Tree— ASCII tree generation and printingApero.File.Watcher— file system watching via GenServer
Retry
Apero.Retry— configurable retry with backoff
What moved to Trebejo
Shell-based modules moved to Trebejo v1.0.0:
Trebejo.Docker,Trebejo.Git,Trebejo.SSH,Trebejo.KubernetesTrebejo.Compress,Trebejo.Network,Trebejo.File.IO(run_cmd based)Trebejo.OS(arch, kernel, memory, CPU — shell-based)Trebejo.Proc(ps, kill, lsof, fuser, logs — shell-based)Trebejo.File(watch/unwatch — depends on Arrea.WorkerSupervisor)
Summary
Functions
See Apero.OS.type/0.