Pure-python NoSQL database.
Project description
Graphility is based on CodernityDB by Codernity Labs
Graphility is opensource, pure python (no 3rd party dependency), fast (really fast check Speed in documentation if you don’t believe in words), multiplatform, schema-less, NoSQL database. It has optional support for HTTP server version (Graphility-HTTP), and also Python client library (Graphility-PyClient) that aims to be 100% compatible with embeded version.
You can call it a more advanced key-value database. With multiple key-values indexes in the same engine. Also Graphility supports functions that are executed inside database.
Documentation in repo still refers to CodernityDB and will be updated at the end of reconstruction process.
Reconstruction
As of 2020 the original CodernityDB has been neglected for quite some time and the original repo has been lost.
Nick M. already started porting CodernityDB to Python 3. Go to his repo to see progress. I’ll try to backport any changes he makes but I cant’ guarantee anything.
I decided to make my own port because I want to tear it down and rebuild it piece by piece using only Python 3.8+. You know, to fully know the internals. I also want to add graph layer on top of it. Also, Apache 2.0 License requires me to change the name of the project since “CodernityDB” is a trademark/servicemark of Codernity.
Key features
Native python database
Multiple indexes
Fast (more than 50 000 insert operations per second see Speed in documentation for details)
Embeded mode (default). REST Server and client are planned.
Easy way to implement custom Storage
Sharding support
Install
Graphility is pure Python and does not need external dependencies.
pip install graphility
or from sources:
git clone ssh://git@github.com:Gromobrody/graphility.git cd graphility python setup.py install
Development
Poetry is used as project management tool. After downloading the project, activate the virtual env and install dev dependencies:
poetry shell poetry install
Now you’re ready to go.
License
Copyright 2020 Dominik Kozaczko (https://github.com/dekoza)
Copyright 2020 Nick M. (https://github.com/nickmasster)
Copyright 2011-2013 Codernity (http://codernity.com)
Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file graphility-0.0.1.tar.gz
.
File metadata
- Download URL: graphility-0.0.1.tar.gz
- Upload date:
- Size: 48.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.3 CPython/3.9.0b5 Linux/5.8.11-1-MANJARO
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d216ffe29045d32bd476cb94dfeea37c1c3e20ca7f0e8acbdf26db72b45030a |
|
MD5 | 9f0fc6d3ebc3915e14788e3d5a8d5b3c |
|
BLAKE2b-256 | 6d2d161e6a4320e97a5cc7bbdf34b708ad81253029cc1cbe2a8d0b03a18f4fd3 |
File details
Details for the file graphility-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: graphility-0.0.1-py3-none-any.whl
- Upload date:
- Size: 55.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.3 CPython/3.9.0b5 Linux/5.8.11-1-MANJARO
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c53a80224d594f91be1d51d4f708ba3248fef3542570f480d0b3146997f05ca3 |
|
MD5 | 414dee77119e77784bd6f96b479d403c |
|
BLAKE2b-256 | cf2cbbec5e862b2e763ff325071075fab81aa5f8faaf19b424ff85858e1bd11c |