Skip to content

Other Languages

Varlock provides support for multiple programming languages through its language-specific implementations. This guide covers how to use Varlock with different programming languages.

Terminal window
pip install varlock
from varlock import Varlock
varlock = Varlock({
'spec': {
'PORT': {'type': 'number', 'required': True},
'API_KEY': {'type': 'string', 'secret': True}
}
})
varlock.load()
port = varlock.env.PORT
api_key = varlock.env.API_KEY
Terminal window
go get github.com/dmno-dev/varlock
package main
import (
"github.com/dmno-dev/varlock"
)
func main() {
varlock := varlock.New(varlock.Config{
Spec: map[string]varlock.Spec{
"PORT": {Type: "number", Required: true},
"API_KEY": {Type: "string", Secret: true},
},
})
varlock.Load()
port := varlock.Env.PORT
apiKey := varlock.Env.API_KEY
}
Terminal window
gem install varlock
require 'varlock'
varlock = Varlock.new(
spec: {
PORT: { type: 'number', required: true },
API_KEY: { type: 'string', secret: true }
}
)
varlock.load
port = varlock.env.PORT
api_key = varlock.env.API_KEY

Add to your pom.xml:

<dependency>
<groupId>dev.dmno</groupId>
<artifactId>varlock</artifactId>
<version>1.0.0</version>
</dependency>
import dev.dmno.varlock.Varlock;
public class App {
public static void main(String[] args) {
Varlock varlock = new Varlock.Builder()
.spec(Map.of(
"PORT", new Spec("number", true),
"API_KEY", new Spec("string", true, true)
))
.build();
varlock.load();
int port = varlock.getEnv().getPort();
String apiKey = varlock.getEnv().getApiKey();
}
}

All language implementations provide:

  1. Type safety
  2. Validation
  3. Secret management
  4. Environment separation
  5. Documentation generation
  • Uses Python type hints
  • Integrates with Python’s logging system
  • Supports async/await
  • Strong type system
  • Concurrent-safe operations
  • Standard library integration
  • Ruby-like syntax
  • Rails integration
  • Gem ecosystem support
  • Spring Boot integration
  • Maven/Gradle support
  • Enterprise features