Name | foxplot JSON |
Version |
1.0.0
JSON |
| download |
home_page | None |
Summary | Plot time-series data from line-delimited JSON. |
upload_time | 2024-10-30 16:43:51 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.8 |
license | None |
keywords |
json
time
series
plot
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# foxplot
[![Build](https://img.shields.io/github/actions/workflow/status/stephane-caron/foxplot/ci.yml?branch=main)](https://github.com/stephane-caron/foxplot/actions)
[![Documentation](https://img.shields.io/github/actions/workflow/status/stephane-caron/foxplot/docs.yml?branch=main&label=docs)](https://stephane-caron.github.io/foxplot/)
[![Coverage](https://coveralls.io/repos/github/stephane-caron/foxplot/badge.svg?branch=main)](https://coveralls.io/github/stephane-caron/foxplot?branch=main)
[![PyPI version](https://img.shields.io/pypi/v/foxplot)](https://pypi.org/project/foxplot/)
Manipulate time series read from [MessagePack](https://msgpack.org/) or [newline-delimited JSON](https://en.wikipedia.org/wiki/JSON_streaming#Newline-delimited-JSON).
## Installation
```console
pip install foxplot
```
## Usage
The `foxplot` command-line tool starts in interactive mode by default to explore the input gathered in `data` (tab completion works: try `data.<TAB>`). Plot times series using the `fox.plot` function, for example:
```python
$ foxplot upkie_2023-05-03-103245.mpack
Python 3.8.10 (default, Mar 13 2023, 10:26:41)
Type 'copyright', 'credits' or 'license' for more information
IPython 8.0.1 -- An enhanced Interactive Python. Type '?' for help.
In [1]: fox.plot(data.observation.imu.angular_velocity)
```
This call opens a new tab in your browser with the desired plot. In this example, `angular_velocity` is a 3D vector, thus the plot will include three curves.
Check out the [documentation](https://stephane-caron.github.io/foxplot/) for more advanced examples, such as left and right axes or computing new series from existing ones.
## See also
- [mpacklog.cpp](https://github.com/upkie/mpacklog.cpp): library to log dictionaries to MessagePack files in C++.
- [mpacklog.py](https://github.com/upkie/mpacklog.py): library and command-line tools to log dictionaries to MessagePack files in Python.
- [rq](https://github.com/dflemstr/rq/): command-line tool to manipulate streams of records in various formats.
- [uplot-python](https://github.com/stephane-caron/uplot-python): plotting backend used in this project.
- [µPlot](https://github.com/leeoniya/uPlot): time-series plotting library, whose performance was a key enabler for this project.
Raw data
{
"_id": null,
"home_page": null,
"name": "foxplot",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "St\u00e9phane Caron <stephane.caron@normalesup.org>",
"keywords": "json, time, series, plot",
"author": null,
"author_email": "St\u00e9phane Caron <stephane.caron@normalesup.org>",
"download_url": "https://files.pythonhosted.org/packages/d3/6d/be4da3abf1764c644bd381b8ab644d42cdd84b73e3f1968439de74064a4c/foxplot-1.0.0.tar.gz",
"platform": null,
"description": "# foxplot\n\n[![Build](https://img.shields.io/github/actions/workflow/status/stephane-caron/foxplot/ci.yml?branch=main)](https://github.com/stephane-caron/foxplot/actions)\n[![Documentation](https://img.shields.io/github/actions/workflow/status/stephane-caron/foxplot/docs.yml?branch=main&label=docs)](https://stephane-caron.github.io/foxplot/)\n[![Coverage](https://coveralls.io/repos/github/stephane-caron/foxplot/badge.svg?branch=main)](https://coveralls.io/github/stephane-caron/foxplot?branch=main)\n[![PyPI version](https://img.shields.io/pypi/v/foxplot)](https://pypi.org/project/foxplot/)\n\nManipulate time series read from [MessagePack](https://msgpack.org/) or [newline-delimited JSON](https://en.wikipedia.org/wiki/JSON_streaming#Newline-delimited-JSON).\n\n## Installation\n\n```console\npip install foxplot\n```\n\n## Usage\n\nThe `foxplot` command-line tool starts in interactive mode by default to explore the input gathered in `data` (tab completion works: try `data.<TAB>`). Plot times series using the `fox.plot` function, for example:\n\n```python\n$ foxplot upkie_2023-05-03-103245.mpack\nPython 3.8.10 (default, Mar 13 2023, 10:26:41)\nType 'copyright', 'credits' or 'license' for more information\nIPython 8.0.1 -- An enhanced Interactive Python. Type '?' for help.\n\nIn [1]: fox.plot(data.observation.imu.angular_velocity)\n```\n\nThis call opens a new tab in your browser with the desired plot. In this example, `angular_velocity` is a 3D vector, thus the plot will include three curves.\n\nCheck out the [documentation](https://stephane-caron.github.io/foxplot/) for more advanced examples, such as left and right axes or computing new series from existing ones.\n\n## See also\n\n- [mpacklog.cpp](https://github.com/upkie/mpacklog.cpp): library to log dictionaries to MessagePack files in C++.\n- [mpacklog.py](https://github.com/upkie/mpacklog.py): library and command-line tools to log dictionaries to MessagePack files in Python.\n- [rq](https://github.com/dflemstr/rq/): command-line tool to manipulate streams of records in various formats.\n- [uplot-python](https://github.com/stephane-caron/uplot-python): plotting backend used in this project.\n- [\u00b5Plot](https://github.com/leeoniya/uPlot): time-series plotting library, whose performance was a key enabler for this project.\n",
"bugtrack_url": null,
"license": null,
"summary": "Plot time-series data from line-delimited JSON.",
"version": "1.0.0",
"project_urls": {
"Changelog": "https://github.com/stephane-caron/foxplot/blob/master/CHANGELOG.md",
"Homepage": "https://github.com/stephane-caron/foxplot",
"Source": "https://github.com/stephane-caron/foxplot",
"Tracker": "https://github.com/stephane-caron/foxplot/issues"
},
"split_keywords": [
"json",
" time",
" series",
" plot"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "991707808c5568ff421a2acf17350564a737f98a4f60616b9bb22239aa99d2cc",
"md5": "0b90c6ce5a46878a8ef9477e23553ee7",
"sha256": "872744e967c5cc667473110799b71c2df3556c14431e4698a86f42de7fd8e550"
},
"downloads": -1,
"filename": "foxplot-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0b90c6ce5a46878a8ef9477e23553ee7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 19382,
"upload_time": "2024-10-30T16:43:50",
"upload_time_iso_8601": "2024-10-30T16:43:50.300751Z",
"url": "https://files.pythonhosted.org/packages/99/17/07808c5568ff421a2acf17350564a737f98a4f60616b9bb22239aa99d2cc/foxplot-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d36dbe4da3abf1764c644bd381b8ab644d42cdd84b73e3f1968439de74064a4c",
"md5": "2a67e912e7b4aea1f6ae07e2f692dd5c",
"sha256": "b864426003a6d9e78eebf1a17e6f0e2c56e0e0578d6a7cdd2aa4baa779398cfb"
},
"downloads": -1,
"filename": "foxplot-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "2a67e912e7b4aea1f6ae07e2f692dd5c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 43903,
"upload_time": "2024-10-30T16:43:51",
"upload_time_iso_8601": "2024-10-30T16:43:51.845992Z",
"url": "https://files.pythonhosted.org/packages/d3/6d/be4da3abf1764c644bd381b8ab644d42cdd84b73e3f1968439de74064a4c/foxplot-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-30 16:43:51",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "stephane-caron",
"github_project": "foxplot",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "foxplot"
}