Git Product home page Git Product logo

polodb's Introduction

PoloDB

Build Status Crates.io npm version PYPI version

PoloDB is an embedded JSON-based database.

中文版

Features

  • Simple/Lightweight/Easy to learn and use
  • Various languages binding
  • Embedded(No standalone processes, no cross-process calls)
  • No runtime dependency
  • NoSQL
  • MongoDB-like API
  • Cross-Platform
  • Store data in ONE file

Introduction

PoloDB is a library written in Rust that implements a lightweight MongoDB.

PoloDB has no dependency(except for libc), so it can be easily run on most platform(thanks for Rust Language).

The data of PoloDB is stored in a file. The file format is stable, cross-platform, and backwards compaitible.

The API of PoloDB is very similar to MongoDB. It's very easy to learn and use.

Platform

Theoretically, PoloDB supports all platforms that Rust compiler supports. But PoloDB is a personal project currently. Limited by my time, I only compile and test on the following platform:

  • macOS 10.15 x64
  • Linux x64 (Tested on Fedora 30)
  • Windows 10 x64

Manual

Developing Plan

The feature will be implemented one by on in order.

  • Basic database API
    • CURD
    • Transactions
    • Indexes
    • Aggregation
  • Command line Tools
  • Mobile Platform Compilation
    • iOS
    • Android
    • Flutter
  • Language bindings
    • C/C++
    • Go
    • Swift
    • Python (Doc)
    • Node.js (Doc)
    • Java/Kotlin
    • Dart
  • Tons of tests
  • Multi-threads support
  • Extension API
    • Data Encryption
    • JavaScript Engine
  • Visualization Tools

Contribute

Module Path Description
Core src/polodb_core The core implementation of the Database
C Library src/polodb_clib The C FFI implementation of PoloDB
CLI tool src/polodb_cli The command line tool of PoloDB
Node.js bindings polodb.js The Node.js binding using N-API
Python bindings pypolodb The CPython binding using Extension API
Swift bindings SwiftyPoloDB The Swift binding

polodb's People

Contributors

neetdai avatar vincentdchan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.