{"id":13506022,"url":"https://github.com/orchestracities/ngsi-timeseries-api","last_synced_at":"2025-03-30T03:30:36.045Z","repository":{"id":37793859,"uuid":"84980837","full_name":"orchestracities/ngsi-timeseries-api","owner":"orchestracities","description":"QuantumLeap: a FIWARE Generic Enabler to support the usage of NGSIv2 (and NGSI-LD experimentally) data in time-series databases","archived":false,"fork":false,"pushed_at":"2024-10-18T12:42:29.000Z","size":12323,"stargazers_count":38,"open_issues_count":106,"forks_count":49,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-01-24T06:01:44.912Z","etag":null,"topics":["cratedb","fiware","ngsi","ngsi-ld","quantum-leap","quantumleap","timescale","timescaledb","timeseries"],"latest_commit_sha":null,"homepage":"https://quantumleap.rtfd.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/orchestracities.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"docs/roadmap.md","authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-14T17:57:45.000Z","updated_at":"2024-10-18T12:42:34.000Z","dependencies_parsed_at":"2023-02-09T02:16:37.059Z","dependency_job_id":"4aa617ca-75bf-4c89-aad5-f7cea2edc659","html_url":"https://github.com/orchestracities/ngsi-timeseries-api","commit_stats":null,"previous_names":["smartsdk/ngsi-timeseries-api"],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orchestracities%2Fngsi-timeseries-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orchestracities%2Fngsi-timeseries-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orchestracities%2Fngsi-timeseries-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orchestracities%2Fngsi-timeseries-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/orchestracities","download_url":"https://codeload.github.com/orchestracities/ngsi-timeseries-api/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246273533,"owners_count":20750904,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cratedb","fiware","ngsi","ngsi-ld","quantum-leap","quantumleap","timescale","timescaledb","timeseries"],"created_at":"2024-08-01T01:00:33.063Z","updated_at":"2025-03-30T03:30:31.036Z","avatar_url":"https://github.com/orchestracities.png","language":"Python","funding_links":[],"categories":["FIWARE Catalogue"],"sub_categories":["Core Context Management"],"readme":"# QuantumLeap\n\n[![FIWARE Core Context Management](https://nexus.lab.fiware.org/static/badges/chapters/core.svg)](https://www.fiware.org/developers/catalogue/)\n[![License: MIT](https://img.shields.io/github/license/orchestracities/ngsi-timeseries-api.svg)](https://opensource.org/licenses/MIT)\n[![Docker badge](https://img.shields.io/badge/quay.io-fiware%2Fquantumleap-grey?logo=red%20hat\u0026labelColor=EE0000)](https://quay.io/repository/fiware/quantumleap)\n[![Support](https://img.shields.io/badge/support-ask-yellowgreen.svg)](https://ask.fiware.org/questions/)\n\u003cbr/\u003e\n[![Documentation badge](https://img.shields.io/readthedocs/quantumleap.svg)](https://quantumleap.readthedocs.io/en/latest/)\n[![CircleCI](https://circleci.com/gh/orchestracities/ngsi-timeseries-api.svg?style=shield)](https://circleci.com/gh/orchestracities/ngsi-timeseries-api)\n[![Coverage Status](https://coveralls.io/repos/github/orchestracities/ngsi-timeseries-api/badge.svg?branch=master)](https://coveralls.io/github/orchestracities/ngsi-timeseries-api?branch=master)\n![Status](https://nexus.lab.fiware.org/repository/raw/public/badges/statuses/full.svg)\n[![Swagger Validator](https://img.shields.io/swagger/valid/2.0/https/raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v2.0/json/petstore-expanded.json.svg)](https://app.swaggerhub.com/apis/smartsdk/ngsi-tsdb)\n[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/4394/badge)](https://bestpractices.coreinfrastructure.org/projects/4394)\n\nQuantumLeap is the first implementation of\n[an API](https://app.swaggerhub.com/apis/smartsdk/ngsi-tsdb)\nthat supports the storage of\n[FIWARE NGSIv2](https://fiware.github.io/specifications/ngsiv2/stable/)\ndata into a\n[time series database](https://en.wikipedia.org/wiki/Time_series_database).\nIt currently also experimentally supports the injection of\n[NGSI-LD](https://www.etsi.org/deliver/etsi_gs/CIM/001_099/009/01.01.01_60/gs_CIM009v010101p.pdf)\nin  a backward compatible way with NGSI-v2 API. I.e. you can retrieve NGSI-LD\nstored data via NGSI v2 API and retrieve data will be describe following NGSI\nv2 format.\n\nQuantumLeap is not a\n[real time](https://en.wikipedia.org/wiki/Real-time_computing)\nAPI, its purpose is to process notifications received from the Context Broker\nand to create temporal records for them. In general, the whole FIWARE stack,\nbeing based on a micro-service architecture, cannot be regarded as real time\nin case you have requirements on guaranteed delivery in a given amount of time.\n\nHowever, even though hard real time may not be FIWARE's forte, in our experience\na properly tuned FIWARE stack can perform extremely well and\nhandle very demanding IoT workloads without a glitch - you just need to\nconfigure your infrastructure to handle that :)\n\nWant to know more? Refer to the\n[docs](https://quantumleap.readthedocs.io/en/latest/)\nor checkout the Extra Resources below.\n\nThis project is contributed to [FIWARE](https://www.fiware.org) by\n[Martel Innovate](https://www.martel-innovate.com/) as part of its\n[Orchestra Cities](https://www.orchestracities.com/)\nplatform.\nYou can find more FIWARE components in the\n[FIWARE catalogue](https://catalogue.fiware.org).\n\n|  :books: [Documentation](https://quantumleap.rtfd.io/) | :mortar_board: [Academy](https://fiware-academy.readthedocs.io/en/latest/core/quantum-leap) |   \u003cimg style=\"height:1em\" src=\"https://quay.io/static/img/quay_favicon.png\"/\u003e [quay.io](https://quay.io/repository/fiware/quantumleap) | :dart: [Roadmap](https://github.com/orchestracities/ngsi-timeseries-api/blob/master/docs/roadmap.md) |\n|---|---|---|---|\n\n## Contents\n\n- [Install](#install)\n- [Usage](#usage)\n- [Troubleshooting](#troubleshooting)\n- [Contributing](#contributing)\n- [Extra resources](#extra-resources)\n- [Adopters](#adopters)\n- [Linked projects](#linked-projects)\n- [License](#license)\n\n## Install\n\nRefer to the\n[Installation Guide](https://quantumleap.readthedocs.io/en/latest/admin/).\n\nQuantumLeap supports both Crate DB and Timescale as time-series DB\nbackends. The following versions are currently covered in tests\n(see [.circleci/config.yml](https://github.com/orchestracities/ngsi-timeseries-api/blob/master/.circleci/config.yml#L204)):\n\n- Crate backend: Crate DB version `4.2.7` up to `4.6.7`\n- Timescale backend: Postgres version `12` up to `16` +\n  Timescale extension `2.11.2` up to `2.16.1` + Postgis extension `3.*`.\n\nAs regards caching feature, QuantumLeap has been tested with Redis `4.*` up\nto `6.2.3`.\nIntegration with Orion Context Broker is tested from version `2.4.2`\nup to `3.3.1`.\n\nAutomated tests, to avoid too long testing time, are not combining all possible\nversions. This anyhow should not be an issue given that component\nintegrations are not depending on each other.\nIn general, only latest version listed is actively supported.\n\nPR [#373](https://github.com/orchestracities/ngsi-timeseries-api/pull/373)\nintroduced basic support for NGSI-LD. In short this means that using\nthe current endpoint you are able to store NGSI-LD payloads with few caveats\n(see [#398](https://github.com/orchestracities/ngsi-timeseries-api/issue/398))\n\n### Docker Images\n\nDocker images are available on\n[docker hub](https://hub.docker.com/r/orchestracities/quantumleap/):\n\n- `latest` refers to the last release. This behaviour will be introduced\n    since `0.8.3` release.\n- `edge` refers to the version in master, this behaviour is introduced\n    since `0.8.3-dev` activities.\n- `*.*.*` refers to specific releases.\n- additionally (usage is not recommended), we release images\n  for each branch.\n\n### Security note\n\nCrateDB versions \u003e 4.6 is affected by [log4 security issue](https://www.lunasec.io/docs/blog/log4j-zero-day/).\nWe recommend to update your deployments to CrateDB 4.6.5.\nFor CrateDB versions \u003e= 3.2.0 it is possible to [mitigate](https://www.lunasec.io/docs/blog/log4j-zero-day-mitigation-guide/#option-2-enable-formatmsgnolookups)\nthe issue setting  `-Dlog4j2.formatMsgNoLookups=true` via `CRATE_JAVA_OPTS`\nor by setting the environment variable `LOG4J_FORMAT_MSG_NO_LOOKUPS=true`.\n\n## Usage\n\nRefer to the [User Manual](https://quantumleap.readthedocs.io/en/latest/user/using/).\n\n## Troubleshooting\n\nRefer to the\n[Troubleshooting](https://quantumleap.readthedocs.io/en/latest/user/troubleshooting/)\nsection.\n\n## Contributing\n\nRefer to the\n[Contributing](https://quantumleap.readthedocs.io/en/latest/user/contributing/)\nsection and to the [contribution guidelines](./CONTRIBUTING.md).\n\n## Extra resources\n\nThe following is a collection of external guides and pages where you may find\nadditional documentation about QuantumLeap. Note that these guides could be\noutdated (so could the official docs!), so we appreciate all efforts to keep\nconsistency.\n\n- [FIWARE Step-by-step](https://fiware-tutorials.readthedocs.io/en/latest/time-series-data/index.html)\n- [Orchestra Cities Helm Charts](https://github.com/orchestracities/charts)\n\n## Adopters\n\n[Orchestra Cities](https://www.orchestracities.com/) QuantumLeap has been\nadopted by the FIWARE community and is one of the core components that\nmake up the [FIWARE core context management stack](https://www.fiware.org/developers/catalogue/).\nThe companies listed below use QuantumLeap as part of their IoT solutions.\nIf you would like to add your company to this list, please mention it in\nthis [issue](https://github.com/orchestracities/ngsi-timeseries-api/issues/436)\nor create a PR to update the list.\n\n| \u003ca href=\"https://www.ekz.ch/\"\u003e\u003cimg src=\"https://www.ekz.ch/.resources/ekzweb/webresources/resources/ekz_logo.svg\" height=\"75\" /\u003e\u003c/a\u003e | \u003ca href=\"https://www.stadtwerke-wolfsburg.de/\"\u003e\u003cimg src=\"https://www.stadtwerke-wolfsburg.de/typo3conf/ext/vc_theme/Resources/Public/Graphics/SVG-Logo.svg\" height=\"75\" /\u003e\u003c/a\u003e | \u003ca href=\"https://profirator.fi/\"\u003e\u003cimg alt=\"Profirator\" src=\"https://user-images.githubusercontent.com/7221736/113831287-1e0a2c00-9790-11eb-9167-2c336276d716.png\" height=\"45\" /\u003e\u003c/a\u003e  | \u003ca href=\"https://addix.net/\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/60972305/169762069-85f54ab0-381d-4837-a0fe-68628453173b.jpg\" height=\"45\" /\u003e\u003c/a\u003e |  |\n|---|---|---|---|---|\n\n## Linked projects\n\nThe following projects are linked to\n[Orchestra Cities](https://www.orchestracities.com/) QuantumLeap,\nif you want to list it here, add your information on this\n[issue](https://github.com/orchestracities/ngsi-timeseries-api/issues/436)\nor create a PR to update the list.\n\n| \u003ca href=\"https://github.com/lets-fiware/ngsi-go\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/lets-fiware/ngsi-go/gh-pages/img/NGSI-Go.png\" height=\"75\" /\u003e \u003cbr/\u003e NGSI Go is a CLI supporting QL\u003c/a\u003e |  |   |  |\n|---|---|---|---|\n\n## Enterprise Support\n\n\u003ca href=\"mailto:info@orchestracities.com?subject=[Orchestra\nCities]%20Enterprise%20Support\"\u003eContact us\u003c/a\u003e\nif you need Enterprise Support for your QuantumLeap installation.\n\n---\n\n## License\n\nQuantumLeap is licensed under the [MIT](LICENSE) License\n\n© 2017-2023 Martel Innovate\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forchestracities%2Fngsi-timeseries-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forchestracities%2Fngsi-timeseries-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forchestracities%2Fngsi-timeseries-api/lists"}