An open API service indexing awesome lists of open source software.

https://github.com/openscm/continuous-timeseries

Representation of continuous timeseries
https://github.com/openscm/continuous-timeseries

Last synced: 3 months ago
JSON representation

Representation of continuous timeseries

Awesome Lists containing this project

README

          

# Continuous Timeseries

Representation of continuous timeseries.

**Key info :**
[![Docs](https://readthedocs.org/projects/continuous-timeseries/badge/?version=latest)](https://continuous-timeseries.readthedocs.io)
[![Main branch: supported Python versions](https://img.shields.io/python/required-version-toml?tomlFilePath=https%3A%2F%2Fraw.githubusercontent.com%2Fopenscm%2Fcontinuous-timeseries%2Fmain%2Fpyproject.toml)](https://github.com/openscm/continuous-timeseries/blob/main/pyproject.toml)
[![Licence](https://img.shields.io/pypi/l/continuous-timeseries?label=licence)](https://github.com/openscm/continuous-timeseries/blob/main/LICENCE)

**PyPI :**
[![PyPI](https://img.shields.io/pypi/v/continuous-timeseries.svg)](https://pypi.org/project/continuous-timeseries/)
[![PyPI install](https://github.com/openscm/continuous-timeseries/actions/workflows/install-pypi.yaml/badge.svg?branch=main)](https://github.com/openscm/continuous-timeseries/actions/workflows/install-pypi.yaml)

**Tests :**
[![CI](https://github.com/openscm/continuous-timeseries/actions/workflows/ci.yaml/badge.svg?branch=main)](https://github.com/openscm/continuous-timeseries/actions/workflows/ci.yaml)
[![Coverage](https://codecov.io/gh/openscm/continuous-timeseries/branch/main/graph/badge.svg)](https://codecov.io/gh/openscm/continuous-timeseries)

**Other info :**
[![Last Commit](https://img.shields.io/github/last-commit/openscm/continuous-timeseries.svg)](https://github.com/openscm/continuous-timeseries/commits/main)
[![Contributors](https://img.shields.io/github/contributors/openscm/continuous-timeseries.svg)](https://github.com/openscm/continuous-timeseries/graphs/contributors)
## Status

- development: the project is actively being worked on

Full documentation can be found at:
[continuous-timeseries.readthedocs.io](https://continuous-timeseries.readthedocs.io/en/latest/).
We recommend reading the docs there because the internal documentation links
don't render correctly on GitHub's viewer.

## Installation

### As an application

If you want to use Continuous Timeseries as an application,
then we recommend using the 'locked' version of the package.
This version pins the version of all dependencies too,
which reduces the chance of installation issues
because of breaking updates to dependencies.

The locked version of Continuous Timeseries can be installed with

=== "pip"
```sh
pip install 'continuous-timeseries[locked]'
```

### As a library

If you want to use Continuous Timeseries as a library,
for example you want to use it
as a dependency in another package/application that you're building,
then we recommend installing the package with the commands below.
This method provides the loosest pins possible of all dependencies.
This gives you, the package/application developer,
as much freedom as possible to set the versions of different packages.
However, the tradeoff with this freedom is that you may install
incompatible versions of Continuous Timeseries's dependencies
(we cannot test all combinations of dependencies,
particularly ones which haven't been released yet!).
Hence, you may run into installation issues.
If you believe these are because of a problem in Continuous Timeseries,
please [raise an issue](https://github.com/openscm/continuous-timeseries/issues).

The (non-locked) version of Continuous Timeseries can be installed with

=== "pip"
```sh
pip install continuous-timeseries
```

Additional dependencies can be installed using

=== "pip"
```sh
# To add pandas-related dependencies
pip install 'continuous-timeseries[pandas]'

# To add plotting dependencies
pip install 'continuous-timeseries[plots]'

# To add progress bar-related dependencies
pip install 'continuous-timeseries[progress]'

# To add scipy-related dependencies
pip install 'continuous-timeseries[scipy]'

# To add all optional dependencies
pip install 'continuous-timeseries[full]'
```

### For developers

For development, we rely on [uv](https://docs.astral.sh/uv/)
for all our dependency management.
To get started, you will need to make sure that uv is installed
([instructions here](https://docs.astral.sh/uv/getting-started/installation/)
(we found that the self-managed install was best,
particularly for upgrading uv later).

For all of our work, we use our `Makefile`.
You can read the instructions out and run the commands by hand if you wish,
but we generally discourage this because it can be error prone.
In order to create your environment, run `make virtual-environment`.

If there are any issues, the messages from the `Makefile` should guide you through.
If not, please raise an issue in the
[issue tracker](https://github.com/openscm/continuous-timeseries/issues).

For the rest of our developer docs, please see [development][development].

## Original template

This project was generated from this template:
[copier core python repository](https://gitlab.com/openscm/copier-core-python-repository).
[copier](https://copier.readthedocs.io/en/stable/) is used to manage and
distribute this template.