-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNOTICE
More file actions
154 lines (118 loc) · 5.01 KB
/
Copy pathNOTICE
File metadata and controls
154 lines (118 loc) · 5.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
ROBocodeC PROJECT NOTICE
=======================
Copyright (c) 2026 ArcheBase
This project is licensed under the Mulan Permissive Software License, Version 2 (Mulan PSL v2).
You can use this software according to the terms and conditions of the Mulan PSL v2.
You may obtain a copy of Mulan PSL v2 at: http://license.coscl.org.cn/MulanPSL2
DESCRIPTION
===========
Robocodec is a high-performance robotics data format library for reading and writing MCAP
and ROS bag files. It provides efficient I/O operations, parallel processing capabilities,
and support for multiple message encodings (CDR, Protobuf, JSON).
PROJECT STRUCTURE
=================
- src/ - Core library source code
- encoding/ - Message encoding/decoding (CDR, Protobuf, JSON)
- schema/ - Schema parsing (ROS .msg, ROS2 IDL, OMG IDL)
- io/ - I/O operations and format handlers
- core/ - Core types and error handling
- types/ - Arena allocation and memory management
- rewriter/ - Data transformation and conversion
CONTRIBUTORS
============
- ArcheBase Contributors
THIRD-PARTY DEPENDENCIES
========================
This project includes code from the following third-party libraries. Each dependency retains
its original license. Please refer to each dependency's LICENSE file or documentation for
specific licensing terms.
Core Dependencies:
- serde (1.0) - Apache License 2.0 / MIT
- serde_json (1.0) - Apache License 2.0 / MIT
- thiserror (1.0) - MIT / Apache License 2.0
- anyhow (1.0) - MIT / Apache License 2.0
Message Format Support:
- prost (0.13) - Apache License 2.0
- prost-reflect (0.14) - Apache License 2.0
- prost-types (0.13) - Apache License 2.0
Parsing and Serialization:
- pest (2.7) - MIT / Apache License 2.0
- pest_derive (2.7) - MIT / Apache License 2.0
- regex (1.10) - MIT / Apache License 2.0
- hex (0.4) - MIT / Apache License 2.0
- toml (0.8) - MIT / Apache License 2.0
File Format Support:
- mcap (0.24) - MIT
- rosbag (0.6) - BSD / MIT
Low-level and System Libraries:
- byteorder (1.5) - MIT / Apache License 2.0
- bytemuck (1.15) - Zlib
- memmap2 (0.9) - MIT / Apache License 2.0
- libc (0.2) - MIT / Apache License 2.0
- chrono (0.4) - MIT / Apache License 2.0
- uuid (1.10) - MIT / Apache License 2.0
Compression:
- zstd (0.13) - MIT
- lz4_flex (0.11) - MIT
- bzip2 (0.4) - MIT
- crc32fast (1.4) - MIT / Apache License 2.0
Memory and Allocation:
- bumpalo (3.16) - MIT / Apache License 2.0
Parallel Processing:
- rayon (1.10) - MIT / Apache License 2.0
- crossbeam (0.8) - MIT / Apache License 2.0
- crossbeam-channel (0.5) - MIT / Apache License 2.0
- crossbeam-queue (0.3) - MIT / Apache License 2.0
System Information:
- num_cpus (1.16) - MIT / Apache License 2.0
Logging:
- tracing (0.1) - MIT
Optional Dependencies (Feature Gated):
- pyo3 (0.25) - Apache License 2.0 / MIT (Python bindings)
- tikv-jemallocator (0.6) - MIT (Memory allocator)
MODIFICATIONS
=============
All source files in this project include copyright notices and license headers.
Each file modified or created for this project includes the Mulan PSL v2 license header.
LICENSE HEADERS
===============
Each source file (.rs, .py) in this project contains the following header:
For Rust files:
// Copyright (c) 2026 ArcheBase
// Robocodec is licensed under Mulan PSL v2.
// You can use this software according to the terms and conditions of the Mulan PSL v2.
// You may obtain a copy of Mulan PSL v2 at:
// http://license.coscl.org.cn/MulanPSL2
// THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
// EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
// MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
For Python files:
# Copyright (c) 2026 ArcheBase
# Robocodec is licensed under Mulan PSL v2.
# You can use this software according to the terms and conditions of the Mulan PSL v2.
# You may obtain a copy of Mulan PSL v2 at:
# http://license.coscl.org.cn/MulanPSL2
# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
SOURCE CODE ACCESS
==================
The complete source code for this project is available at:
https://github.com/archebase/robocodec
Building from Source:
1. Clone the repository:
git clone https://github.com/archebase/robocodec.git
2. Build Rust library:
cargo build --release
3. Build Python package:
maturin develop
For more detailed build instructions, see README.md.
ATTRIBUTION
===========
This project was originally developed as part of the Roboflow robotics platform.
LEGAL DISCLAIMER
================
THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
For the complete license text, see the LICENSE file in the root directory.