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'),
    date={
        '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

pip install gregory

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-2.0.2.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

gregory-2.0.2-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file gregory-2.0.2.tar.gz.

File metadata

  • Download URL: gregory-2.0.2.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.13

File hashes

Hashes for gregory-2.0.2.tar.gz
Algorithm Hash digest
SHA256 0d4dbf4977a36f1480753ce583416137e9ba57d18dda4e51332eabdb00095f8a
MD5 2dd2a6a7f1de006ac8bdd09aa501a665
BLAKE2b-256 2995917bdb6fc7b51623185b18c821adbd7fb43c980eb74fc6233ce1ddd5a147

See more details on using hashes here.

File details

Details for the file gregory-2.0.2-py3-none-any.whl.

File metadata

  • Download URL: gregory-2.0.2-py3-none-any.whl
  • Upload date:
  • Size: 11.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.13

File hashes

Hashes for gregory-2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9596d3c00fe350e3e8aeafd83e18154d05c6274897bfa942d36afffcf17c9312
MD5 ed0e079fa2fe33dfe77a590bd8b94c94
BLAKE2b-256 2cfbdd5f66934ecd13e6395cfb5bbc26ec15ae1f15a8b7952c6331efd0ec37ff

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