Skip to content

BivittatusDB/BivittatusDB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Static Badge Static Badge Static Badge Static Badge Quality Gate Status

BivittatusDB: Operator-Based Relational Database Management System

This is a Python-based relational database management system (RDBMS) designed from scratch with operator-based functionalities. It's a standalone system not compatible with SQL or NoSQL databases, aiming to provide a simple yet functional database management solution.

Features

  • Operator-based operations: The database operates using operators such as +, -, and == to manipulate data.
  • Relational Structure: Organizes data in tables with rows and columns, following a relational database model.
  • Basic CRUD Operations: Supports basic Create, Read, Update, and Delete operations.
  • Indexing: Efficient data retrieval with indexing mechanisms.
  • Transaction Management: Implements transaction management to ensure data consistency.
  • Security: All databases are asymmetrically encrypted with a user defined password for each database.

Installation

Installation is now available through pip, via the latest release. To get the latest fix (with beta features) use

pip install bivittatusDB

The last build is unavailable via pip at this time. Based on the release schedule, release 2.0.0.0 should be released 08/01/2025. The closest working version of build 1.0.0.0 available on PyPi is v1.0.0.1

pip install bivittatusDB==1.0.0.1

Examples

See the examples directory and wiki for examples off different operations.

Usage

  1. clone the repo and cd into the BivitattusDB directroy
  2. Import bivittatusDB into your python file/interpreter.
  3. Follow the information from the wiki for more info on specific usage

Dependencies

The databases are saved in hybrid-asymmetrically encrypted and therefore need encryption handlers, as seen in the requirements.txt file.

pip install -r .github/requirements.txt

Contributing

Contributions are welcome! If you'd like to contribute to the project, please fork the repository and submit a pull request with your changes.See Contributing & Code of Cunduct If you don't know where to get started, you can check out The pinned Issue (#36) for some of the current simple bugs. If you want to request a feature, please open a issue as a Feture Request and describe to us how it will work and why you think it is important. We will review it and close the issue when the request is either implemented or dismissed. If the idea is dismissed, we will give an explanation for why we will not implement the feature ourselves, but you can also add it in your own fork if you still desire it.

License

This project is licensed under the MIT License.

This README.md file provides an overview of the operator-based relational database management system implemented in Python, detailing its current features, future plans, usage instructions, dependencies, and contribution guidelines. Additionally, it outlines the licensing information for the project.

Known Issues:

Our code always has some bug in it. We catch most of the major issues, but you can always find the latest ones in the Issues Tab. We also have a lot of small bugs found in the pinned issue.