MCPcopy Index your code
hub / github.com/Impetus/kundera

github.com/Impetus/kundera @kundera-3.13

Chat with this repo
repository ↗ · DeepWiki ↗ · release kundera-3.13 ↗ · + Follow
24,641 symbols 121,421 edges 2,494 files 13,238 documented · 54%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Join the chat at https://gitter.im/impetus-opensource/Kundera Follow us on Twitter

Overview

Kundera is a "Polyglot Object Mapper" with a JPA interface. The idea behind Kundera is to make working with NoSQL Databases drop-dead simple and fun. Kundera is being developed with following objectives: * To make working with NoSQL as simple as working with SQL * To serve as JPA Compliant mapping solution for NoSQL Datastores. * To help developers, forget the complexity of NoSQL stores and focus on Domain Model. * To make switching across data-stores as easy as changing a configuration.

Latest

Supported Datastores

Kundera currently supports following data stores : * Cassandra * MongoDB * HBase * Redis * OracleNoSQL * Neo4j * Couchdb * RethinkDB * Kudu * Relational databases * Apache Spark

You can find the list of data stores(specific versions) supported by Kundera here.

Getting Started

The latest stable release of Kundera is 3.12. It is a maven based project . You can either download it directly from github and build using following command :

mvn clean install -Dfile src/pom.xml

Or it can be directly added as maven dependency in your project in the following manner :

  • Add the following repository to pom.xml :

<repository> <id>sonatype-nexus</id> <name>Kundera Public Repository</name> <url>https://oss.sonatype.org/content/repositories/releases</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository>

  • Add the data store specific Kundera module as a dependency (e.g. Cassandra below) :

<dependency> <groupId>com.impetus.kundera.client</groupId> <artifactId>kundera-cassandra</artifactId> <version>${kundera.version}</version> </dependency>

Build your project with the above changes to your pom.xml and start using Kundera !

Important Links

Troubleshooting

Sample Projects

Please use latest version of Kundera in these sample projects.

Contribution

About Us

Kundera is backed by Impetus Labs - iLabs. iLabs is a R&D consulting division of Impetus Technologies. iLabs focuses on innovations with next generation technologies and creates practice areas and new products around them. iLabs is actively involved working on High Performance computing technologies, ranging from distributed/parallel computing, Erlang, grid softwares, GPU based software, Hadoop, Hbase, Cassandra, CouchDB and related technologies. iLabs is also working on various other Open Source initiatives.

Follow us on Twitter.

Extension points exported contracts — how you extend this code

SparkDataClient (Interface)
The Interface DataClient. @author: karthikp.manchala [10 implementers]
src/kundera-spark/spark-core/src/main/java/com/impetus/spark/client/SparkDataClient.java
ClientPropertiesSetter (Interface)
Defines methods for setting client properties @author amresh.singh [33 implementers]
src/jpa-engine/core/src/main/java/com/impetus/kundera/client/ClientPropertiesSetter.java
TwitterHbase (Interface)
Single window application for Twitter application. Contains methods for performing CRUD operations on users and their tw [5 …
src/kundera-hbase/kundera-hbase/src/test/java/com/impetus/client/twitter/dao/TwitterHbase.java
Twitter (Interface)
Single window application for Twitter application. Contains methods for performing CRUD operations on users and their tw [5 …
src/kundera-mongo/src/test/java/com/impetus/client/twitter/dao/Twitter.java
StudentEntityDef (Interface)
@author vivek.mishra [5 implementers]
src/kundera-cassandra/cassandra-core/src/test/java/com/impetus/client/crud/datatypes/StudentEntityDef.java
Neo4JNativeQuery (Interface)
Interface for Neo4J Native queries @author amresh.singh [5 implementers]
src/kundera-neo4j/src/main/java/com/impetus/client/neo4j/query/Neo4JNativeQuery.java
Twitter (Interface)
Single window application for Twitter application. Contains methods for performing CRUD operations on users and their tw [5 …
src/kundera-rdbms/src/test/java/com/impetus/client/twitter/dao/Twitter.java
CouchbaseDataHandler (Interface)
The Interface CouchbaseDataHandler. @author devender.yadav [3 implementers]
src/kundera-couchbase/src/main/java/com/impetus/client/couchbase/CouchbaseDataHandler.java

Core symbols most depended-on inside this repo

get
called by 4128
src/jpa-engine/core/src/main/java/com/impetus/kundera/cache/Cache.java
size
called by 3456
src/jpa-engine/core/src/main/java/com/impetus/kundera/cache/Cache.java
getResultList
called by 3032
src/jpa-engine/core/src/main/java/com/impetus/kundera/query/QueryImpl.java
getAge
called by 2705
src/kundera-rdbms/src/test/java/com/impetus/client/crud/datatypes/StudentEntityDef.java
find
called by 2553
src/jpa-engine/core/src/main/java/com/impetus/kundera/client/Client.java
createEntityManager
called by 1816
src/kundera-rdbms/src/test/java/com/impetus/client/twitter/dao/Twitter.java
close
called by 1754
src/kundera-rdbms/src/test/java/com/impetus/client/twitter/dao/Twitter.java
persist
called by 1466
src/kundera-spark/spark-core/src/main/java/com/impetus/spark/client/SparkDataClient.java

Shape

Method 21,989
Class 2,495
Interface 85
Enum 72

Languages

Java100%

Modules by API surface

src/jpa-engine/core/src/main/java/com/impetus/kundera/query/KunderaQuery.java107 symbols
src/kundera-cassandra/cassandra-core/src/main/java/com/impetus/client/cassandra/schemamanager/CassandraSchemaManager.java94 symbols
src/kundera-cassandra/cassandra-core/src/main/java/com/impetus/client/cassandra/schemamanager/CassandraDataTranslator.java89 symbols
src/jpa-engine/core/src/main/java/com/impetus/kundera/persistence/KunderaCriteriaBuilder.java88 symbols
src/kundera-cassandra/cassandra-core/src/main/java/com/impetus/client/cassandra/CassandraClientBase.java73 symbols
src/jpa-engine/core/src/main/java/com/impetus/kundera/graph/Node.java65 symbols
src/kundera-mongo/src/main/java/com/impetus/client/mongodb/MongoDBClient.java59 symbols
src/jpa-engine/core/src/main/java/com/impetus/kundera/metadata/model/type/AbstractManagedType.java58 symbols
src/jpa-engine/core/src/main/java/com/impetus/kundera/query/QueryImpl.java56 symbols
src/kundera-redis/src/main/java/com/impetus/client/redis/RedisClient.java52 symbols
src/jpa-engine/core/src/main/java/com/impetus/kundera/metadata/model/EntityMetadata.java50 symbols
src/kundera-oracle-nosql/src/main/java/com/impetus/client/oraclenosql/OracleNoSQLClient.java48 symbols

Datastores touched

(mysql)Database · 1 repos
(mongodb)Database · 1 repos
kvappsDatabase · 1 repos
KunderaTestsDatabase · 1 repos
PickrDatabase · 1 repos
testPerformanceDatabase · 1 repos
testdbDatabase · 1 repos

For agents

$ claude mcp add kundera \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact