Skip to content

dunderlab/python-django-timescaledbapp

Repository files navigation

TimeScaleDB App

TimeScaleDB App is a Django-based web application that provides an API for managing and querying time-series data. This application utilizes RealTimeDB, a time-series database built atop PostgreSQL, for efficient storage and analysis of time-series data. With custom pagination classes and viewsets, the TimeScaleDB App delivers a powerful and flexible way to interact with Source, Measure, Channel, and TimeSerie models.

Features

  • API endpoints for managing and querying time-series data
  • Custom pagination classes for more efficient data retrieval
  • Custom viewset mixin enabling creation of multiple objects
  • Grouping and aggregation of TimeSerie objects by channel
  • Computation of various statistics for aggregated time-series data

Getting Started

Installation

  1. Clone the repository:
git clone https://github.com/dunderlab/python-django-timescaledbapp.git
cd python-django-timescaledbapp
  1. Install the required dependencies:
pip install -r requirements.txt

Configuration

  1. Configure your database settings in the settings.py file:
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'your_database_name',
        'USER': 'your_database_user',
        'PASSWORD': 'your_database_password',
        'HOST': 'your_database_host',
        'PORT': 'your_database_port',
    }
}
  1. Add the required apps to INSTALLED_APPS in the settings.py file:
INSTALLED_APPS = [
    'django_extensions',
    'rest_framework',
    'dunderlab.django.timescaledbapp.apps.TimeScaleDBConfig',
]
  1. Include the TimeScaleDB App URLs in your project's urls.py file:
urlpatterns = [
    path("timescaledbapp/", include('dunderlab.django.timescaledbapp.urls')),
]

Execution

  1. Apply the migrations:
python manage.py migrate
  1. Start the development server:
python manage.py runserver

You can now access the TimeScaleDB App API at http://localhost:8000/.

API Endpoints

  • /sources/: View or edit sources
  • /measures/: View or edit measures
  • /channels/: View or edit channels
  • /timeseries/: View or edit time series with custom behavior for listing and paginating time series data
  • /chunk/: Handle chunks

Contributing

If you'd like to contribute to TimeScaleDB App, please follow these steps:

  1. Fork the repository
  2. Create a new branch for your feature or bugfix
  3. Commit your changes to your branch
  4. Push your branch to your fork
  5. Submit a pull request with a detailed description of your changes

We appreciate your contributions and will review them as soon as possible.

License

TimeScaleDB App is released under the MIT License.

Database model

About

High-level Django app for TimeScaleDB administration

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages