PHPackages                             annoraaq/parrotdb - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. annoraaq/parrotdb

ActiveLibrary[Database &amp; ORM](/categories/database)

annoraaq/parrotdb
=================

PHP object database

07[1 PRs](https://github.com/Annoraaq/ParrotDb/pulls)PHPCI passing

Since Dec 29Pushed 3mo agoCompare

[ Source](https://github.com/Annoraaq/ParrotDb)[ Packagist](https://packagist.org/packages/annoraaq/parrotdb)[ RSS](/packages/annoraaq-parrotdb/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

ParrotDb
========

[](#parrotdb)

ParrotDb is an open source object database written in PHP.

Please note this is a fun project and not intended for use in production. It is rather a proof of concept. However, feel free to check out the [benchmark section](https://github.com/Annoraaq/ParrotDb/wiki/Benchmarks)of the [wiki](https://github.com/Annoraaq/ParrotDb/wiki) to get a first impression of performance.

ParrotDb comes with an own [query language](https://github.com/Annoraaq/ParrotDb/wiki/Language-of-the-Birds) as well as an own [text file format](https://github.com/Annoraaq/ParrotDb/wiki/Feather-file-format).

Installation
============

[](#installation)

`git clone https://github.com/Annoraaq/ParrotDb.git`

`composer install`

Run tests
=========

[](#run-tests)

`vendor/bin/phpunit`

Basic usage
===========

[](#basic-usage)

Let's say we have an example class:

```
class Bird
{
    public $id;
    public $name;
}

```

Now we need to create a session, a parser and a persistence manager:

```
$session = \ParrotDb\Core\PSessionFactory::createSession(
  "Testfile",
  \ParrotDb\Core\PSession::DB_XML
);

$parser = new \ParrotDb\Query\LotB\Parser\Parser($session->getDatabase());

$pm = $session->createPersistenceManager();

```

Insert
------

[](#insert)

```
$bird = new Bird();
$bird->id = 42;
$bird->name = "Pelecanidae";

$pm->persist($bird);

$pm->commit();

```

Select
------

[](#select)

```
$constraint = $parser->parse('get Bird id = 42');
$resultSet = $pm->query($constraint);
$fetchedBird = $resultSet->first();

```

Update
------

[](#update)

```
$constraint = $parser->parse('get Bird id = 42');
$resultSet = $pm->query($constraint);
$fetchedBird = $resultSet->first();
$fetchedBird->name = "Pidgeon";
$pm->commit();

```

Delete
------

[](#delete)

```
$constraint = $parser->parse('get Bird id = 42');
$pm->delete($constraint);

```

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance54

Moderate activity, may be stable

Popularity4

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity33

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/6d3b8cb740234fd1839a426eb4602080540bf18a4c81abbfaa0d61d2d02005a2?d=identicon)[Annoraaq](/maintainers/Annoraaq)

---

Top Contributors

[![Annoraaq](https://avatars.githubusercontent.com/u/4518664?v=4)](https://github.com/Annoraaq "Annoraaq (58 commits)")

### Embed Badge

![Health badge](/badges/annoraaq-parrotdb/health.svg)

```
[![Health](https://phpackages.com/badges/annoraaq-parrotdb/health.svg)](https://phpackages.com/packages/annoraaq-parrotdb)
```

###  Alternatives

[doctrine/orm

Object-Relational-Mapper for PHP

10.2k285.3M6.2k](/packages/doctrine-orm)[jdorn/sql-formatter

a PHP SQL highlighting library

3.9k115.1M102](/packages/jdorn-sql-formatter)[illuminate/database

The Illuminate Database package.

2.8k52.4M9.3k](/packages/illuminate-database)[mongodb/mongodb

MongoDB driver library

1.6k64.0M543](/packages/mongodb-mongodb)[ramsey/uuid-doctrine

Use ramsey/uuid as a Doctrine field type.

90340.3M209](/packages/ramsey-uuid-doctrine)[reliese/laravel

Reliese Components for Laravel Framework code generation.

1.7k3.4M16](/packages/reliese-laravel)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
