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

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

Uploaded Source

Built Distribution

gregory-3.0.1-py3-none-any.whl (16.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for gregory-3.0.1.tar.gz
Algorithm Hash digest
SHA256 177ae23a84e9dbbc8afef6f7d9d3ea147fc7a5a5606f3c581a3f1705651a0e70
MD5 555d44d4f3d76e01deac5568aff830a3
BLAKE2b-256 c0cb39b057c36c4ff263cd6e94b64663b58b3aaa2a444ad23206e3e3536cd69d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gregory-3.0.1-py3-none-any.whl
  • Upload date:
  • Size: 16.0 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.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0dec633d9f8b9152ef5acd26dce03babf3844b56ee0336675440df6f885aac3e
MD5 fbabbf9ff19fb0a90ed1c98fd0c2ce75
BLAKE2b-256 3c1721b4c363bbc372258f2e6fffb1739ceef5cb2b2b1d1e4d804209681685f9

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