Skip to main content

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

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

http://www.apache.org/licenses/LICENSE-2.0

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

graphility-0.0.1.tar.gz (48.6 kB view hashes)

Uploaded Source

Built Distribution

graphility-0.0.1-py3-none-any.whl (55.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page