PHPackages                             stefanvinding/geckoboard-datasets - 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. [API Development](/categories/api)
4. /
5. stefanvinding/geckoboard-datasets

ActiveLibrary[API Development](/categories/api)

stefanvinding/geckoboard-datasets
=================================

A Geckoboard dataset rest client

2.0(6y ago)052.3k2[1 issues](https://github.com/stefanvinding/geckoboard-datasets/issues)MITPHPPHP &gt;=7.2

Since Dec 5Pushed 6y ago1 watchersCompare

[ Source](https://github.com/stefanvinding/geckoboard-datasets)[ Packagist](https://packagist.org/packages/stefanvinding/geckoboard-datasets)[ RSS](/packages/stefanvinding-geckoboard-datasets/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (2)Dependencies (3)Versions (3)Used By (0)

GECKOBOARD DATASET REST CLIENT
==============================

[](#geckoboard-dataset-rest-client)

1. What is it?
--------------

[](#1-what-is-it)

A rest client library for PHP 7.2+ that allows to perform CRUD operations against the new Geckoboard Dataset API.

2. How it works?
----------------

[](#2-how-it-works)

### 2.1 Create / Update dataset

[](#21-create--update-dataset)

Using the helper:

```
     $schema =
     [
        ['name' => 'MyAmount'    , 'type' => 'number'  , 'optional' => true                           ],
        ['name' => 'MyText'      , 'type' => 'string'                                                 ],
        ['name' => 'MyDate'      , 'type' => 'datetime', 'optional' => true                           ],
        ['name' => 'Danish Krone', 'type' => 'money'   , 'optional' => false, 'currency_code' => 'DKK']
     ];

     // Create / Update "mydataset" and set "MyDate" as unique field
     \Stefanvinding\Geckoboard\Dataset\Helper::factory(['key' => 'YOUR API KEY HERE'])->createDataset('mydataset', $schema, 'MyDate');

```

Using low level API:

```
     $schema = (new \Stefanvinding\Geckoboard\Dataset\Row())->addTypes([
        new \Stefanvinding\Geckoboard\Dataset\Type\TypeNumber('MyAmount', true),
        new \Stefanvinding\Geckoboard\Dataset\Type\TypeString('MyText'),
        new \Stefanvinding\Geckoboard\Dataset\Type\TypeDatetime('MyDate', true),
        new \Stefanvinding\Geckoboard\Dataset\Type\TypeMoney('Danish Krone', 'DKK', true)
     ]);

     (new \Stefanvinding\Geckoboard\Dataset\Request(['key' => 'YOUR API KEY HERE']))->createDataset('mydataset', $schema, 'MyDate');

```

### 2.2 Delete dataset

[](#22-delete-dataset)

Using the helper:

```
    \Stefanvinding\Geckoboard\Dataset\Helper::factory(['key' => 'YOUR API KEY HERE'])->deleteDataset('mydataset');

```

Using low level API:

```
    (new \Stefanvinding\Geckoboard\Dataset\Request(['key' => 'YOUR API KEY HERE']))->deleteDataset('mydataset');

```

### 2.3 Append data into dataset

[](#23-append-data-into-dataset)

Using the helper:

```
    $records =
    [
        [
            ['name' => 'MyDate'      , 'type' => 'datetime', 'value' => date('Y-m-d\TH:i:s\Z')],
            ['name' => 'MyAmount'    , 'type' => 'number'  , 'value' => rand(1, 10000)        ],
            ['name' => 'MyText'      , 'type' => 'String'  , 'value' => uniqid()              ],
            ['name' => 'Danish Krone', 'type' => 'money'   , 'value' => rand(1, 10000)        ]
        ],
        // Add more records ....
    ];

    // Unique by "MyDate" field
    \Stefanvinding\Geckoboard\Dataset\Helper::factory(['key' => 'YOUR API KEY HERE'])->appendData('mydataset', $records, ['MyDate']);

```

Using the low level API:

```
    $records =
    [
        (new \Stefanvinding\Geckoboard\Dataset\Row())->addTypes([
                    (new \Stefanvinding\Geckoboard\Dataset\Type\TypeDatetime('MyDate'))->setValue(date('Y-m-d\TH:i:s\Z')),
                    (new \Stefanvinding\Geckoboard\Dataset\Type\TypeNumber('MyAmount'))->setValue(rand(1, 1000))         ,
                    (new \Stefanvinding\Geckoboard\Dataset\Type\TypeString('MyText'))->setValue(uniqid())                ,
                    (new \Stefanvinding\Geckoboard\Dataset\Type\TypeMoney('Danish Krone'))->setValue(rand(1, 10000))
        ]),
        // Add more records ....
    ];

    // Unique by "MyDate" field
    (new \Stefanvinding\Geckoboard\Dataset\Request(['key' => 'YOUR API KEY HERE']))->appendData('mydataset', $records, ['MyDate']);

```

### 2.4 Replace data into dataset

[](#24-replace-data-into-dataset)

Using the helper:

```
    $records =
    [
        [
            ['name' => 'MyDate'      , 'type' => 'datetime', 'value' => date('Y-m-d\TH:i:s\Z')],
            ['name' => 'MyAmount'    , 'type' => 'number'  , 'value' => rand(1, 10000)        ],
            ['name' => 'MyText'      , 'type' => 'String'  , 'value' => uniqid()              ],
            ['name' => 'Danish Krone', 'type' => 'money'   , 'value' => rand(1, 10000)        ]
        ],
        // Add more records ....
    ];

    \Stefanvinding\Geckoboard\Dataset\Helper::factory(['key' => 'YOUR API KEY HERE'])->replaceData('mydataset', $records);

```

Using the low level API:

```
    $records =
    [
        (new \Stefanvinding\Geckoboard\Dataset\Row())->addTypes([
                    (new \Stefanvinding\Geckoboard\Dataset\Type\TypeDatetime('MyDate'))->setValue(date('Y-m-d\TH:i:s\Z')),
                    (new \Stefanvinding\Geckoboard\Dataset\Type\TypeNumber('MyAmount'))->setValue(rand(1, 1000))         ,
                    (new \Stefanvinding\Geckoboard\Dataset\Type\TypeString('MyText'))->setValue(uniqid())                ,
                    (new \Stefanvinding\Geckoboard\Dataset\Type\TypeMoney('Danish Krone'))->setValue(rand(1, 10000))
        ]),
        // Add more records ....
    ];

    (new \Stefanvinding\Geckoboard\Dataset\Request(['key' => 'YOUR API KEY HERE']))->replaceData('mydataset', $records);

```

3. Test
-------

[](#3-test)

1. Add your API key into tests/BaseTest.php
2. Run PHPUnit ("vendor/phpunit/phpunit/phpunit")

Supported by
------------

[](#supported-by)

- [Matchbanker.no](https://matchbanker.no/).

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity23

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 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.

###  Release Activity

Cadence

Every ~420 days

Total

2

Last Release

2292d ago

Major Versions

1.3 → 2.02020-01-30

PHP version history (2 changes)1.3PHP &gt;=5.6.4

2.0PHP &gt;=7.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/7169bff7e9de22a98e27339c4a35e6f0adc8328977ba1250ca4a47e7bd7a8bce?d=identicon)[stefanvinding](/maintainers/stefanvinding)

---

Top Contributors

[![stefanvinding](https://avatars.githubusercontent.com/u/12776408?v=4)](https://github.com/stefanvinding "stefanvinding (3 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/stefanvinding-geckoboard-datasets/health.svg)

```
[![Health](https://phpackages.com/badges/stefanvinding-geckoboard-datasets/health.svg)](https://phpackages.com/packages/stefanvinding-geckoboard-datasets)
```

###  Alternatives

[skagarwal/google-places-api

Google Places Api

1913.0M8](/packages/skagarwal-google-places-api)[dcblogdev/laravel-microsoft-graph

A Laravel Microsoft Graph API (Office365) package

168285.5k1](/packages/dcblogdev-laravel-microsoft-graph)[vluzrmos/slack-api

Wrapper for Slack.com WEB API.

102589.1k3](/packages/vluzrmos-slack-api)[smodav/mpesa

M-Pesa API implementation

16363.7k1](/packages/smodav-mpesa)[jasara/php-amzn-selling-partner-api

A fluent interface for Amazon's Selling Partner API in PHP

1344.8k1](/packages/jasara-php-amzn-selling-partner-api)[grantholle/powerschool-api

A Laravel package to make interacting with PowerSchool less painful.

1715.6k1](/packages/grantholle-powerschool-api)

PHPackages © 2026

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