An open API service providing package, version and dependency metadata of many open source software ecosystems and registries.

Top 2.1% on proxy.golang.org
Top 0.7% dependent packages on proxy.golang.org
Top 0.8% dependent repos on proxy.golang.org
Top 4.3% forks on proxy.golang.org
Top 1.2% docker downloads on proxy.golang.org

proxy.golang.org : github.com/kkyr/fig

Package fig loads configuration files and/or environment variables into Go structs with extra juice for validating fields and setting defaults. Config files may be defined in yaml, json or toml format. When you call `Load()`, fig takes the following steps: Define your configuration file in the root of your project: Define your struct and load it: Pass options as additional parameters to `Load()` to configure fig's behaviour. Do not look for any configuration file with `IgnoreFile()`. If IgnoreFile is given then any other configuration file related options like `File` and `Dirs` are simply ignored. File & Dirs By default fig searches for a file named `config.yaml` in the directory it is run from. Change the file and directories fig searches in with `File()` and `Dirs()`. Fig searches for the file in dirs sequentially and uses the first matching file. The decoder (yaml/json/toml) used is picked based on the file's extension. The struct tag key tag fig looks for to find the field's alt name can be changed using `Tag()`. By default fig uses the tag key `fig`. Fig can be configured to additionally set fields using the environment. This behaviour can be enabled using the option `UseEnv(prefix)`. If loading from file is also enabled then first the struct is loaded from a config file and thus any values found in the environment will overwrite existing values in the struct. Prefix is a string that will be prepended to the keys that are searched in the environment. Although discouraged, prefix may be left empty. Fig searches for keys in the form PREFIX_FIELD_PATH, or if prefix is left empty then FIELD_PATH. A field's path is formed by prepending its name with the names of all the surrounding structs up to the root struct, upper-cased and separated by an underscore. If a field has an alt name defined in its struct tag then that name is preferred over its struct name. With the struct above and `UseEnv("myapp")` fig would search for the following environment variables: Fields contained in struct slices whose elements already exists can be also be set via the environment in the form PARENT_IDX_FIELD, where idx is the index of the field in the slice. With the config above individual servers may be configured with the following environment variable: Note: the Server slice must already have members inside it (i.e. from loading of the configuration file) for the containing fields to be altered via the environment. Fig will not instantiate and insert elements into the slice. Maps and map values cannot be populated from the environment. Change the layout fig uses to parse times using `TimeLayout()`. By default fig parses time using the `RFC.3339` layout (`2006-01-02T15:04:05Z07:00`). By default fig ignores any fields in the config file that are not present in the struct. This behaviour can be changed using `UseStrict()` to achieve strict parsing. When strict parsing is enabled, extra fields in the config file will cause an error. A validate key with a required value in the field's struct tag makes fig check if the field has been set after it's been loaded. Required fields that are not set are returned as an error. Fig uses the following properties to check if a field is set: See example below to help understand: A default key in the field tag makes fig fill the field with the value specified when the field is not otherwise set. Fig attempts to parse the value based on the field's type. If parsing fails then an error is returned. A default value can be set for the following types: Successive elements of slice defaults should be separated by a comma. The entire slice can optionally be enclosed in square brackets: Boolean values: Fig cannot distinguish between false and an unset value for boolean types. As a result, default values for booleans are not currently supported. Maps: Maps are not supported because providing a map in a string form would be complex and error-prone. Users are encouraged to use structs instead for more reliable and structured data handling. Map values: Values retrieved from a map through reflection are not addressable. Therefore, setting default values for map values is not currently supported. The required validation and the default field tags are mutually exclusive as they are contradictory. This is not allowed: A wrapped error `ErrFileNotFound` is returned when fig is not able to find a config file to load. This can be useful for instance to fallback to a different configuration loading mechanism.

Registry - Source - Documentation - JSON - codemeta.json
purl: pkg:golang/github.com/kkyr/fig
Keywords: config-file , configuration , configuration-management , environment , environment-variables , go , golang , json , toml , yaml
License: Apache-2.0
Latest release: 6 months ago
First release: almost 6 years ago
Namespace: github.com/kkyr
Dependent packages: 43
Dependent repositories: 51
Stars: 381 on GitHub
Forks: 32 on GitHub
Docker dependents: 5
Docker downloads: 1,519
Total Commits: 67
Committers: 7
Average commits per author: 9.571
Development Distribution Score (DDS): 0.194
More commit stats: commits.ecosyste.ms
See more repository details: repos.ecosyste.ms
Last synced: about 1 month ago

Top 9.1% on proxy.golang.org
github.com/grmrgecko/freeipa-health-metrics v0.3.1
A prometheus/influxdb exporter for FreeIPA metrics
1 version - Latest release: over 1 year ago - 2 stars on GitHub
Top 9.0% on proxy.golang.org
github.com/lmika/broadtail v0.0.13
Video RSS Downloader
13 versions - Latest release: over 1 year ago - 0 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/eidentitet/rest-go v1.1.1
5 versions - Latest release: almost 2 years ago - 0 stars on GitHub
github.com/wneessen/logranger v0.0.0-20231227185949-dd8d66057155 💰
Perform actions on rule-based incoming syslog messages
12 versions - Latest release: almost 2 years ago - 0 stars on GitHub
github.com/bitebait/curry v0.0.0-20231118232427-f72182eb8ddb
🍛 Curry é um WebCrawler escrito em Golang com finalidade de verificar o valor do câmbio de Dólar ...
1 version - Latest release: about 2 years ago - 3 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/wneessen/arrgo v0.3.2 💰
Arrgo is the 2nd evolution of the Sea of Thieves themes Discord bot
19 versions - Latest release: about 2 years ago - 4 stars on GitHub
github.com/bneil/optimal v0.0.0-20231004030919-6d940775ab95
2 versions - Latest release: about 2 years ago - 1 stars on GitHub
github.com/bananacocodrilo/thriftcheck v0.0.1
A linter for Thrift IDL files
1 version - Latest release: about 2 years ago - 0 stars on GitHub
Top 9.7% on proxy.golang.org
git.sr.ht/~tompinn23/cloak v0.0.0-20230821142635-78c211945a96
1 version - Latest release: about 2 years ago
github.com/hex-techs/blade v0.0.0-20230609103009-8afd8c359d50
1 version - Latest release: over 2 years ago - 1 stars on GitHub
Top 9.7% on proxy.golang.org
github.com/gdadev/myip-bot v0.0.0-20230531104418-c7de0f759089
1 version - Latest release: over 2 years ago - 0 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/Glimesh/waveguide v0.0.0-20230508063934-ad8d7c752215
A polyglot WebRTC media server.
10 versions - Latest release: over 2 years ago - 21 stars on GitHub
Top 10.0% on proxy.golang.org
github.com/comunidade-shallom/peristera v0.11.0
29 versions - Latest release: over 2 years ago - 0 stars on GitHub
Top 9.0% on proxy.golang.org
github.com/comunidade-shallom/diakonos v0.10.2
21 versions - Latest release: over 2 years ago - 1 dependent package - 0 stars on GitHub
github.com/bneil/gossr_tests v0.0.0-20230419015708-2281e2928b79
1 version - Latest release: over 2 years ago - 0 stars on GitHub
github.com/FedericoAntoniazzi/pvectl v0.0.0-20230417075932-824b123d17e0
CLI tool to manage Proxmox VE clusters
3 versions - Latest release: over 2 years ago - 0 stars on GitHub
Top 8.6% on proxy.golang.org
github.com/nenecchuu/lizbeth-be-core v0.0.0-20230415033021-3cdb48707a88
Lizbeth backend core
3 versions - Latest release: over 2 years ago - 0 stars on GitHub
github.com/salman-pathan/go-micro-arch/user v0.0.0-20230203115744-76cc3e0b11be
Demo of micro-service architecture in Go
6 versions - Latest release: almost 3 years ago - 1 dependent package - 1 dependent repositories - 0 stars on GitHub
Top 4.7% on proxy.golang.org
github.com/ortuman/jackal v0.64.0 💰
💬 Instant messaging server for the Extensible Messaging and Presence Protocol (XMPP).
47 versions - Latest release: almost 3 years ago - 1,393 stars on GitHub
Top 9.1% on proxy.golang.org
github.com/ChargePi/ChargePi-go v1.0.0-beta
ChargePi is a charge point framework/project for Linux devices with OCPP support, API and a manag...
1 version - Latest release: about 3 years ago - 49 stars on GitHub
Top 9.1% on proxy.golang.org
github.com/chargepi/chargepi-go v1.0.0-beta
ChargePi is a charge point framework/project for Linux devices with OCPP support, API and a manag...
1 version - Latest release: about 3 years ago - 49 stars on GitHub
Top 6.8% on proxy.golang.org
github.com/xBlaz3kx/ChargePi-go v1.0.0-beta
ChargePi is an open-source, Linux based ⚡Charging Point🔌 project with OCPP support, API and UI.
3 versions - Latest release: about 3 years ago - 19 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/crimist/trakx v0.1.0
Performance focused HTTP & UDP BitTorrent tracker
1 version - Latest release: about 3 years ago - 25 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/syc0x00/trakx v0.1.0
1 version - Latest release: about 3 years ago
Top 8.6% on proxy.golang.org
github.com/nudgle/nudgle v1.0.0
Nudlge will send messages to your discord channel when a specific transaction triggers one of the...
1 version - Latest release: about 3 years ago - 1 stars on GitHub
github.com/nenecchuu/arcana v0.0.0-20220702155938-ba81b53b2eeb
1 version - Latest release: over 3 years ago - 1 dependent package - 1 dependent repositories - 0 stars on GitHub
Top 8.3% on proxy.golang.org
github.com/Tim-Zhong-2000/pure-dns v0.2.1
a dns proxy
15 versions - Latest release: over 3 years ago - 2 stars on GitHub
Top 8.3% on proxy.golang.org
github.com/tim-zhong-2000/pure-dns v0.2.1
a dns proxy
15 versions - Latest release: over 3 years ago - 2 stars on GitHub
Top 9.0% on proxy.golang.org
github.com/yzzyx/microci v0.0.0-20211112174612-ce9d245ae9ba
1 version - Latest release: about 4 years ago - 0 stars on GitHub
github.com/nylone/cloudflareddns-go v1.0.3
4 versions - Latest release: about 4 years ago - 1 stars on GitHub
github.com/nylone/CloudflareDDNS-go v1.0.3
4 versions - Latest release: about 4 years ago - 1 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/server1990/jackal v0.54.2
8 versions - Latest release: about 4 years ago
github.com/detecc/detecctor v1.0.1
Detecctor is a ⚡fast, fully customizable 🖥️ monitoring platform. It uses various 🤖 chatbots as a ...
2 versions - Latest release: about 4 years ago - 2 dependent packages - 2 dependent repositories - 2 stars on GitHub
github.com/detecc/deteccted v1.0.0
Deteccted is a customizable, 🔌 plugin-based client for ⚡Detecctor.
1 version - Latest release: about 4 years ago - 1 dependent repositories - 1 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/itsabgr/ilam v0.0.0-20210905183921-a6a431b2d80f
federate messaging system
1 version - Latest release: about 4 years ago - 0 stars on GitHub
Top 3.7% on proxy.golang.org
github.com/giongto35/cloud-game/v2 v2.6.1 💰
Web-based Cloud Gaming service for Retro Game
13 versions - Latest release: about 4 years ago - 1 dependent repositories - 2,397 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/dvwallin/ago v1.2.1
A static blog generator script without any fuzz
2 versions - Latest release: over 4 years ago - 6 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/juev/prometheus_oracle v0.2.0
Prometheus Oracle database exporter.
1 version - Latest release: almost 6 years ago - 2 stars on GitHub
Past Dependents
Include Past Dependents

Check this option to include packages that no longer depend on this package in their latest version but previously did.