D4no0 / ex_advanced_config

Advanced configuration validation and options for elixir.
0 stars 0 forks source link

Find all similar libraries (AKA competition) #1

Open D4no0 opened 9 months ago

D4no0 commented 9 months ago

This issue will contain drafts, links and other information on similar libraries already created in elixir. At the end the information will be used to fill: https://github.com/D4no0/ex_advanced_config/blob/main/research/2.%20Competition.md

D4no0 commented 9 months ago

From github seach config language:Elixir:

  1. https://github.com/dplummer/env_config - outdated library, no longer required with release of runtime config;
  2. https://github.com/appcues/config_smuggler - updates configuration at runtime? may be out of scope;
  3. https://github.com/jgaviria/secret_config - loads configuration in a genserver, out of scope;
  4. https://github.com/bradleyd/external_config - external configuration file, out of scope, however it might be interesting for implementation details;
  5. https://github.com/renderedtext/ex-config - very likely the same as env_config;
  6. https://github.com/rhetzler/dynamic_config - another runtime configuration library;
  7. https://github.com/jcomellas/app_config - runtime configuration library focused on ENV variables;
  8. https://github.com/hassox/config_values - very similar to app_config;
  9. https://github.com/vnegrisolo/configex - a good candidate for investigation, focused on ENV variables, however it has some checks for missing values and has the option for default value;
  10. https://github.com/box-id/config_helpers - a good candidate for investigation, same as configex, focused on ENV variables, however it provides special functions for definition of config;
  11. https://github.com/driv3r/config_ext - similar to env_config;
  12. https://github.com/nuxlli/tree_config - some kind of prototype for overriding configuration;
  13. https://github.com/secretworry/configex - a good candidate for investigation, it provides functionality to define typed configurations;
  14. https://github.com/centralnicgroup-opensource/dynamic_config - fetches configuration from remote source;
  15. https://github.com/bo0tzz/config_server - same as previous one, remote source configuration;
  16. https://github.com/infinitered/config_validator - investigation candidate, validates if config is not empty?;
  17. https://github.com/punchcafe/lib_config - almost identical to what this library tries to achieve
  18. https://github.com/hippware/module_config - out of scope, generates a module containing all the configuration;
  19. https://github.com/sega-yarkin/ex_config - investigation candidate, offers a way to define types for configuration;
  20. https://github.com/canuc/ex_configurator - not relevant, hard to tell what it does from readme;
  21. https://github.com/reset/libex-config - define configuration in a different format?;
  22. https://github.com/djthread/ex_config - easier way to fetch configuration;
  23. https://github.com/amclain/nerves_config_pin - not relevant, might be an interesting topic to read though;
  24. https://github.com/Shimmur/env_var_provider - investigation candidate. While focused on env variables, it provides type check and conversion;
  25. https://github.com/coingaming/boot_env - investigation candidate, validation of configuration and haskell-style configuration?
  26. https://github.com/kantox/kungfuig - potential interesting, configurable backend configuration;
  27. https://github.com/nsweeting/exenv - loading env variable from configurable source;
D4no0 commented 9 months ago

From elixirforum config #your-libraries-os-mentoring:libraries:

  1. https://elixirforum.com/t/specify-comfortable-explicit-multi-layered-configuration-specifications-v0-7/21679 - investigation candidate, typed configuration with documentation;

No more relevant results found.

dimitarvp commented 9 months ago