Skip to main content

Tools for managing Pastas time series models.

Project description

pastastore Documentation Status Codacy Badge Codacy Badge PyPI

pastastore

This module stores Pastas time series and models in a database.

Storing time series and models in a database allows the user to manage time series and Pastas models on disk, which allows the user to pick up where they left off without having to reload everything.

Installation

Install the module with pip install pastastore.

For installing in development mode, clone the repository and install by typing pip install -e . from the module root directory.

For plotting background maps, the contextily and pyproj packages are required. For a full install, including optional dependencies for plotting and labeling data on maps, use: pip install pastastore[optional] Windows users are asked to install rasterio themselves since it often cannot be installed using pip. rasterio is a dependency of contextily.

Usage

The following snippets show typical usage. The first step is to define a so-called Connector object. This object contains methods to store time series or models to the database, or read objects from the database.

The following code creates a PasConnector, which uses Pastas JSON-styled ".pas-files" to save models in a folder on your computer (in this case a folder called pastas_db in the current directory).

import pastastore as pst

# create connector instance
conn = pst.PasConnector(name="pastas_db", path=".")

The next step is to pass that connector to the PastaStore object. This object contains all kinds of useful methods to analyze and visualize time series, and build and analyze models.

# create PastaStore instance
pstore = pst.PastaStore(conn)

Now the user can add time series, models or analyze or visualize existing objects in the database. Some examples showing the functionality of the PastaStore object are shown below:

import pandas as pd
import pastas as ps

# load oseries from CSV and add to database
oseries = pd.read_csv("oseries.csv")
pstore.add_oseries(oseries, "my_oseries", metadata={"x": 100_000, "y": 400_000})

# read oseries from database
oseries = pstore.get_oseries("my_oseries")

# view oseries metadata DataFrame
pstore.oseries

# plot oseries location on map
ax = pstore.maps.oseries()
pstore.maps.add_background_map(ax)  # add a background map

# plot my_oseries time series
ax2 = pstore.plot.oseries(names=["my_oseries"])

# create a model with pastas
ml = ps.Model(oseries, name="my_model")

# add model to database
pstore.add_model(ml)

# load model from database
ml2 = pstore.get_models("my_model")

# export whole database to a zip file
pstore.to_zip("my_backup.zip")

For more elaborate examples, refer to the Notebooks.

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

pastastore-1.7.2.tar.gz (72.7 kB view details)

Uploaded Source

Built Distribution

pastastore-1.7.2-py3-none-any.whl (78.1 kB view details)

Uploaded Python 3

File details

Details for the file pastastore-1.7.2.tar.gz.

File metadata

  • Download URL: pastastore-1.7.2.tar.gz
  • Upload date:
  • Size: 72.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pastastore-1.7.2.tar.gz
Algorithm Hash digest
SHA256 316a45e5981f889d18580183747f08a9b06712af37b3214dc2d8858cc7470fb0
MD5 549752e79628bc0be54941cb59694ad4
BLAKE2b-256 d53c89e0fc5016fae76a89566721c2db67ddacfe1cd367e0b556ca7c4c5557d9

See more details on using hashes here.

File details

Details for the file pastastore-1.7.2-py3-none-any.whl.

File metadata

  • Download URL: pastastore-1.7.2-py3-none-any.whl
  • Upload date:
  • Size: 78.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pastastore-1.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f11fb4b65c262f48b2861f36f7182d6bf6ab623bd7f6671c809c91e1dc4bd513
MD5 b21a1229e1130825112d01b4ea372c50
BLAKE2b-256 fdfab4d1f2d5741f88537daea48a84f120e0f3bb12137664fc7190db8d81c4c8

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