{"id":29021681,"url":"https://github.com/mapiv/rosbags","last_synced_at":"2025-06-26T02:07:33.045Z","repository":{"id":113748113,"uuid":"608018071","full_name":"MapIV/rosbags","owner":"MapIV","description":null,"archived":false,"fork":false,"pushed_at":"2023-11-21T06:27:17.000Z","size":781,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2023-11-21T07:45:30.239Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MapIV.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGES.rst","contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-03-01T06:26:12.000Z","updated_at":"2023-03-01T06:26:32.000Z","dependencies_parsed_at":"2023-11-21T07:33:52.786Z","dependency_job_id":"c27bd0e0-84e3-4459-936d-cf6243af4b25","html_url":"https://github.com/MapIV/rosbags","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"purl":"pkg:github/MapIV/rosbags","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MapIV%2Frosbags","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MapIV%2Frosbags/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MapIV%2Frosbags/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MapIV%2Frosbags/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MapIV","download_url":"https://codeload.github.com/MapIV/rosbags/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MapIV%2Frosbags/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261984645,"owners_count":23240305,"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":[],"created_at":"2025-06-26T02:07:27.281Z","updated_at":"2025-06-26T02:07:33.022Z","avatar_url":"https://github.com/MapIV.png","language":"Python","readme":".. image:: https://gitlab.com/ternaris/rosbags/badges/master/pipeline.svg\n   :target: https://gitlab.com/ternaris/rosbags/-/commits/master\n   :alt: pipeline status\n\n.. image:: https://gitlab.com/ternaris/rosbags/badges/master/coverage.svg\n   :target: https://gitlab.com/ternaris/rosbags/-/commits/master\n   :alt: coverage report\n\n\n=======\nRosbags\n=======\n\nRosbags is the **pure python** library for everything rosbag. It contains:\n\n- **rosbag2** reader and writer,\n- **rosbag1** reader and writer,\n- **extensible** type system with serializers and deserializers,\n- **efficient converter** between rosbag1 and rosbag2,\n- and more.\n\nRosbags does not have any dependencies on the ROS software stacks and can be used on its own or alongside ROS1 or ROS2.\n\nRosbags was developed for `MARV \u003chttps://gitlab.com/ternaris/marv-robotics\u003e`_, which requires a fast, correct, and flexible library to read, manipulate, and write the various rosbag file formats.\n\n\nGetting started\n===============\n\nRosbags is published on PyPI and does not have any special dependencies. Simply install with pip::\n\n   pip install rosbags\n\n\nRead and deserialize rosbag2 messages:\n\n.. code-block:: python\n\n   from rosbags.rosbag2 import Reader\n   from rosbags.serde import deserialize_cdr\n\n   # create reader instance and open for reading\n   with Reader('/home/ros/rosbag_2020_03_24') as reader:\n       for connection, timestamp, rawdata in reader.messages(['/imu_raw/Imu']):\n            msg = deserialize_cdr(rawdata, connection.msgtype)\n            print(msg.header.frame_id)\n\n\nConvert rosbag1 to rosbag2::\n\n   # Convert \"foo.bag\", result will be \"foo/\"\n   rosbags-convert foo.bag\n\n   # Convert \"foo.bag\", save the result as \"bar\"\n   rosbags-convert foo.bag --dst /path/to/bar\n\n\nConvert rosbag2 to rosbag1 (only clone repository)::\n\n   # Convert \"foo\", save the result as \"foo.bag\"\n   rosbags-convert-2to1 /path/to/foo\n\nConvert some continual rosbag2 files (only clone repository)::\n\n   # Convert \"foo0\" and  \"foo1\", save the result as \"foo0.bag\" and \"foo1.bag\"\n   # The sequence number in std_msgs/Header is continued from foo0.bag to foo1.bag\n   rosbags-convert-2to1 /path/to/foo0 /path/to/foo1\n\n\nConvert original messages from rosbag2 to rosbag1\n===========\n\nWhen you use original ros messages not listed in 'rosbags/src/rosbags/convert_2to1/definition/msg_list_example.txt', generating its definition::\n\n   cd rosbags/src/rosbags/convert_2to1/definition/\n   rosmsg list | grep \"OriginalMessageType\" \u003e msg_list.txt\n   bash generate_msgdef.bash\n\n\n\nDocumentation\n=============\n\nRead the `documentation \u003chttps://ternaris.gitlab.io/rosbags/\u003e`_ for further information.\n\n.. end documentation\n\n\nContributing\n============\n\nThank you for considering to contribute to rosbags.\n\nTo submit issues or create merge requests please follow the instructions provided in the `contribution guide \u003chttps://gitlab.com/ternaris/rosbags/-/blob/master/CONTRIBUTING.rst\u003e`_.\n\nBy contributing to rosbags you accept and agree to the terms and conditions laid out in there.\n\n\nDevelopment\n===========\n\nClone the repository and setup your local checkout::\n\n   git clone https://github.com/MapIV/rosbags.git\n   \n   cd rosbags\n   python3 -m venv venv\n   . venv/bin/activate\n   \n   pip install -r requirements-dev.txt\n   pip install -e .\n\n\nThis creates a new virtual environment with the necessary python dependencies and installs rosbags in editable mode. The rosbags code base uses pytest as its test runner, run the test suite by simply invoking::\n\n   pytest\n\n\nTo build the documentation from its source run sphinx-build::\n\n   sphinx-build -a docs public\n\n\nThe entry point to the local documentation build should be available under ``public/index.html``.\n\n\nSupport\n=======\n\nProfessional support is available from `Ternaris \u003chttps://ternaris.com\u003e`_.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmapiv%2Frosbags","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmapiv%2Frosbags","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmapiv%2Frosbags/lists"}