Chronos

Versioned data storage, embeddable and easy to use.

License

License

GroupId

GroupId

com.github.martinhaeusler
ArtifactId

ArtifactId

org.chronos.chronodb.api
Last Version

Last Version

1.0.0
Release Date

Release Date

Type

Type

jar
Description

Description

Chronos
Versioned data storage, embeddable and easy to use.
Project URL

Project URL

https://github.com/Txture/chronos
Source Code Management

Source Code Management

https://github.com/Txture/chronos

Download org.chronos.chronodb.api

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.martinhaeusler/org.chronos.chronodb.api/ -->
<dependency>
    <groupId>com.github.martinhaeusler</groupId>
    <artifactId>org.chronos.chronodb.api</artifactId>
    <version>1.0.0</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.martinhaeusler/org.chronos.chronodb.api/
implementation 'com.github.martinhaeusler:org.chronos.chronodb.api:1.0.0'
// https://jarcasting.com/artifacts/com.github.martinhaeusler/org.chronos.chronodb.api/
implementation ("com.github.martinhaeusler:org.chronos.chronodb.api:1.0.0")
'com.github.martinhaeusler:org.chronos.chronodb.api:jar:1.0.0'
<dependency org="com.github.martinhaeusler" name="org.chronos.chronodb.api" rev="1.0.0">
  <artifact name="org.chronos.chronodb.api" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.martinhaeusler', module='org.chronos.chronodb.api', version='1.0.0')
)
libraryDependencies += "com.github.martinhaeusler" % "org.chronos.chronodb.api" % "1.0.0"
[com.github.martinhaeusler/org.chronos.chronodb.api "1.0.0"]

Dependencies

compile (13)

Group / Artifact Type Version
com.google.guava : guava jar 27.1-jre
org.apache.commons : commons-lang3 jar 3.8.1
org.apache.commons : commons-collections4 jar 4.3
commons-io : commons-io jar 2.6
commons-configuration : commons-configuration jar 1.10
org.jetbrains.kotlin : kotlin-stdlib-jdk8 jar 1.3.61
org.slf4j : slf4j-api jar 1.7.12
org.slf4j : jcl-over-slf4j jar 1.7.12
org.slf4j : jul-to-slf4j jar 1.7.12
ch.qos.logback : logback-classic jar 1.1.3
com.github.martinhaeusler : org.chronos.common jar 1.0.0
com.esotericsoftware : kryo jar 3.0.3
com.thoughtworks.xstream : xstream jar 1.4.11.1

test (8)

Group / Artifact Type Version
junit : junit jar 4.12
org.junit.platform : junit-platform-launcher jar 1.3.1
org.junit.jupiter : junit-jupiter-api jar 5.3.1
org.junit.jupiter : junit-jupiter-engine jar 5.3.1
org.junit.vintage : junit-vintage-engine jar 5.3.1
org.hamcrest : hamcrest-all jar 1.3
com.github.martinhaeusler : org.chronos.common.testing jar 1.0.0
com.github.martinhaeusler : org.chronos.chronodb.exodus jar 1.0.0

Project Modules

There are no modules declared in this project.

ChronoDB

Welcome to the Chronos Project. This project is dedicated to providing efficient and easy-to-use versioned database persistence solutions for the Java Virtual Machine. It is written in Java and Kotlin, and some parts also make use of Groovy. There are three main components to Chronos:

These components build on top of each other, but each component can also be used individually:

Chronos Deployment Options

Getting Started

To get started using Chronos, please pick one of the core components and follow the instructions in the respective readme files. As a general recommendation:

  • ChronoDB is a low-level abstraction. It is a versioned key-value store which additionally offers secondary indexing and other utilities. Of all the components, it offers the highest amount of control. However, you will be responsible for your own data layout and data integrity. You should only use ChronoDB directly if you know exactly what you are doing. Most users will not need to use ChronoDB directly.

  • ChronoGraph is built on top of ChronoDB and is recommended for most users. It offers a medium-level abstraction and implements the Apache TinkerPop standard for graph databases. It also fully supports the Gremlin query language. The graph integrity will be handled by ChronoGraph internally.

  • ChronoSphere is a high-level abstraction. It builds on top of ChronoGraph and supports the Eclipse Modeling Framework standard. Only recommended for users with model-driven requirements.

Licensing & Contributing

The Chronos Project is based on a dual-license:

  • aGPLv3 for academic and open-source projects
  • Commercial licenses are also available on demand

BY CONTRIBUTING TO CHRONOS, YOU AGREE THAT YOUR CONTRIBUTIONS WILL BE LICENSED UNDER THE aGPL v3 LICENSE. Furthermore, by contributing to the Chronos Project, you hereby grant to Martin Häusler and any recipients of your contributions, including but not limited to users of this site, a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, use, make and distribute your contributions and any derivative works under all intellectual property rights including but not limited to copyright and patent. BY CONTRIBUTING TO THE CHRONOS PROJECT, YOU REPRESENT AND WARRANT THAT YOU ARE LEGALLY ENTITLED TO GRANT THE FOREGOING LICENSE.

com.github.martinhaeusler

Txture

Versions

Version
1.0.0