# copc-lib
copc-lib provides an easy-to-use reader and writer interface for [COPC](https://copc.io/) point clouds, with bindings for python and C++.
## Installation
The quickest way to get started with copc-lib is with our conda and pip packages.
### Conda
Conda includes both the C++ and python bindings:
```bash
conda install -c conda-forge copc-lib
```
### Pip
Pip provide only python bindings:
```bash
pip install copclib
```
### Building from source
#### Dependencies
copc-lib has the following dependencies:
- laz-perf>=[3.0.0](https://github.com/hobu/laz-perf/releases/tag/3.0.0)
- Catch2 v2.x (test suite only)
- Pybind11 (python bindings only)
To install all dependencies:
```bash
conda install -c conda-forge "laz-perf>=3.0" Catch2=2.13 pybind11
```
#### C++
```bash
git clone https://github.com/RockRobotic/copc-lib.git
cd copc-lib
mkdir build && cd build
cmake ..
cmake --build .
sudo cmake --install .
```
#### Python
```bash
git clone https://github.com/RockRobotic/copc-lib.git
pip install ./copc-lib
```
#### Example Files & Unit Tests
To build the copc-lib examples and unit tests along with the main library, you must enable them:
```bash
mkdir build && cd build
cmake .. -DWITH_TESTS=ON -DWITH_PYTHON=ON
cmake --build .
ctest # All tests should pass
```
## Usage
The `Reader` and `Writer` objects provide the primary means of interfacing with your COPC files. For more complex use cases, we also provide additional objects such as LAZ Compressors and Decompressors (see [example/example-writer.cpp](example/example-writer.cpp)).
For common use cases, see the `example` and `test` folders for full examples.
### C++
copc-lib is compatible with CMake. Assuming copc-lib and lazperf are installed on the system, you can link with them in your `CMakeLists.txt`:
```CMake
find_package(COPCLIB REQUIRED)
find_package(LAZPERF REQUIRED)
add_executable(funlib fun-main.cpp)
target_link_libraries(funlib COPCLIB::copc-lib LAZPERF::lazperf)
```
The primary public interface will be your [FileReader](./cpp/include/copc-lib/io/copc_reader.hpp) and [FileWriter](./cpp/include/copc-lib/io/copc_writer.hpp) objects. Check the headers and [example files](./example) for documentation.
```cpp
#include <iostream>
#include <copc-lib/io/reader.hpp>
void main()
{
// Create a reader object
FileReader reader("autzen-classified.copc.laz");
// Get the node metadata from the hierarchy
auto node = reader.FindNode(copc.VoxelKey(0, 0, 0, 0));
// Fetch the points of a node
auto points = reader.GetPoints(node);
// Iterate through each point
for (const auto &point : points)
std::cout << "X: " << point.X ", Y: " << point.Y << ", Z: " << point.Z << std::endl;
}
```
### Python
[Example files](./example) are also provided for python.
```python
import copclib as copc
# Create a reader object
reader = copc.FileReader("autzen-classified.copc.laz")
# Get the node metadata from the hierarchy
node = reader.FindNode(copc.VoxelKey(0, 0, 0, 0))
# Fetch the points of a node
points = reader.GetPoints(node)
# Iterate through each point
for point in points:
print(point.x, point.y, point.z)
```
Note that, in python, dimension names for points follow the [laspy naming scheme](https://laspy.readthedocs.io/en/latest/intro.html#point-format-6), with the exception of `scan_angle`.
## Helpful Links
- [COPC Spec](https://copc.io/)
- [copc.js](https://github.com/connormanning/copc.js) - TypeScript library for reading COPC files
- [copc.js for browser](https://github.com/connormanning/copc.js/pull/1) - Webpacked version of copc.js for the browser
## Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
## License
Please see [LICENSE.md](LICENSE.md)
## Credits
copc-lib is created and maintained by [Chris Lee](https://github.com/CCInc), [Leo Stanislas](https://github.com/leo-stan) and other members of [RockRobotic](https://github.com/RockRobotic).
The [COPC file format](https://copc.io) is created and maintained by HOBU Inc.
Some code has been adopted from [PDAL](https://github.com/PDAL/PDAL) and [lazperf](https://github.com/hobu/laz-perf), both of which are maintained by HOBU Inc.
Raw data
{
"_id": null,
"home_page": "https://github.com/RockRobotic/copc-lib",
"name": "copclib",
"maintainer": "Rock Robotic Inc.",
"docs_url": null,
"requires_python": "",
"maintainer_email": "support@rockrobotic.com",
"keywords": "point cloud spatial copc",
"author": "Rock Robotic Inc.",
"author_email": "support@rockrobotic.com",
"download_url": "https://files.pythonhosted.org/packages/ac/1a/2df2fafb07a78fec748c9bc70fe2673b316f74b8f4185eda03aa817b7e69/copclib-2.5.4.tar.gz",
"platform": null,
"description": "# copc-lib\n\ncopc-lib provides an easy-to-use reader and writer interface for [COPC](https://copc.io/) point clouds, with bindings for python and C++.\n\n## Installation\n\nThe quickest way to get started with copc-lib is with our conda and pip packages.\n\n### Conda\nConda includes both the C++ and python bindings:\n\n```bash\nconda install -c conda-forge copc-lib\n```\n\n### Pip\nPip provide only python bindings:\n\n```bash\npip install copclib\n```\n\n### Building from source\n\n#### Dependencies\n\ncopc-lib has the following dependencies:\n\n- laz-perf>=[3.0.0](https://github.com/hobu/laz-perf/releases/tag/3.0.0)\n- Catch2 v2.x (test suite only)\n- Pybind11 (python bindings only)\n\nTo install all dependencies:\n```bash\nconda install -c conda-forge \"laz-perf>=3.0\" Catch2=2.13 pybind11\n```\n\n#### C++\n\n```bash\ngit clone https://github.com/RockRobotic/copc-lib.git\ncd copc-lib\nmkdir build && cd build\ncmake ..\ncmake --build .\nsudo cmake --install .\n```\n\n#### Python\n\n```bash\ngit clone https://github.com/RockRobotic/copc-lib.git\npip install ./copc-lib\n```\n\n#### Example Files & Unit Tests\n\nTo build the copc-lib examples and unit tests along with the main library, you must enable them:\n\n```bash\nmkdir build && cd build\ncmake .. -DWITH_TESTS=ON -DWITH_PYTHON=ON\ncmake --build .\nctest # All tests should pass\n```\n\n## Usage\n\nThe `Reader` and `Writer` objects provide the primary means of interfacing with your COPC files. For more complex use cases, we also provide additional objects such as LAZ Compressors and Decompressors (see [example/example-writer.cpp](example/example-writer.cpp)).\n\nFor common use cases, see the `example` and `test` folders for full examples.\n\n### C++\n\ncopc-lib is compatible with CMake. Assuming copc-lib and lazperf are installed on the system, you can link with them in your `CMakeLists.txt`:\n\n```CMake\nfind_package(COPCLIB REQUIRED)\nfind_package(LAZPERF REQUIRED)\n\nadd_executable(funlib fun-main.cpp)\ntarget_link_libraries(funlib COPCLIB::copc-lib LAZPERF::lazperf)\n```\n\nThe primary public interface will be your [FileReader](./cpp/include/copc-lib/io/copc_reader.hpp) and [FileWriter](./cpp/include/copc-lib/io/copc_writer.hpp) objects. Check the headers and [example files](./example) for documentation.\n\n```cpp\n#include <iostream>\n#include <copc-lib/io/reader.hpp>\n\nvoid main()\n{\n // Create a reader object\n FileReader reader(\"autzen-classified.copc.laz\");\n\n // Get the node metadata from the hierarchy\n auto node = reader.FindNode(copc.VoxelKey(0, 0, 0, 0));\n // Fetch the points of a node\n auto points = reader.GetPoints(node);\n\n // Iterate through each point\n for (const auto &point : points)\n std::cout << \"X: \" << point.X \", Y: \" << point.Y << \", Z: \" << point.Z << std::endl;\n}\n```\n\n### Python\n\n[Example files](./example) are also provided for python.\n\n```python\nimport copclib as copc\n\n# Create a reader object\nreader = copc.FileReader(\"autzen-classified.copc.laz\")\n\n# Get the node metadata from the hierarchy\nnode = reader.FindNode(copc.VoxelKey(0, 0, 0, 0))\n# Fetch the points of a node\npoints = reader.GetPoints(node)\n\n# Iterate through each point\nfor point in points:\n print(point.x, point.y, point.z)\n```\n\nNote that, in python, dimension names for points follow the [laspy naming scheme](https://laspy.readthedocs.io/en/latest/intro.html#point-format-6), with the exception of `scan_angle`.\n\n## Helpful Links\n\n- [COPC Spec](https://copc.io/)\n- [copc.js](https://github.com/connormanning/copc.js) - TypeScript library for reading COPC files\n- [copc.js for browser](https://github.com/connormanning/copc.js/pull/1) - Webpacked version of copc.js for the browser\n\n## Contributing\n\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\n\nPlease make sure to update tests as appropriate.\n\n## License\n\nPlease see [LICENSE.md](LICENSE.md)\n\n## Credits\n\ncopc-lib is created and maintained by [Chris Lee](https://github.com/CCInc), [Leo Stanislas](https://github.com/leo-stan) and other members of [RockRobotic](https://github.com/RockRobotic).\n\nThe [COPC file format](https://copc.io) is created and maintained by HOBU Inc.\nSome code has been adopted from [PDAL](https://github.com/PDAL/PDAL) and [lazperf](https://github.com/hobu/laz-perf), both of which are maintained by HOBU Inc.\n",
"bugtrack_url": null,
"license": "BSD",
"summary": "copc-lib provides an easy-to-use interface for reading and creating Cloud Optimized Point Clouds",
"version": "2.5.4",
"split_keywords": [
"point",
"cloud",
"spatial",
"copc"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ba371ae498f44414cc98e5fc103965a5565f6f7be3ae514d885617af4dc64875",
"md5": "d390191d2e5568ae570fdfd45e1dfe59",
"sha256": "7d2183a95d5a1a87b6e32854dc7e7c824009719afe27be7213428470c6c78c48"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp310-cp310-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "d390191d2e5568ae570fdfd45e1dfe59",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 503157,
"upload_time": "2023-01-25T18:43:56",
"upload_time_iso_8601": "2023-01-25T18:43:56.527326Z",
"url": "https://files.pythonhosted.org/packages/ba/37/1ae498f44414cc98e5fc103965a5565f6f7be3ae514d885617af4dc64875/copclib-2.5.4-cp310-cp310-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "602a0bcce7c28deb1938441332518ef283f0b5320c57b29c8f4bf58ccac4793c",
"md5": "9e3ce6a37e84bbb154ea83b04c546699",
"sha256": "65faf69b04af03262b48287000b6377304f7aab62b343ba659794a8865428402"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "9e3ce6a37e84bbb154ea83b04c546699",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 808370,
"upload_time": "2023-01-25T18:43:58",
"upload_time_iso_8601": "2023-01-25T18:43:58.624865Z",
"url": "https://files.pythonhosted.org/packages/60/2a/0bcce7c28deb1938441332518ef283f0b5320c57b29c8f4bf58ccac4793c/copclib-2.5.4-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fa42e710c6aa999510321868c63a45e5fa949a9fac0f64a3a879431a0190a9bb",
"md5": "fc2007f8f8585b675fd26afd2416070e",
"sha256": "c0e81865680aaa2bb7314a2150f0ee9dd22ca5dea09fb6cfc5cde8b672b26f7f"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "fc2007f8f8585b675fd26afd2416070e",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 762213,
"upload_time": "2023-01-25T18:44:00",
"upload_time_iso_8601": "2023-01-25T18:44:00.361297Z",
"url": "https://files.pythonhosted.org/packages/fa/42/e710c6aa999510321868c63a45e5fa949a9fac0f64a3a879431a0190a9bb/copclib-2.5.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6dd5267e57d55beecbbe896081f616f615c4d10c1a27df6af8c77cb75022bf44",
"md5": "c7dc0557d7372d1fdb5acaf86dff226a",
"sha256": "b582c44c366e1b806edb87b854c0163e949973738ef5e2ffad5ab1cdcd3028c8"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp310-cp310-musllinux_1_1_i686.whl",
"has_sig": false,
"md5_digest": "c7dc0557d7372d1fdb5acaf86dff226a",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 1343703,
"upload_time": "2023-01-25T18:44:02",
"upload_time_iso_8601": "2023-01-25T18:44:02.231531Z",
"url": "https://files.pythonhosted.org/packages/6d/d5/267e57d55beecbbe896081f616f615c4d10c1a27df6af8c77cb75022bf44/copclib-2.5.4-cp310-cp310-musllinux_1_1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d6bfa13bf057b2e91170227a31c1d03e373ae6c69f22fc026b9fa8316e1d68d7",
"md5": "50cd9da77ce155f7b9ba90a5904f4710",
"sha256": "c497d55404f95c3546786650b7843df46411ab49194035c1965665fd8ded57b5"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp310-cp310-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "50cd9da77ce155f7b9ba90a5904f4710",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 1259533,
"upload_time": "2023-01-25T18:44:03",
"upload_time_iso_8601": "2023-01-25T18:44:03.711283Z",
"url": "https://files.pythonhosted.org/packages/d6/bf/a13bf057b2e91170227a31c1d03e373ae6c69f22fc026b9fa8316e1d68d7/copclib-2.5.4-cp310-cp310-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "dcf246af4d7093421bfd8b423897caad681c6aaf350031e078d8f78ac2dee84b",
"md5": "eb7fdb4c4b20b03874944a1b9da49630",
"sha256": "c4927f922bcd76a047443161719046ceec090ab15780181546f206df15e6fd52"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp36-cp36m-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "eb7fdb4c4b20b03874944a1b9da49630",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": null,
"size": 496943,
"upload_time": "2023-01-25T18:44:04",
"upload_time_iso_8601": "2023-01-25T18:44:04.909917Z",
"url": "https://files.pythonhosted.org/packages/dc/f2/46af4d7093421bfd8b423897caad681c6aaf350031e078d8f78ac2dee84b/copclib-2.5.4-cp36-cp36m-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a9e954e1f2c9f365f202d560e7bc54f2f1b258343335acb013a85e3aff5a0dcc",
"md5": "de0c9b1882389996bfd4f079ef2bd2d9",
"sha256": "9b01a556147e26fae2970dda289ba119cf27f0738a244735ddf10860a641ff82"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "de0c9b1882389996bfd4f079ef2bd2d9",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": null,
"size": 822752,
"upload_time": "2023-01-25T18:44:06",
"upload_time_iso_8601": "2023-01-25T18:44:06.140456Z",
"url": "https://files.pythonhosted.org/packages/a9/e9/54e1f2c9f365f202d560e7bc54f2f1b258343335acb013a85e3aff5a0dcc/copclib-2.5.4-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "54c4bde1846bfa2a96e5192fe20feaf0bfa0aee9cc52464081204271745d3707",
"md5": "7b6bff7966c00b3fa988749b640d4982",
"sha256": "4cdfd822b95606272c6a90d8d812e746efca9c0d05d17a8c8efb2a5e1560ff6f"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "7b6bff7966c00b3fa988749b640d4982",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": null,
"size": 773141,
"upload_time": "2023-01-25T18:44:07",
"upload_time_iso_8601": "2023-01-25T18:44:07.669129Z",
"url": "https://files.pythonhosted.org/packages/54/c4/bde1846bfa2a96e5192fe20feaf0bfa0aee9cc52464081204271745d3707/copclib-2.5.4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c3ea673c4bff5803146810ee20ed833e44c30e5bff6f0c66bd58267fe7015d0b",
"md5": "a663e15441ca2f36cd658226a32936ac",
"sha256": "da5f50c1955a0c5a5d265fb2db081204b8be751c0ac1095eb61a5eafd2c71db5"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp36-cp36m-musllinux_1_1_i686.whl",
"has_sig": false,
"md5_digest": "a663e15441ca2f36cd658226a32936ac",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": null,
"size": 1363925,
"upload_time": "2023-01-25T18:44:08",
"upload_time_iso_8601": "2023-01-25T18:44:08.963140Z",
"url": "https://files.pythonhosted.org/packages/c3/ea/673c4bff5803146810ee20ed833e44c30e5bff6f0c66bd58267fe7015d0b/copclib-2.5.4-cp36-cp36m-musllinux_1_1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "05f5090e33299b728e57eee592af45a4477214ad3a21c8b286961611fd217642",
"md5": "433c73ce40765c550f3343640b1ff0d7",
"sha256": "942c614bac4f0f3b2d9c406927b1eb69d690648380f96b38fc565d22dbf7474f"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp36-cp36m-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "433c73ce40765c550f3343640b1ff0d7",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": null,
"size": 1277656,
"upload_time": "2023-01-25T18:44:10",
"upload_time_iso_8601": "2023-01-25T18:44:10.330960Z",
"url": "https://files.pythonhosted.org/packages/05/f5/090e33299b728e57eee592af45a4477214ad3a21c8b286961611fd217642/copclib-2.5.4-cp36-cp36m-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "60f7b6a4b03102b3c99f9383d717c1c67507693f63fff88f879fbc95700c5ba9",
"md5": "222ae3e8c9b8e2b24bda94c4f547323e",
"sha256": "60b662efdfa1d9d3ea351e1eb86a154035dfe74009fc6e744f951bb4ce48a6c2"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp36-cp36m-win32.whl",
"has_sig": false,
"md5_digest": "222ae3e8c9b8e2b24bda94c4f547323e",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": null,
"size": 554473,
"upload_time": "2023-01-25T18:44:11",
"upload_time_iso_8601": "2023-01-25T18:44:11.661239Z",
"url": "https://files.pythonhosted.org/packages/60/f7/b6a4b03102b3c99f9383d717c1c67507693f63fff88f879fbc95700c5ba9/copclib-2.5.4-cp36-cp36m-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "16ecaa507715a771c7862ced9a7e50d193c016bd99d7c083f2dff134655478f2",
"md5": "651af8e4afa5d676d2ea2611c83426ff",
"sha256": "c70278716468fae2e1db6ab3a1575f782a16fd62960d630b5085ddc86826e3ee"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp36-cp36m-win_amd64.whl",
"has_sig": false,
"md5_digest": "651af8e4afa5d676d2ea2611c83426ff",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": null,
"size": 612197,
"upload_time": "2023-01-25T18:44:12",
"upload_time_iso_8601": "2023-01-25T18:44:12.855577Z",
"url": "https://files.pythonhosted.org/packages/16/ec/aa507715a771c7862ced9a7e50d193c016bd99d7c083f2dff134655478f2/copclib-2.5.4-cp36-cp36m-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "54c9cf17f59bada4328258d239f0efec70d6d074d235116dad2a94c391ffe345",
"md5": "3f696d921dfab747b3dcbf12254bed0b",
"sha256": "dc03ee78ccb9900b8c9a35f19a29eafd40d754a8d64c9694e34dac360ca81f5a"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp37-cp37m-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "3f696d921dfab747b3dcbf12254bed0b",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 496926,
"upload_time": "2023-01-25T18:44:13",
"upload_time_iso_8601": "2023-01-25T18:44:13.977916Z",
"url": "https://files.pythonhosted.org/packages/54/c9/cf17f59bada4328258d239f0efec70d6d074d235116dad2a94c391ffe345/copclib-2.5.4-cp37-cp37m-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0dc7f898fefe43b023340aea1c9490761084fbe163b0f0b804702bd5bbeff39a",
"md5": "913cac7afa13652dbf0e5c61e24d50e6",
"sha256": "21e27e0562242999e3237ba01df9ac7d6f841aa332d1a8690b0436d32ec4a20d"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "913cac7afa13652dbf0e5c61e24d50e6",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 823398,
"upload_time": "2023-01-25T18:44:16",
"upload_time_iso_8601": "2023-01-25T18:44:16.199363Z",
"url": "https://files.pythonhosted.org/packages/0d/c7/f898fefe43b023340aea1c9490761084fbe163b0f0b804702bd5bbeff39a/copclib-2.5.4-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8f2a81e25f98a2bf0864e97b297118873da6cf472d19ced0241712dc6a6720a1",
"md5": "890f409184f06274c4da4cfb30987dc0",
"sha256": "0035bcab6a19c1b48fc2057547ab87212f0530c4f7ab21733e52d778517c1f84"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "890f409184f06274c4da4cfb30987dc0",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 773643,
"upload_time": "2023-01-25T18:44:18",
"upload_time_iso_8601": "2023-01-25T18:44:18.005319Z",
"url": "https://files.pythonhosted.org/packages/8f/2a/81e25f98a2bf0864e97b297118873da6cf472d19ced0241712dc6a6720a1/copclib-2.5.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "78c34918d8e96b3ea0cbf890a9b53995ced6a9efaac452fb578274b0fe780459",
"md5": "f76894b937ccad0bdf6f3c457ba1b6fd",
"sha256": "399a942a3ae597698583b8586f60f62f3e82db6ad4693dc27d245e40bfd7e7a9"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp37-cp37m-musllinux_1_1_i686.whl",
"has_sig": false,
"md5_digest": "f76894b937ccad0bdf6f3c457ba1b6fd",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 1364439,
"upload_time": "2023-01-25T18:44:19",
"upload_time_iso_8601": "2023-01-25T18:44:19.227224Z",
"url": "https://files.pythonhosted.org/packages/78/c3/4918d8e96b3ea0cbf890a9b53995ced6a9efaac452fb578274b0fe780459/copclib-2.5.4-cp37-cp37m-musllinux_1_1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "695e02e18499e18af57ff193a11884afedf47ca5b0bedfa53d4f845af910a6a1",
"md5": "796d285b839dfbc02cfa0bb2d17ec30f",
"sha256": "c1b4570e40f5cfa4beeb722289666d243b7406c3199eacf050b1efbd29a301d8"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp37-cp37m-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "796d285b839dfbc02cfa0bb2d17ec30f",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 1276379,
"upload_time": "2023-01-25T18:44:20",
"upload_time_iso_8601": "2023-01-25T18:44:20.998010Z",
"url": "https://files.pythonhosted.org/packages/69/5e/02e18499e18af57ff193a11884afedf47ca5b0bedfa53d4f845af910a6a1/copclib-2.5.4-cp37-cp37m-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "60ace8992b529e30ebb419f8d0a3b5a81f4a9d3b31275aa189ae873465440513",
"md5": "6dc1d1156bdfc2e6ab8e15ac4819b235",
"sha256": "9cb0f9ef80d591fbad240807328c6b5094c5d57bc1f52abe77d5e767d1a53cb7"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp37-cp37m-win32.whl",
"has_sig": false,
"md5_digest": "6dc1d1156bdfc2e6ab8e15ac4819b235",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 554446,
"upload_time": "2023-01-25T18:44:22",
"upload_time_iso_8601": "2023-01-25T18:44:22.309793Z",
"url": "https://files.pythonhosted.org/packages/60/ac/e8992b529e30ebb419f8d0a3b5a81f4a9d3b31275aa189ae873465440513/copclib-2.5.4-cp37-cp37m-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c2e5fcfaa6173c8a7a5082f12661049973be781e062897842629d6e2d50aaa58",
"md5": "e8359a840b0b45257ea05dfa9ff19565",
"sha256": "a9a89b409362aedc00f0f22ba98a4e93dcd9bd110363ce565ee94ed08df98df9"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp37-cp37m-win_amd64.whl",
"has_sig": false,
"md5_digest": "e8359a840b0b45257ea05dfa9ff19565",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 612164,
"upload_time": "2023-01-25T18:44:23",
"upload_time_iso_8601": "2023-01-25T18:44:23.653452Z",
"url": "https://files.pythonhosted.org/packages/c2/e5/fcfaa6173c8a7a5082f12661049973be781e062897842629d6e2d50aaa58/copclib-2.5.4-cp37-cp37m-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4c6658fb6d36674adeb2c327b23bce904f17e1c8c0da214801b1971fc80c1e95",
"md5": "2c962d7ab9b1495c7c99fed1af86da8e",
"sha256": "f01d343d982e1c40ccb6eeb0a2e34d131876863c3c697f7d259dd2879547e964"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp38-cp38-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "2c962d7ab9b1495c7c99fed1af86da8e",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 503207,
"upload_time": "2023-01-25T18:44:25",
"upload_time_iso_8601": "2023-01-25T18:44:25.964140Z",
"url": "https://files.pythonhosted.org/packages/4c/66/58fb6d36674adeb2c327b23bce904f17e1c8c0da214801b1971fc80c1e95/copclib-2.5.4-cp38-cp38-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "778e6443bbbb941945302bf05892fe559447b1de59c2328f89379117241094f1",
"md5": "13603e585aa7f4778acafd53bf0c9db8",
"sha256": "8063b1ba4467638758306a7b98e31b49b63e6c00a287cf292f1fd96e68eb8a8e"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "13603e585aa7f4778acafd53bf0c9db8",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 807667,
"upload_time": "2023-01-25T18:44:28",
"upload_time_iso_8601": "2023-01-25T18:44:28.158050Z",
"url": "https://files.pythonhosted.org/packages/77/8e/6443bbbb941945302bf05892fe559447b1de59c2328f89379117241094f1/copclib-2.5.4-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "91cd374bbb1a9e07690dd2d15dc54d9f0f481520536a8754fc376d6112422ee4",
"md5": "306693d35b692a817584b758a500ee2c",
"sha256": "9e89d517046a9e233402dd5a04a7cdeea3a99c2bb99f8b382a571b353e34191b"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "306693d35b692a817584b758a500ee2c",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 761858,
"upload_time": "2023-01-25T18:44:29",
"upload_time_iso_8601": "2023-01-25T18:44:29.996787Z",
"url": "https://files.pythonhosted.org/packages/91/cd/374bbb1a9e07690dd2d15dc54d9f0f481520536a8754fc376d6112422ee4/copclib-2.5.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b2e4db19ff15fc82d9a48f604845c78b9dfcb79ee629eb3a9503a6f4642bae57",
"md5": "d334973b9f46aa2de0c5ce845592c575",
"sha256": "83b1cfd4d678e49b925c506f1c24de346bd3ef8d2fe1f43db0b1c5c6424a5f44"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp38-cp38-musllinux_1_1_i686.whl",
"has_sig": false,
"md5_digest": "d334973b9f46aa2de0c5ce845592c575",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 1342864,
"upload_time": "2023-01-25T18:44:31",
"upload_time_iso_8601": "2023-01-25T18:44:31.307475Z",
"url": "https://files.pythonhosted.org/packages/b2/e4/db19ff15fc82d9a48f604845c78b9dfcb79ee629eb3a9503a6f4642bae57/copclib-2.5.4-cp38-cp38-musllinux_1_1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "cf74dcbf8c1bd2388619867d6f31225ff1d134136892aa206cabb974095f0492",
"md5": "eb6de01f2f556a1cb9d14f18fe88c6da",
"sha256": "2c5082559513111dfc9939533719e50b201502111bfcbafc12ca920de9d0431e"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp38-cp38-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "eb6de01f2f556a1cb9d14f18fe88c6da",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 1259093,
"upload_time": "2023-01-25T18:44:32",
"upload_time_iso_8601": "2023-01-25T18:44:32.632915Z",
"url": "https://files.pythonhosted.org/packages/cf/74/dcbf8c1bd2388619867d6f31225ff1d134136892aa206cabb974095f0492/copclib-2.5.4-cp38-cp38-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "657e2b9bdbef69b8771e59c213d73121c292cbe8f0d4efd8dce3722b19c20dab",
"md5": "1b718c1679b469c4c7dce51c62f17cf2",
"sha256": "353ba9f148eef0fdc05b57c4cf57380c88f858b0c37261793295db56cf9c45cd"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp38-cp38-win32.whl",
"has_sig": false,
"md5_digest": "1b718c1679b469c4c7dce51c62f17cf2",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 553227,
"upload_time": "2023-01-25T18:44:33",
"upload_time_iso_8601": "2023-01-25T18:44:33.855382Z",
"url": "https://files.pythonhosted.org/packages/65/7e/2b9bdbef69b8771e59c213d73121c292cbe8f0d4efd8dce3722b19c20dab/copclib-2.5.4-cp38-cp38-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1ca0eeadd8d73caab167b0a129cc9319d4431bba4dc2311542ff5918859efbee",
"md5": "ac487a01759e87fb6899c723762c2822",
"sha256": "36e4795b262a8c1464c984470c74423350789ce99ee4bb44a876e8ff0e0a9663"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp38-cp38-win_amd64.whl",
"has_sig": false,
"md5_digest": "ac487a01759e87fb6899c723762c2822",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 613122,
"upload_time": "2023-01-25T18:44:35",
"upload_time_iso_8601": "2023-01-25T18:44:35.264938Z",
"url": "https://files.pythonhosted.org/packages/1c/a0/eeadd8d73caab167b0a129cc9319d4431bba4dc2311542ff5918859efbee/copclib-2.5.4-cp38-cp38-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "cedaeb39b32ef32d19eec37c08c00047a23a44ac91eca80a021c4ec5d8e0995f",
"md5": "4843fee59460d603da2c01372ef57773",
"sha256": "bc098b785fadad01d4c2d6ba61bad642789eea0e0bbe3b1e3f3ddc93f0a7af63"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp39-cp39-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "4843fee59460d603da2c01372ef57773",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 503218,
"upload_time": "2023-01-25T18:44:37",
"upload_time_iso_8601": "2023-01-25T18:44:37.653318Z",
"url": "https://files.pythonhosted.org/packages/ce/da/eb39b32ef32d19eec37c08c00047a23a44ac91eca80a021c4ec5d8e0995f/copclib-2.5.4-cp39-cp39-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b6bc8c0a766d221d62fa3fe8edd4ac35c73fdc899561146a8cf21fc6ff60a7fc",
"md5": "636613fd5ba8b731da5890258b680dfa",
"sha256": "bce354a55a3a0890c184c64182e5150979be659dff8a7388ba70f06b1952cefc"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "636613fd5ba8b731da5890258b680dfa",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 808081,
"upload_time": "2023-01-25T18:44:39",
"upload_time_iso_8601": "2023-01-25T18:44:39.088849Z",
"url": "https://files.pythonhosted.org/packages/b6/bc/8c0a766d221d62fa3fe8edd4ac35c73fdc899561146a8cf21fc6ff60a7fc/copclib-2.5.4-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "72354962c09bc7f7d62ea4289939ceefaf4209dc68f1aa10c152243b3a593638",
"md5": "6d5637222a802bbeecb6c521b48635d4",
"sha256": "9b4da93ec217abb4702ba428c4317ad1f61af28bd7507dc9dfdb6a64638b8205"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "6d5637222a802bbeecb6c521b48635d4",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 762637,
"upload_time": "2023-01-25T18:44:40",
"upload_time_iso_8601": "2023-01-25T18:44:40.364349Z",
"url": "https://files.pythonhosted.org/packages/72/35/4962c09bc7f7d62ea4289939ceefaf4209dc68f1aa10c152243b3a593638/copclib-2.5.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4620ceff06bb87a0e8e23c2cf95f1c9eb3cbc38baea665a7a14fbe855dbe6fe6",
"md5": "fdcc4df9607f3fa7fa9b52ddb7de705c",
"sha256": "9516c83e77072e924d91def46ea2243257f14194279a09d7c8e0d022d53f5c81"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp39-cp39-musllinux_1_1_i686.whl",
"has_sig": false,
"md5_digest": "fdcc4df9607f3fa7fa9b52ddb7de705c",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 1343359,
"upload_time": "2023-01-25T18:44:41",
"upload_time_iso_8601": "2023-01-25T18:44:41.842253Z",
"url": "https://files.pythonhosted.org/packages/46/20/ceff06bb87a0e8e23c2cf95f1c9eb3cbc38baea665a7a14fbe855dbe6fe6/copclib-2.5.4-cp39-cp39-musllinux_1_1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d915c9bcc00da8b061ee34e7b5876caf39a8d3e153005c29989ea505211b0aed",
"md5": "5cedf08b815f09ed1fbb4036765b42ee",
"sha256": "22f6912decca0125ea83f342ff1bb8ae5ff8a29a582b7f1e79f4416b6f418e32"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp39-cp39-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "5cedf08b815f09ed1fbb4036765b42ee",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 1259448,
"upload_time": "2023-01-25T18:44:43",
"upload_time_iso_8601": "2023-01-25T18:44:43.143395Z",
"url": "https://files.pythonhosted.org/packages/d9/15/c9bcc00da8b061ee34e7b5876caf39a8d3e153005c29989ea505211b0aed/copclib-2.5.4-cp39-cp39-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "116bbbf2ef7683e07bad6cc27b02ce865218b6b49f26a4d9ea81243c0d50792a",
"md5": "418fab0f26291ebcf01bf34c20b12cac",
"sha256": "2b3bfe2885c8dc77f208501d50dbf3463d61ddcacf82c26f6f180492f92d8a4d"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp39-cp39-win32.whl",
"has_sig": false,
"md5_digest": "418fab0f26291ebcf01bf34c20b12cac",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 553364,
"upload_time": "2023-01-25T18:44:44",
"upload_time_iso_8601": "2023-01-25T18:44:44.387557Z",
"url": "https://files.pythonhosted.org/packages/11/6b/bbf2ef7683e07bad6cc27b02ce865218b6b49f26a4d9ea81243c0d50792a/copclib-2.5.4-cp39-cp39-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bf959d3d65651625dfed55c2880c79edefbf5f748ec4318548cbb6d1e1dfbffe",
"md5": "08da6f99f14a95ec362c68a072df61a5",
"sha256": "774d1e302f5ec4139ef48a9898b4b617a3941478820b06a4f9caf66389eb8fd7"
},
"downloads": -1,
"filename": "copclib-2.5.4-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "08da6f99f14a95ec362c68a072df61a5",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 613493,
"upload_time": "2023-01-25T18:44:45",
"upload_time_iso_8601": "2023-01-25T18:44:45.772192Z",
"url": "https://files.pythonhosted.org/packages/bf/95/9d3d65651625dfed55c2880c79edefbf5f748ec4318548cbb6d1e1dfbffe/copclib-2.5.4-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ac1a2df2fafb07a78fec748c9bc70fe2673b316f74b8f4185eda03aa817b7e69",
"md5": "09cda6a911767f22d6be2cc1d791e988",
"sha256": "c451c7a1e9867c119e814307e182493a6941367a1a59764c0759d8a361db03f3"
},
"downloads": -1,
"filename": "copclib-2.5.4.tar.gz",
"has_sig": false,
"md5_digest": "09cda6a911767f22d6be2cc1d791e988",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 138844,
"upload_time": "2023-01-25T18:44:46",
"upload_time_iso_8601": "2023-01-25T18:44:46.945529Z",
"url": "https://files.pythonhosted.org/packages/ac/1a/2df2fafb07a78fec748c9bc70fe2673b316f74b8f4185eda03aa817b7e69/copclib-2.5.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-01-25 18:44:46",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "RockRobotic",
"github_project": "copc-lib",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "copclib"
}