ezioaltair


Nameezioaltair JSON
Version 0.1.2 PyPI version JSON
download
home_pagehttps://github.com/clarkmaio/ezio
SummaryA simple, opinionated wrapper for Altair visualizations.
upload_time2025-08-22 05:19:37
maintainerNone
docs_urlNone
authorclarkmaio
requires_python>=3.10
licenseNone
keywords altair data-visualization plotting wrapper
VCS
bugtrack_url
requirements altair polars numpy marimo dotenv-python setuptools wheel twine
Travis-CI No Travis.
coveralls test coverage No coveralls.
            

# ezio (just an altair wrapper)

> I will dedicate my life to make people stop using plotly.
>
> -- <cite>Benjamin Franklin</cite>


The idea behind this package is quite simple: create a wrapper of [altair](https://altair-viz.github.io/) similar to what [plotly-express](https://plotly.com/python/plotly-express/) did for plotly.

My hope is to remove friction while creating simple plots. Big focus on interaction between subplots that I think is the killing feature of `altair`.

The motto of this packae is modularity. No fuctions with 1 billion parameters (I'm looking at you plotly) but rather multiple methods to concatenate at will.



## Demo

In this marimo you will find few examples.

Here a tiny demo:


```
import polars as pl
import ezioaltair as ez
import numpy as np
from datetime import date

N = 100
data = pl.DataFrame({
    'time': pl.date_range(start=date(2025, 1, 1), 
                          end=date(2025, 1, 1) + pl.duration(days=N-1), 
                          interval='1d',
                         eager=True),
    'var1': (np.random.randn(N) + np.linspace(0, 10, N)).tolist(),
    'var2': (np.random.randn(N)*0.2 + np.sin(np.linspace(0, 10, N))).tolist(),
})

(
    ez.LineChart(data=data, 
                    x='time', 
                    y=['var1', 'var2'],
                   colors=['red', 'black'], ytitle='y axis title', xtitle='x axis')
    .add_view(y=['var1'])
    .add_scatter(x='var1', y='var2', highlight_color='green', color='blue')
    .add_title('This is a title')
    .render(height=300, width=500)
)
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/clarkmaio/ezio",
    "name": "ezioaltair",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "altair data-visualization plotting wrapper",
    "author": "clarkmaio",
    "author_email": "maioliandrea0@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/8d/ce/5043e55499216de87ab839ab6e5a6496d2cd2ff91f509589d45753f059e8/ezioaltair-0.1.2.tar.gz",
    "platform": null,
    "description": "\n\n# ezio (just an altair wrapper)\n\n> I will dedicate my life to make people stop using plotly.\n>\n> -- <cite>Benjamin Franklin</cite>\n\n\nThe idea behind this package is quite simple: create a wrapper of [altair](https://altair-viz.github.io/) similar to what [plotly-express](https://plotly.com/python/plotly-express/) did for plotly.\n\nMy hope is to remove friction while creating simple plots. Big focus on interaction between subplots that I think is the killing feature of `altair`.\n\nThe motto of this packae is modularity. No fuctions with 1 billion parameters (I'm looking at you plotly) but rather multiple methods to concatenate at will.\n\n\n\n## Demo\n\nIn this marimo you will find few examples.\n\nHere a tiny demo:\n\n\n```\nimport polars as pl\nimport ezioaltair as ez\nimport numpy as np\nfrom datetime import date\n\nN = 100\ndata = pl.DataFrame({\n    'time': pl.date_range(start=date(2025, 1, 1), \n                          end=date(2025, 1, 1) + pl.duration(days=N-1), \n                          interval='1d',\n                         eager=True),\n    'var1': (np.random.randn(N) + np.linspace(0, 10, N)).tolist(),\n    'var2': (np.random.randn(N)*0.2 + np.sin(np.linspace(0, 10, N))).tolist(),\n})\n\n(\n    ez.LineChart(data=data, \n                    x='time', \n                    y=['var1', 'var2'],\n                   colors=['red', 'black'], ytitle='y axis title', xtitle='x axis')\n    .add_view(y=['var1'])\n    .add_scatter(x='var1', y='var2', highlight_color='green', color='blue')\n    .add_title('This is a title')\n    .render(height=300, width=500)\n)\n```\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A simple, opinionated wrapper for Altair visualizations.",
    "version": "0.1.2",
    "project_urls": {
        "Homepage": "https://github.com/clarkmaio/ezio"
    },
    "split_keywords": [
        "altair",
        "data-visualization",
        "plotting",
        "wrapper"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "90729a3c6b317a8b5e976b780ffc82b550ae02be89b03342d4940d50352b0dc7",
                "md5": "54cdc6503282f2663bd37f84dc36b3ec",
                "sha256": "d86376b2494e45da9c335d683d164eaf2f5a37c3ffe03a4f6b2cfe94f6004494"
            },
            "downloads": -1,
            "filename": "ezioaltair-0.1.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "54cdc6503282f2663bd37f84dc36b3ec",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 9687,
            "upload_time": "2025-08-22T05:19:35",
            "upload_time_iso_8601": "2025-08-22T05:19:35.328503Z",
            "url": "https://files.pythonhosted.org/packages/90/72/9a3c6b317a8b5e976b780ffc82b550ae02be89b03342d4940d50352b0dc7/ezioaltair-0.1.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8dce5043e55499216de87ab839ab6e5a6496d2cd2ff91f509589d45753f059e8",
                "md5": "b27924c779e94347f3d4429f6bfdc4c7",
                "sha256": "f46660f73404ef3197a361144b45c8f7a0236bd1328cc56554e3b1387c076601"
            },
            "downloads": -1,
            "filename": "ezioaltair-0.1.2.tar.gz",
            "has_sig": false,
            "md5_digest": "b27924c779e94347f3d4429f6bfdc4c7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 8718,
            "upload_time": "2025-08-22T05:19:37",
            "upload_time_iso_8601": "2025-08-22T05:19:37.274046Z",
            "url": "https://files.pythonhosted.org/packages/8d/ce/5043e55499216de87ab839ab6e5a6496d2cd2ff91f509589d45753f059e8/ezioaltair-0.1.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-22 05:19:37",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "clarkmaio",
    "github_project": "ezio",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "altair",
            "specs": []
        },
        {
            "name": "polars",
            "specs": []
        },
        {
            "name": "numpy",
            "specs": []
        },
        {
            "name": "marimo",
            "specs": []
        },
        {
            "name": "dotenv-python",
            "specs": []
        },
        {
            "name": "setuptools",
            "specs": []
        },
        {
            "name": "wheel",
            "specs": []
        },
        {
            "name": "twine",
            "specs": []
        }
    ],
    "lcname": "ezioaltair"
}
        
Elapsed time: 1.43384s