An open API service indexing awesome lists of open source software.

https://github.com/durandtibo/arctix


https://github.com/durandtibo/arctix

asynchronous polars-dataframe python3 time-series

Last synced: 9 months ago
JSON representation

Awesome Lists containing this project

README

          

# arctix



CI


Nightly Tests


Nightly Package Tests


Codecov




Documentation


Documentation




Code style: black


Doc style: google


Ruff


Doc style: google




PYPI version


Python


BSD-3-Clause




Downloads


Monthly downloads



## Overview

The `arctix` package consists of functionalities to prepare dataset of asynchronous time series.
It is design to make dataset preparation reusable and reproducible.
For each dataset, `arctix` provides 3 main functions:

- `fetch_data` to load the raw data are loaded in
a [`polars.DataFrame`](https://docs.pola.rs/py-polars/html/reference/dataframe/index.html). When
possible, it downloads automatically the data.
- `prepare_data` to prepare the data. It outputs the prepared data
in [`polars.DataFrame`](https://docs.pola.rs/py-polars/html/reference/dataframe/index.html), and
the metadata.
- `to_array` to convert the prepared data to a dictionary of numpy arrays.

For example, it is possible to use the following lines to download and prepare the MultiTHUMOS data.

```pycon

>>> from pathlib import Path
>>> from arctix.dataset.multithumos import fetch_data, prepare_data, to_array
>>> dataset_path = Path("/path/to/dataset/multithumos")
>>> data_raw = fetch_data(dataset_path) # doctest: +SKIP
>>> data, metadata = prepare_data(data_raw) # doctest: +SKIP
>>> arrays = to_array(data) # doctest: +SKIP

```

- [Documentation](https://durandtibo.github.io/arctix/)
- [Installation](#installation)
- [Contributing](#contributing)
- [API stability](#api-stability)
- [License](#license)

## Documentation

- [latest (stable)](https://durandtibo.github.io/arctix/): documentation from the latest stable
release.
- [main (unstable)](https://durandtibo.github.io/arctix/main/): documentation associated to the
main branch of the repo. This documentation may contain a lot of work-in-progress/outdated/missing
parts.

## Installation

We highly recommend installing
a [virtual environment](https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/).
`arctix` can be installed from pip using the following command:

```shell
pip install arctix
```

To make the package as slim as possible, only the minimal packages required to use `arctix` are
installed.
To include all the packages, you can use the following command:

```shell
pip install arctix[all]
```

Please check the [get started page](https://durandtibo.github.io/arctix/get_started) to see how to
install only some specific packages or other alternatives to install the library.
The following is the corresponding `karbonn` versions and dependencies.

| `batcharray` | `batcharray` | `coola` | `iden` | `numpy` | `polars` | `python` |
|--------------|----------------|----------------|------------------|---------------|-----------------|---------------|
| `main` | `>=0.1,<1.0` | `>=0.8.4,<1.0` | `">=0.1,<1.0"` | `>=1.22,<3.0` | `>=1.0,<2.0` | `>=3.9,<3.14` |
| `0.0.8` | `>=0.1,<1.0` | `>=0.8.4,<1.0` | `">=0.1,<1.0"` | `>=1.22,<3.0` | `>=1.0,<2.0` | `>=3.9,<3.14` |
| `0.0.7` | `>=0.0.2,<1.0` | `>=0.3,<1.0` | `">=0.0.3,<1.0"` | `>=1.22,<3.0` | `>=1.0,<2.0` | `>=3.9,<3.13` |
| `0.0.6` | `>=0.0.2,<0.1` | `>=0.3,<1.0` | `">=0.0.3,<1.0"` | `>=1.22,<2.0` | `>=0.20.0,<1.0` | `>=3.9,<3.13` |
| `0.0.5` | `>=0.0.2,<0.1` | `>=0.3,<1.0` | `">=0.0.3,<1.0"` | `>=1.22,<2.0` | `>=0.20.0,<1.0` | `>=3.9,<3.13` |
| `0.0.4` | `>=0.0.2,<0.1` | `>=0.3,<1.0` | `">=0.0.3,<1.0"` | `>=1.22,<2.0` | `>=0.20.0,<1.0` | `>=3.9,<3.13` |
| `0.0.3` | `>=0.0.2,<0.1` | `>=0.3,<1.0` | `">=0.0.3,<1.0"` | `>=1.22,<2.0` | `>=0.20.0,<1.0` | `>=3.9,<3.13` |

## Contributing

Please check the instructions in [CONTRIBUTING.md](.github/CONTRIBUTING.md).

## API stability

:warning: While `arctix` is in development stage, no API is guaranteed to be stable from one
release to the next.
In fact, it is very likely that the API will change multiple times before a stable 1.0.0 release.
In practice, this means that upgrading `arctix` to a new version will possibly break any code that
was using the old version of `arctix`.

## License

`arctix` is licensed under BSD 3-Clause "New" or "Revised" license available in [LICENSE](LICENSE)
file.