Skip to main content

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


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)

Uploaded Source

Built Distribution

gregory-3.1.1-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

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

Hashes for gregory-3.1.1.tar.gz
Algorithm Hash digest
SHA256 e64db2e3569d306139553ceb35b92b2701926e35c9d16283bb828f527f4ad1f3
MD5 fafce8404e2aac27e272da7078498186
BLAKE2b-256 ce6a77443fd358894ae3e50c425930a18b376cbcc064f3233f5e2fa0d6983f11

See more details on using hashes here.

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

Hashes for gregory-3.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b3a89488250ae8a9e856707fe10b294c8b7a62c79cd1538a16e66566d4ef21b2
MD5 188b3197bf3df6dc8a4c5228fa687568
BLAKE2b-256 86fac2c31d0ff92032cc91500a0c40a22d61713ad1315c3526abbc2df6386299

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page