Metadata-Version: 2.4
Name: boadata
Version: 0.4.2
Summary: (B)rother (O)f (A)rbitrary Data - Python CLI tools for data.
Author-email: Jan Pipek <jan.pipek@gmail.com>
Requires-Python: >=3.11,<3.15
Description-Content-Type: text/markdown
License-Expression: MIT
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Development Status :: 3 - Alpha
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development :: Libraries :: Python Modules
License-File: LICENSE
Requires-Dist: numpy>1.21
Requires-Dist: pandas>2.0
Requires-Dist: scipy>=1.14.1
Requires-Dist: blinker
Requires-Dist: sqlalchemy
Requires-Dist: numexpr
Requires-Dist: click
Requires-Dist: xarray
Requires-Dist: scipy
Requires-Dist: matplotlib
Requires-Dist: seaborn
Requires-Dist: tabulate
Requires-Dist: physt
Requires-Dist: typer
Requires-Dist: textual
Requires-Dist: clevercsv>=0.8.2
Requires-Dist: textual-fastdatatable>=0.10.0
Requires-Dist: polars>=1.33.1
Requires-Dist: narwhals>=2.5.0
Requires-Dist: fastavro ; extra == "avro"
Requires-Dist: openpyxl ; extra == "excel"
Requires-Dist: xlrd ; extra == "excel"
Requires-Dist: google-cloud-storage ; extra == "google-cloud"
Requires-Dist: h5py ; extra == "h5py"
Requires-Dist: pydons ; extra == "matlab"
Requires-Dist: pydataset ; extra == "pydataset"
Provides-Extra: avro
Provides-Extra: excel
Provides-Extra: google-cloud
Provides-Extra: h5py
Provides-Extra: matlab
Provides-Extra: pydataset

boadata
=======

(B)rowser (O)f (A)rbitrary Data - a Python browser of tabular data.
The goal is to create a simple tool for scientists / data miners
to browse and plot various data sources in one simple environment.

It's a set of tools, as well as a library.

Installation
------------

```bash
uv tool install boadata
```

Concepts
--------
* uri - boadata tries to support odo URIs
* data object - wrapper around basic data types (a.k.a odo.resource but with wrapper)
* data tree - browseable that can contain nodes (some of the nodes can be data objects)
* data conversion - between different object types
* view - visual representation of a data objects

In progress: the data objects will use narwhals mostly.

CLI tools
---------
Run `<command> --help` to see full list of options

* `boa-describe <uri>` - show basic info about a data object
* `boa-tree <uri>` - list nodes in a data tree
* `boa-cat <uri>` - print tabular representation of a dataobject
* `boa-convert <from+> <to>` - convert one data source into another
* `boa-table <uri>` - a tabular view of data based on textual

Status
------
* in (slow) development

Requirements
------------
* pandas
* numpy
* numexpr
* click
* tabulate
* blinker (perhaps to be removed)
* h5py (optional)
* sqlalchemy (optional)
* matplotlib (to become optional)
* bokeh (to become optional instead of matplotlib)
* seaborn
* pandas_profiling (optional - dataframe summaries)
* datadotworld (optional - for their datasets)

* Python 3.11+

Supported formats and sources
-----------------------------
* File system tree
* HDF5
* CSV (including web links)
* SQL based on SqlAlchemy (sqlite supported)
* pydataset datasets
* seaborn datasets
* MATLAB .fig files
* data.world datasets/tables (that can be imported pandas dataframes)

