pyarchappl


Namepyarchappl JSON
Version 1.0.2 PyPI version JSON
download
home_pageNone
SummaryPython interface to Archiver Appliance
upload_time2025-09-18 21:28:38
maintainerNone
docs_urlNone
authorTong Zhang
requires_python>=3.9
licenseNone
keywords archiver epics ca pva
VCS
bugtrack_url
requirements numpy pandas openpyxl tqdm requests simplejson tables protobuf
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # PyArchAppl

[![PyPI - Version](https://img.shields.io/pypi/v/PyArchAppl)](https://pypi.org/project/PyArchAppl/)
[![PyPI - License](https://img.shields.io/pypi/l/PyArchAppl)](./LICENSE)
![Python 3.9+](https://img.shields.io/badge/Python-3.9+-blue)

**PyArchAppl** is a Python client library for the [EPICS Archiver Appliance](https://github.com/archiver-appliance/epicsarchiverap), providing easy data access, management, and automation for control system data.

---

## Features

- Retrieve and plot time-series data from Archiver Appliance
- Management interface for PVs (Process Variables)
- Command-line tools for data access and inspection
- Flexible site configuration
- Support Python 3.9, 3.10, 3.11, 3.12, 3.13

---

## Installation

```bash
pip install pyarchappl
```

To upgrade:
```bash
pip install --upgrade pyarchappl
```

---

## Quick Start

### Data Retrieval Example

```python
from archappl.client import ArchiverDataClient
import matplotlib.pyplot as plt

client = ArchiverDataClient()
client.url = 'http://127.0.0.1:17665'  # Optional, default provided

pv = 'TST:gaussianNoise'
data = client.get_data(pv)

data.plot()
plt.show()
```
![Example Plot](tests/data_plot1.png?raw=true)

### Management Example

```python
from archappl.client import ArchiverMgmtClient

client = ArchiverMgmtClient()
client.url = 'http://127.0.0.1:17665'

all_pvs = client.get_all_pvs(pv="TST*")
print(all_pvs)
# [u'TST:fakeGaussianNoise', u'TST:gaussianNoise', u'TST:uniformNoise']
```

---

## Command Line Tools

PyArchAppl provides convenient CLI tools:

- `pyarchappl-get` — Retrieve data (use `-h` for help)
- `pyarchappl-inspect` — Inspect archiver information (use `-h` for help)

---

## Configuration

PyArchAppl uses an INI-style configuration file to define service connection and behavior.

**Config file search order:**
1. `~/.pyarchappl/config.ini`
2. `/etc/pyarchappl/config.ini`
3. Package default: `main/config/default.ini`

Override with the environment variable: `PYARCHAPPL_CONFIG_FILE`.

See the [default.ini](./main/config/default.ini) for all options.

---

## Development

- Clone the repo and install dependencies from `requirements.txt` and `requirements-dev.txt`.
- [Optional] Set up a local Archiver Appliance for testing.

---

## License

This project is licensed under the GPLv3+ License. See the [LICENSE](./LICENSE) file for details.

---

## Links

- [Documentation](https://zhangt58.github.io/PyArchAppl/)
- [Archiver Appliance Docs](https://epicsarchiver.readthedocs.io/en/latest/)
- [PyPI Project](https://pypi.org/project/PyArchAppl/)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "pyarchappl",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "Archiver, EPICS, CA, PVA",
    "author": "Tong Zhang",
    "author_email": null,
    "download_url": null,
    "platform": null,
    "description": "# PyArchAppl\n\n[![PyPI - Version](https://img.shields.io/pypi/v/PyArchAppl)](https://pypi.org/project/PyArchAppl/)\n[![PyPI - License](https://img.shields.io/pypi/l/PyArchAppl)](./LICENSE)\n![Python 3.9+](https://img.shields.io/badge/Python-3.9+-blue)\n\n**PyArchAppl** is a Python client library for the [EPICS Archiver Appliance](https://github.com/archiver-appliance/epicsarchiverap), providing easy data access, management, and automation for control system data.\n\n---\n\n## Features\n\n- Retrieve and plot time-series data from Archiver Appliance\n- Management interface for PVs (Process Variables)\n- Command-line tools for data access and inspection\n- Flexible site configuration\n- Support Python 3.9, 3.10, 3.11, 3.12, 3.13\n\n---\n\n## Installation\n\n```bash\npip install pyarchappl\n```\n\nTo upgrade:\n```bash\npip install --upgrade pyarchappl\n```\n\n---\n\n## Quick Start\n\n### Data Retrieval Example\n\n```python\nfrom archappl.client import ArchiverDataClient\nimport matplotlib.pyplot as plt\n\nclient = ArchiverDataClient()\nclient.url = 'http://127.0.0.1:17665'  # Optional, default provided\n\npv = 'TST:gaussianNoise'\ndata = client.get_data(pv)\n\ndata.plot()\nplt.show()\n```\n![Example Plot](tests/data_plot1.png?raw=true)\n\n### Management Example\n\n```python\nfrom archappl.client import ArchiverMgmtClient\n\nclient = ArchiverMgmtClient()\nclient.url = 'http://127.0.0.1:17665'\n\nall_pvs = client.get_all_pvs(pv=\"TST*\")\nprint(all_pvs)\n# [u'TST:fakeGaussianNoise', u'TST:gaussianNoise', u'TST:uniformNoise']\n```\n\n---\n\n## Command Line Tools\n\nPyArchAppl provides convenient CLI tools:\n\n- `pyarchappl-get` — Retrieve data (use `-h` for help)\n- `pyarchappl-inspect` — Inspect archiver information (use `-h` for help)\n\n---\n\n## Configuration\n\nPyArchAppl uses an INI-style configuration file to define service connection and behavior.\n\n**Config file search order:**\n1. `~/.pyarchappl/config.ini`\n2. `/etc/pyarchappl/config.ini`\n3. Package default: `main/config/default.ini`\n\nOverride with the environment variable: `PYARCHAPPL_CONFIG_FILE`.\n\nSee the [default.ini](./main/config/default.ini) for all options.\n\n---\n\n## Development\n\n- Clone the repo and install dependencies from `requirements.txt` and `requirements-dev.txt`.\n- [Optional] Set up a local Archiver Appliance for testing.\n\n---\n\n## License\n\nThis project is licensed under the GPLv3+ License. See the [LICENSE](./LICENSE) file for details.\n\n---\n\n## Links\n\n- [Documentation](https://zhangt58.github.io/PyArchAppl/)\n- [Archiver Appliance Docs](https://epicsarchiver.readthedocs.io/en/latest/)\n- [PyPI Project](https://pypi.org/project/PyArchAppl/)\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Python interface to Archiver Appliance",
    "version": "1.0.2",
    "project_urls": {
        "Homepage": "https://github.com/zhangt58/pyarchappl",
        "PyPI": "https://pypi.org/project/pyarchappl"
    },
    "split_keywords": [
        "archiver",
        " epics",
        " ca",
        " pva"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2dc8577845b61e0aadeed613ef1cf21fdbe96b8ba9b2aee9f4541cd0c5caef4a",
                "md5": "4075cc76b2ece335f30430fe22c68d0a",
                "sha256": "aa941545f59ab062d10d14a94964e646c4d8901dae5c6c854c04057f18248dd9"
            },
            "downloads": -1,
            "filename": "pyarchappl-1.0.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4075cc76b2ece335f30430fe22c68d0a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 48421,
            "upload_time": "2025-09-18T21:28:38",
            "upload_time_iso_8601": "2025-09-18T21:28:38.758535Z",
            "url": "https://files.pythonhosted.org/packages/2d/c8/577845b61e0aadeed613ef1cf21fdbe96b8ba9b2aee9f4541cd0c5caef4a/pyarchappl-1.0.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-18 21:28:38",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "zhangt58",
    "github_project": "pyarchappl",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "numpy",
            "specs": [
                [
                    ">=",
                    "1.0"
                ],
                [
                    "<",
                    "2.0"
                ]
            ]
        },
        {
            "name": "pandas",
            "specs": [
                [
                    ">=",
                    "1.0"
                ],
                [
                    "<",
                    "2.0"
                ]
            ]
        },
        {
            "name": "openpyxl",
            "specs": [
                [
                    ">",
                    "3.0"
                ],
                [
                    "<",
                    "3.1"
                ]
            ]
        },
        {
            "name": "tqdm",
            "specs": [
                [
                    "<",
                    "5.0"
                ],
                [
                    ">=",
                    "4.0"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    ">=",
                    "2.0"
                ],
                [
                    "<",
                    "3.0"
                ]
            ]
        },
        {
            "name": "simplejson",
            "specs": [
                [
                    "<",
                    "4.0"
                ],
                [
                    ">=",
                    "3.0"
                ]
            ]
        },
        {
            "name": "tables",
            "specs": [
                [
                    "<",
                    "4.0"
                ],
                [
                    ">=",
                    "3.0"
                ]
            ]
        },
        {
            "name": "protobuf",
            "specs": [
                [
                    "<",
                    "4.0"
                ],
                [
                    ">=",
                    "3.0"
                ]
            ]
        }
    ],
    "lcname": "pyarchappl"
}
        
Elapsed time: 9.52048s