rrdtool-bindings


Namerrdtool-bindings JSON
Version 0.2.0 PyPI version JSON
download
home_pageNone
SummaryModern Python packaging for RRDtool Python bindings to C extension.
upload_time2024-05-31 20:16:04
maintainerScott Searcy
docs_urlNone
authorChristian Kroeger, Hye-Shik Chang
requires_python>=3.8
licenseGPL-2.0-or-later
keywords rrdtool
VCS
bugtrack_url
requirements cfgv colorama distlib exceptiongroup filelock identify iniconfig nodeenv packaging platformdirs pluggy pre-commit pytest pyyaml ruff tomli virtualenv
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # rrdtool-bindings

Python bindings from [RRDtool](https://oss.oetiker.ch/rrdtool),
packaged to work with modern Python packaging tools.

Spiritual successor to [python-rrdtool](https://pypi.org/project/rrdtool/),
which has not been updated since 2022 and the GitHub project was archived in 2023.
It failed to install/compile via `uv` or `pdm` on recent Fedora releases,
so this project was born.

Supported Python versions: 3.8+

## Installation

This package compiles the bindings, so it requires the following dependencies:

* Debian/Ubuntu: `apt-get install -y gcc librrd-dev python3-dev`
* Fedora/Red Hat: `dnf install -y gcc rrdtool-devel python3-devel`

Then run:

    pip install rrdtool-bindings

## Usage

Example from the RRDtool documentation.

```python
import rrdtool

# Create Round Robin Database
rrdtool.create('test.rrd', '--start', 'now', '--step', '300', 'RRA:AVERAGE:0.5:1:1200', 'DS:temp:GAUGE:600:-273:5000')

# Feed updates to the RRD
rrdtool.update('test.rrd', 'N:32')
```

See [rrdpython](https://oss.oetiker.ch/rrdtool/prog/rrdpython.en.html) and `tests/test_bindings.py` for more examples.

## History

### v0.2.0 - 2024-05-31

Initial release.

Uses the C code from [5JAN24](https://github.com/oetiker/rrdtool-1.x/blob/b39df920f0ff31a49460d9872006a2579ee4c7ed/bindings/python/rrdtoolmodule.c).


## Contributing

Changes to the C code should be submitted [upstream](https://github.com/oetiker/rrdtool-1.x),
then copied to this repository.

This project uses [PDM](https://pdm-project.org/latest/),
so you will need that installed first.
Then fork/clone the repository and run `pdm install`.
Wheels can be compiled locally via `pdm build`.

[`just`](https://github.com/casey/just) is used as a task runner for convenience,
but it is optional,
any of the commands in `justfile` can be ran by hand.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "rrdtool-bindings",
    "maintainer": "Scott Searcy",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "rrdtool",
    "author": "Christian Kroeger, Hye-Shik Chang",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/ca/f6/55974616d1e34af8a05722e7e13a39a395e36984aea39b19d38608b36c33/rrdtool_bindings-0.2.0.tar.gz",
    "platform": null,
    "description": "# rrdtool-bindings\n\nPython bindings from [RRDtool](https://oss.oetiker.ch/rrdtool),\npackaged to work with modern Python packaging tools.\n\nSpiritual successor to [python-rrdtool](https://pypi.org/project/rrdtool/),\nwhich has not been updated since 2022 and the GitHub project was archived in 2023.\nIt failed to install/compile via `uv` or `pdm` on recent Fedora releases,\nso this project was born.\n\nSupported Python versions: 3.8+\n\n## Installation\n\nThis package compiles the bindings, so it requires the following dependencies:\n\n* Debian/Ubuntu: `apt-get install -y gcc librrd-dev python3-dev`\n* Fedora/Red Hat: `dnf install -y gcc rrdtool-devel python3-devel`\n\nThen run:\n\n    pip install rrdtool-bindings\n\n## Usage\n\nExample from the RRDtool documentation.\n\n```python\nimport rrdtool\n\n# Create Round Robin Database\nrrdtool.create('test.rrd', '--start', 'now', '--step', '300', 'RRA:AVERAGE:0.5:1:1200', 'DS:temp:GAUGE:600:-273:5000')\n\n# Feed updates to the RRD\nrrdtool.update('test.rrd', 'N:32')\n```\n\nSee [rrdpython](https://oss.oetiker.ch/rrdtool/prog/rrdpython.en.html) and `tests/test_bindings.py` for more examples.\n\n## History\n\n### v0.2.0 - 2024-05-31\n\nInitial release.\n\nUses the C code from [5JAN24](https://github.com/oetiker/rrdtool-1.x/blob/b39df920f0ff31a49460d9872006a2579ee4c7ed/bindings/python/rrdtoolmodule.c).\n\n\n## Contributing\n\nChanges to the C code should be submitted [upstream](https://github.com/oetiker/rrdtool-1.x),\nthen copied to this repository.\n\nThis project uses [PDM](https://pdm-project.org/latest/),\nso you will need that installed first.\nThen fork/clone the repository and run `pdm install`.\nWheels can be compiled locally via `pdm build`.\n\n[`just`](https://github.com/casey/just) is used as a task runner for convenience,\nbut it is optional,\nany of the commands in `justfile` can be ran by hand.\n",
    "bugtrack_url": null,
    "license": "GPL-2.0-or-later",
    "summary": "Modern Python packaging for RRDtool Python bindings to C extension.",
    "version": "0.2.0",
    "project_urls": {
        "Homepage": "https://github.com/smsearcy/rrdtool-python-bindings",
        "Source": "https://github.com/smsearcy/rrdtool-python-bindings"
    },
    "split_keywords": [
        "rrdtool"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "caf655974616d1e34af8a05722e7e13a39a395e36984aea39b19d38608b36c33",
                "md5": "6f1f6749c31a824d2caa860cda73b843",
                "sha256": "70cde6a81fb3581d463d1da9b188b19ce98faceadbb4a202be1a1c57bc17f0b8"
            },
            "downloads": -1,
            "filename": "rrdtool_bindings-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "6f1f6749c31a824d2caa860cda73b843",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 23409,
            "upload_time": "2024-05-31T20:16:04",
            "upload_time_iso_8601": "2024-05-31T20:16:04.909515Z",
            "url": "https://files.pythonhosted.org/packages/ca/f6/55974616d1e34af8a05722e7e13a39a395e36984aea39b19d38608b36c33/rrdtool_bindings-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-31 20:16:04",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "smsearcy",
    "github_project": "rrdtool-python-bindings",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "cfgv",
            "specs": [
                [
                    "==",
                    "3.4.0"
                ]
            ]
        },
        {
            "name": "colorama",
            "specs": [
                [
                    "==",
                    "0.4.6"
                ]
            ]
        },
        {
            "name": "distlib",
            "specs": [
                [
                    "==",
                    "0.3.8"
                ]
            ]
        },
        {
            "name": "exceptiongroup",
            "specs": [
                [
                    "==",
                    "1.2.1"
                ]
            ]
        },
        {
            "name": "filelock",
            "specs": [
                [
                    "==",
                    "3.14.0"
                ]
            ]
        },
        {
            "name": "identify",
            "specs": [
                [
                    "==",
                    "2.5.36"
                ]
            ]
        },
        {
            "name": "iniconfig",
            "specs": [
                [
                    "==",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "nodeenv",
            "specs": [
                [
                    "==",
                    "1.9.0"
                ]
            ]
        },
        {
            "name": "packaging",
            "specs": [
                [
                    "==",
                    "24.0"
                ]
            ]
        },
        {
            "name": "platformdirs",
            "specs": [
                [
                    "==",
                    "4.2.2"
                ]
            ]
        },
        {
            "name": "pluggy",
            "specs": [
                [
                    "==",
                    "1.5.0"
                ]
            ]
        },
        {
            "name": "pre-commit",
            "specs": [
                [
                    "==",
                    "3.5.0"
                ]
            ]
        },
        {
            "name": "pytest",
            "specs": [
                [
                    "==",
                    "8.2.1"
                ]
            ]
        },
        {
            "name": "pyyaml",
            "specs": [
                [
                    "==",
                    "6.0.1"
                ]
            ]
        },
        {
            "name": "ruff",
            "specs": [
                [
                    "==",
                    "0.4.6"
                ]
            ]
        },
        {
            "name": "tomli",
            "specs": [
                [
                    "==",
                    "2.0.1"
                ]
            ]
        },
        {
            "name": "virtualenv",
            "specs": [
                [
                    "==",
                    "20.26.2"
                ]
            ]
        }
    ],
    "lcname": "rrdtool-bindings"
}
        
Elapsed time: 0.22573s