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

Uploaded Source

Built Distribution

gregory-3.1.0-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gregory-3.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 6d8ec926e6adab9c18711e9a965c8c6c824f57b052ea348bcfdf8c9f5642ae03
MD5 a1f2b5dbbff35a1b76de74a54e1ab409
BLAKE2b-256 d8ab9212be59232388a56e458032215a7ad99be42088bef689ec7741a273e8e7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gregory-3.1.0-py3-none-any.whl
  • Upload date:
  • Size: 16.7 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6591987a4bd5bd221e14d1e262c418c6716f2a9623e4ca5b624e3d09af978517
MD5 0647ecabebc7d0c80f4ac6abefc77e04
BLAKE2b-256 43c7ab2e8b8ddd5a55e929d092d6a395b9b72e3126bee10cd84c0718281a38fd

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