Python framework to manage time series structured as one-level dictionaries
Project description
Gregory
Python Framework to Manage Time Series structured as one-level dictionaries.
Overview
This framework is an extension of the outatime package to facilitate operations on time series built as dictionaries.
The main requirement is that the data attribute of the dataclass TimeSeriesData is a one-level dictionary.
E.g.
TimeSeriesData(
day=date('2022-04-28'),
data={
'gold': 1887.77,
'silver': 23.03
}
)
Some features are added such as:
- interpolation of missing data
- trend and seasonality calculation
- methods of aggregation between dictionaries
- other
Installation
To install it use:
pip install gregory
or download the last git version and use:
python setup.py install
Framework Structure
gregory
├── dataclass
│ └── time_series_data.py --> Class used to manage daily data.
│
├── granularity
│ ├── granularity.py --> Set of classes used for managing time intervals of different length.
│ ├── granularity_factory.py --> Factory class for creating granularity objects.
│ └── utils.py --> Utils related to granularities.
│
├── timeseries
│ ├── batches.py --> Set of methods to operate on time series dividing them into batches.
│ ├── expr.py --> Set of operations between time series.
│ ├── processing.py --> Set of methods to elaborate time series.
│ └── time_series.py --> Core class that represents a series of daily records.
│
└── util
├── agenda.py --> Utils related to calendar info and evalutations.
├── bisect.py --> Utils related to binary search.
├── decorators.py --> Useful decorators.
├── dictionaries.py --> Utils related to operations on dictionaries.
└── relativedelta.py --> Class that extends relativedelta with useful properties.
License
MIT license, see LICENSE
file.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
gregory-3.1.1.tar.gz
(12.8 kB
view details)
Built Distribution
gregory-3.1.1-py3-none-any.whl
(16.6 kB
view details)
File details
Details for the file gregory-3.1.1.tar.gz
.
File metadata
- Download URL: gregory-3.1.1.tar.gz
- Upload date:
- Size: 12.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.8.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e64db2e3569d306139553ceb35b92b2701926e35c9d16283bb828f527f4ad1f3 |
|
MD5 | fafce8404e2aac27e272da7078498186 |
|
BLAKE2b-256 | ce6a77443fd358894ae3e50c425930a18b376cbcc064f3233f5e2fa0d6983f11 |
File details
Details for the file gregory-3.1.1-py3-none-any.whl
.
File metadata
- Download URL: gregory-3.1.1-py3-none-any.whl
- Upload date:
- Size: 16.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.8.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3a89488250ae8a9e856707fe10b294c8b7a62c79cd1538a16e66566d4ef21b2 |
|
MD5 | 188b3197bf3df6dc8a4c5228fa687568 |
|
BLAKE2b-256 | 86fac2c31d0ff92032cc91500a0c40a22d61713ad1315c3526abbc2df6386299 |