# ToyDB

_created by Austin Poor_

[![PyPI](https://img.shields.io/pypi/v/toydb)](https://pypi.org/project/toydb)
[![](https://github.com/a-poor/toydb/workflows/Python%20package/badge.svg)](https://github.com/a-poor/toydb/actions)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/toydb)](https://pypi.org/project/toydb)
[![GitHub](https://img.shields.io/github/license/a-poor/toydb)](https://github.com/a-poor/toydb/blob/main/LICENSE)
[![Documentation Status](https://readthedocs.org/projects/toydb/badge/?version=latest)](https://toydb.readthedocs.io/en/latest/?badge=latest)


A small, toy database written in pure python.

* [GitHub](https://github.com/a-poor/toydb)
* [PyPi Package](https://pypi.org/project/toydb)
* [Read the Docs](https://toydb.readthedocs.io/)

## About

I started writing `ToyDB` as a _toy_ project, in order to get a better sense of
how RDBMSs work.

My goal isn't to write a high-performance database or even necessarily to finish
`ToyDB` -- it's to continue to get a better understanding of the inner workings
of a database.

## Installation

`ToyDB` can be installed using PyPi:

```bash
$ pip install toydb
```

## Status

__NOTE: Still in development.__

- [x] Write the framework
- [x] Layout the DB directory structure and file format
- [ ] Write a SQL parser
- [ ] Write a query function
- [ ] Table Join functionality

## Feedback

I'd love to hear your thoughts or suggestions on `ToyDB`.

Please feel free to reach out to me here or on [twitter](https://twitter.com/austin_poor)!
