# 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:
```bash
git clone https://github.com/dunderlab/python-django-timescaledbapp.git
cd python-django-timescaledbapp
```
2. Install the required dependencies:
```bash
pip install -r requirements.txt
```
### Configuration
3. Configure your database settings in the `settings.py` file:
```python
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',
}
}
```
4. Add the required apps to `INSTALLED_APPS` in the `settings.py` file:
```python
INSTALLED_APPS = [
'django_extensions',
'rest_framework',
'dunderlab.django.timescaledbapp.apps.TimeScaleDBConfig',
]
```
5. Include the TimeScaleDB App URLs in your project's `urls.py` file:
```python
urlpatterns = [
path("timescaledbapp/", include('dunderlab.django.timescaledbapp.urls')),
]
```
### Execution
6. Apply the migrations:
```bash
python manage.py migrate
```
7. Start the development server:
```bash
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](https://opensource.org/licenses/MIT).
![Database model](https://github.com/dunderlab/python-django-timescaledbapp/raw/main/docs/source/notebooks/_images/myapp_models.png)
Raw data
{
"_id": null,
"home_page": null,
"name": "dunderlab-timescaledbapp",
"maintainer": "Yeison Cardona",
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": "yencardonaal@unal.edu.co",
"keywords": null,
"author": "Yeison Cardona",
"author_email": "yencardonaal@unal.edu.co",
"download_url": "https://files.pythonhosted.org/packages/98/2a/3ab73e2040a3cd3acca0f5b3a0281c6f35429ac924af0ba3c4555de38254/dunderlab_timescaledbapp-0.1.17.tar.gz",
"platform": null,
"description": "# TimeScaleDB App\n\nTimeScaleDB 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.\n\n## Features\n\n- API endpoints for managing and querying time-series data\n- Custom pagination classes for more efficient data retrieval\n- Custom viewset mixin enabling creation of multiple objects\n- Grouping and aggregation of TimeSerie objects by channel\n- Computation of various statistics for aggregated time-series data\n\n## Getting Started\n\n### Installation\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/dunderlab/python-django-timescaledbapp.git\ncd python-django-timescaledbapp\n```\n\n2. Install the required dependencies:\n\n```bash\npip install -r requirements.txt\n```\n\n### Configuration\n\n3. Configure your database settings in the `settings.py` file:\n\n```python\nDATABASES = {\n 'default': {\n 'ENGINE': 'django.db.backends.postgresql',\n 'NAME': 'your_database_name',\n 'USER': 'your_database_user',\n 'PASSWORD': 'your_database_password',\n 'HOST': 'your_database_host',\n 'PORT': 'your_database_port',\n }\n}\n```\n\n4. Add the required apps to `INSTALLED_APPS` in the `settings.py` file:\n\n```python\nINSTALLED_APPS = [\n 'django_extensions',\n 'rest_framework',\n 'dunderlab.django.timescaledbapp.apps.TimeScaleDBConfig',\n]\n```\n\n5. Include the TimeScaleDB App URLs in your project's `urls.py` file:\n\n```python\nurlpatterns = [\n path(\"timescaledbapp/\", include('dunderlab.django.timescaledbapp.urls')),\n]\n```\n\n### Execution\n\n6. Apply the migrations:\n\n```bash\npython manage.py migrate\n```\n\n7. Start the development server:\n\n```bash\npython manage.py runserver\n```\n\nYou can now access the TimeScaleDB App API at `http://localhost:8000/`.\n\n## API Endpoints\n\n- `/sources/`: View or edit sources\n- `/measures/`: View or edit measures\n- `/channels/`: View or edit channels\n- `/timeseries/`: View or edit time series with custom behavior for listing and paginating time series data\n- `/chunk/`: Handle chunks\n\n## Contributing\n\nIf you'd like to contribute to TimeScaleDB App, please follow these steps:\n\n1. Fork the repository\n2. Create a new branch for your feature or bugfix\n3. Commit your changes to your branch\n4. Push your branch to your fork\n5. Submit a pull request with a detailed description of your changes\n\nWe appreciate your contributions and will review them as soon as possible.\n\n## License\n\nTimeScaleDB App is released under the [MIT License](https://opensource.org/licenses/MIT).\n\n\n\n![Database model](https://github.com/dunderlab/python-django-timescaledbapp/raw/main/docs/source/notebooks/_images/myapp_models.png)\n",
"bugtrack_url": null,
"license": "BSD-2-Clause",
"summary": "Django TimeScale DB App",
"version": "0.1.17",
"project_urls": {
"Download": "https://github.com/dunderlab/python-django.timescaledbapp"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "50dff6cde075dbeacac481e5cc524bbb90aa7fae655403febaad7ed375f6c79f",
"md5": "db014c0cba8d12d182417dbf5739ff24",
"sha256": "42c8d69a9dcecf0a3eb808b61b13867455df03f8558b9f962f656531b0cd5703"
},
"downloads": -1,
"filename": "dunderlab_timescaledbapp-0.1.17-py3-none-any.whl",
"has_sig": false,
"md5_digest": "db014c0cba8d12d182417dbf5739ff24",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 31249,
"upload_time": "2024-09-01T02:04:45",
"upload_time_iso_8601": "2024-09-01T02:04:45.218225Z",
"url": "https://files.pythonhosted.org/packages/50/df/f6cde075dbeacac481e5cc524bbb90aa7fae655403febaad7ed375f6c79f/dunderlab_timescaledbapp-0.1.17-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "982a3ab73e2040a3cd3acca0f5b3a0281c6f35429ac924af0ba3c4555de38254",
"md5": "1d8b9c03cd0faffde6f16cbc1ad52d0c",
"sha256": "b07b6458a95993d08e82df79622e90a4e94801e258201ba736229d4773165d20"
},
"downloads": -1,
"filename": "dunderlab_timescaledbapp-0.1.17.tar.gz",
"has_sig": false,
"md5_digest": "1d8b9c03cd0faffde6f16cbc1ad52d0c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 26818,
"upload_time": "2024-09-01T02:04:46",
"upload_time_iso_8601": "2024-09-01T02:04:46.905823Z",
"url": "https://files.pythonhosted.org/packages/98/2a/3ab73e2040a3cd3acca0f5b3a0281c6f35429ac924af0ba3c4555de38254/dunderlab_timescaledbapp-0.1.17.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-01 02:04:46",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "dunderlab",
"github_project": "python-django.timescaledbapp",
"github_not_found": true,
"lcname": "dunderlab-timescaledbapp"
}