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.
Python
Section titled “Python”Installation
Section titled “Installation”pip install varlockfrom varlock import Varlock
varlock = Varlock({ 'spec': { 'PORT': {'type': 'number', 'required': True}, 'API_KEY': {'type': 'string', 'secret': True} }})
varlock.load()port = varlock.env.PORTapi_key = varlock.env.API_KEYInstallation
Section titled “Installation”go get github.com/dmno-dev/varlockpackage 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}Installation
Section titled “Installation”gem install varlockrequire 'varlock'
varlock = Varlock.new( spec: { PORT: { type: 'number', required: true }, API_KEY: { type: 'string', secret: true } })
varlock.loadport = varlock.env.PORTapi_key = varlock.env.API_KEYInstallation
Section titled “Installation”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(); }}Common Features Across Languages
Section titled “Common Features Across Languages”All language implementations provide:
- Type safety
- Validation
- Secret management
- Environment separation
- Documentation generation
Language-Specific Considerations
Section titled “Language-Specific Considerations”Python
Section titled “Python”- 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
Next Steps
Section titled “Next Steps”- Learn about security best practices
- Explore secrets management
- Check out JavaScript ecosystem integration