inits
is a framework for performing scientific simulations.
An important component is a library used to create ("init") a tree-structured object graph from a parse tree. The main motivation is that this parse tree comes from command line arguments/config file.
The project was born as a need to automatically setup inputs/command line arguments for blang
, but inits
also be useful on its own.
inits
can be viewed as a dependency injection framework tailored to complex and hierarchical command line arguments/config files. Hence, inits
provides more facilities to the objects being initialized than most command line parsing frameworks (features such as typed globals, access to non-erased generic type information, coherent qualified names for instantiated objects, support for interfaces, etc).
inits
also contains services to organize experiments outputs, including automatically producing tidy csv or spark-readable files from complex data types.
There are several options available to install the package:
Simply add the following lines (replacing 1.0.0 by the current version (see git tags)):
repositories {
mavenCentral()
jcenter()
maven {
url "https://ubc-stat-ml.github.io/artifacts/"
}
}
dependencies {
compile group: 'ca.ubc.stat', name: 'inits', version: '1.0.0'
}
- Check out the source
git clone git@github.com:alexandrebouchard/inits.git
- Compile using
./gradlew installDist
- Add the jars in
build/install/inits/lib/
into your classpath
- Check out the source
git clone git@github.com:alexandrebouchard/inits.git
- Type
gradle eclipse
from the root of the repository - From eclipse:
Import
inFile
menuImport existing projects into workspace
- Select the root
- Deselect
Copy projects into workspace
to avoid having duplicates
See: