mcap2timescale


Namemcap2timescale JSON
Version 0.1.2 PyPI version JSON
download
home_pagehttps://github.com/SensorSurf/mcap2timescale
SummaryTransform mcap (or rosbag) files into a Timescale database
upload_time2023-06-06 03:07:02
maintainer
docs_urlNone
authorSensorSurf
requires_python
license
keywords ros ros1 rosbag mcap timescale etl timeseries database etl
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # mcap2timescale

mcap2timescale transforms `.mcap` and `.bag` (ROS bag) files into a Timescale database. You can now query any robotics data using SQL without writing ETLs.

## Hosted solution

We will soon offer a hosted solution with a number of perks:
* Managed ingestion, database, and infrastructure for integrations (e.g. S3, Grafana).
* Reverse Timescale to `.mcap` and `.bag` generator.
* Vector search for imagery, audio, and other unstructured data.
* Web interface to track and share data with your team.

## Running yourself

1. Set up a Timescale database. Take note of all connection details (host, port, username, password, and database name).

2. Install this package.
```
pip install mcap2timescale
```

3. Run the job against any file. The database connection arguments are optional.
```
mcap2timescale /path/to/file.mcap \
    --host localhost \
    --port 5432 \
    --user postgres \
    --password password \
    --name postgres
```

4. Connect to your database and run any query.

## Design considerations

* __Timescale Hypertables__: this project creates hypertables with Timescale. Due to the sheer quantity of messages, it is critical make use of Timescale's compression features.
* __No ROS Dependency:__ this project runs without any ROS dependencies. It is a pain to install ROS simply to extract data from ROS bag or MCAP files. We leverage the `rosbags` project to accomplish this by dynamically loading message schemas at runtime.
* __Transform MCAP to ROS bag__: this project converts all MCAP files into ROS bags before transforming the data to avoid needing to rewrite the ingestion flow.



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/SensorSurf/mcap2timescale",
    "name": "mcap2timescale",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "ros,ros1,rosbag,mcap,timescale,etl,timeseries,database,etl",
    "author": "SensorSurf",
    "author_email": "support@sensorsurf.com",
    "download_url": "https://files.pythonhosted.org/packages/2f/dc/b50db5eedaad7314436e798e7006ecf8845555b790ccc8a246a3e416a8dd/mcap2timescale-0.1.2.tar.gz",
    "platform": null,
    "description": "# mcap2timescale\n\nmcap2timescale transforms `.mcap` and `.bag` (ROS bag) files into a Timescale database. You can now query any robotics data using SQL without writing ETLs.\n\n## Hosted solution\n\nWe will soon offer a hosted solution with a number of perks:\n* Managed ingestion, database, and infrastructure for integrations (e.g. S3, Grafana).\n* Reverse Timescale to `.mcap` and `.bag` generator.\n* Vector search for imagery, audio, and other unstructured data.\n* Web interface to track and share data with your team.\n\n## Running yourself\n\n1. Set up a Timescale database. Take note of all connection details (host, port, username, password, and database name).\n\n2. Install this package.\n```\npip install mcap2timescale\n```\n\n3. Run the job against any file. The database connection arguments are optional.\n```\nmcap2timescale /path/to/file.mcap \\\n    --host localhost \\\n    --port 5432 \\\n    --user postgres \\\n    --password password \\\n    --name postgres\n```\n\n4. Connect to your database and run any query.\n\n## Design considerations\n\n* __Timescale Hypertables__: this project creates hypertables with Timescale. Due to the sheer quantity of messages, it is critical make use of Timescale's compression features.\n* __No ROS Dependency:__ this project runs without any ROS dependencies. It is a pain to install ROS simply to extract data from ROS bag or MCAP files. We leverage the `rosbags` project to accomplish this by dynamically loading message schemas at runtime.\n* __Transform MCAP to ROS bag__: this project converts all MCAP files into ROS bags before transforming the data to avoid needing to rewrite the ingestion flow.\n\n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Transform mcap (or rosbag) files into a Timescale database",
    "version": "0.1.2",
    "project_urls": {
        "Bug Reports": "https://github.com/SensorSurf/mcap2timescale/issues",
        "Homepage": "https://github.com/SensorSurf/mcap2timescale",
        "Source": "https://github.com/SensorSurf/mcap2timescale"
    },
    "split_keywords": [
        "ros",
        "ros1",
        "rosbag",
        "mcap",
        "timescale",
        "etl",
        "timeseries",
        "database",
        "etl"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d4024a48a8e4db3b28a7fe2a508cae24ac755df73a66dcf54262efd617849173",
                "md5": "e04629b8be7c3edcbd992d2d30ef7f83",
                "sha256": "a4e8d0e02ddb4d378add9bc784d8142c87b8c63a248d74411205185965077459"
            },
            "downloads": -1,
            "filename": "mcap2timescale-0.1.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e04629b8be7c3edcbd992d2d30ef7f83",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 6951,
            "upload_time": "2023-06-06T03:07:00",
            "upload_time_iso_8601": "2023-06-06T03:07:00.742495Z",
            "url": "https://files.pythonhosted.org/packages/d4/02/4a48a8e4db3b28a7fe2a508cae24ac755df73a66dcf54262efd617849173/mcap2timescale-0.1.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2fdcb50db5eedaad7314436e798e7006ecf8845555b790ccc8a246a3e416a8dd",
                "md5": "5825b03c9b220614f4556462abb1fa14",
                "sha256": "a3444a9225cd9ddec7edfa2464708f0cc5aa499f8054cd8f8066c79423d6b37d"
            },
            "downloads": -1,
            "filename": "mcap2timescale-0.1.2.tar.gz",
            "has_sig": false,
            "md5_digest": "5825b03c9b220614f4556462abb1fa14",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 6021,
            "upload_time": "2023-06-06T03:07:02",
            "upload_time_iso_8601": "2023-06-06T03:07:02.117814Z",
            "url": "https://files.pythonhosted.org/packages/2f/dc/b50db5eedaad7314436e798e7006ecf8845555b790ccc8a246a3e416a8dd/mcap2timescale-0.1.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-06-06 03:07:02",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "SensorSurf",
    "github_project": "mcap2timescale",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "mcap2timescale"
}
        
Elapsed time: 0.07636s