Metadata-Version: 2.1
Name: ouster_sdk
Version: 1.0.0
Summary: Ouster Sensor SDK
Home-page: https://github.com/ouster-lidar/ouster-sdk
Author: Ouster Sensor SDK Developers
Author-email: oss@ouster.io
License: BSD-3-Clause AND Ouster-Freeware-EULA (See project links)
Project-URL: Ouster SDK Documentation, https://static.ouster.dev/sdk-docs/index.html
Project-URL: Source Code, https://github.com/ouster-lidar/ouster-sdk
Project-URL: Changelog, https://static.ouster.dev/sdk-docs/reference/changelog.html
Project-URL: Migration Guides, https://static.ouster.dev/sdk-docs/migration/
Project-URL: Bug Tracker, https://github.com/ouster-lidar/ouster-sdk/issues
Project-URL: Ouster Customer Support, https://community.ouster.com/c/software/6
Project-URL: Ouster-Freeware-EULA, https://static.ouster.dev/sdk-docs/LICENSE-freeware.txt
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: System :: Hardware :: Hardware Drivers
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Image Processing
Classifier: Typing :: Typed
Requires-Python: >=3.8, <4
Description-Content-Type: text/x-rst
Requires-Dist: psutil<6,>=5.9.5
Requires-Dist: zeroconf>=0.150.0; python_version >= "3.10"
Requires-Dist: zeroconf>=0.131.0; python_version < "3.10"
Requires-Dist: click<8.1.8,>=8.1.3
Requires-Dist: prettytable<3.17.0,>=2.1.0
Requires-Dist: requests<3,>=2.0
Requires-Dist: more-itertools>=8.6
Requires-Dist: numpy!=1.19.4,>=1.19
Requires-Dist: laspy<3,>=2.5.0
Requires-Dist: threadpoolctl>=3.5.0
Requires-Dist: Pillow>=10.2.0
Requires-Dist: packaging
Requires-Dist: rosbags==0.9.23
Requires-Dist: importlib-resources>=5.0; python_version < "3.9"
Requires-Dist: setuptools; python_version >= "3.12"
Requires-Dist: flask==3.0
Requires-Dist: nanobind==2.9.2
Requires-Dist: pytest-asyncio>=0.21
Provides-Extra: test
Requires-Dist: pytest<8,>=7.0; extra == "test"
Requires-Dist: pytest-asyncio; extra == "test"
Requires-Dist: iniconfig<=2.1.0; extra == "test"
Provides-Extra: dev
Requires-Dist: flake8; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Requires-Dist: pylsp-mypy; extra == "dev"
Requires-Dist: python-lsp-server; extra == "dev"
Requires-Dist: yapf; extra == "dev"
Requires-Dist: nanobind==2.9.2; extra == "dev"
Requires-Dist: numpy; extra == "dev"
Provides-Extra: docs
Requires-Dist: Sphinx>=3.5; extra == "docs"
Requires-Dist: sphinx-autodoc-typehints==1.17.0; extra == "docs"
Requires-Dist: sphinx-rtd-theme==1.0.0; extra == "docs"
Requires-Dist: sphinx-copybutton==0.5.0; extra == "docs"
Requires-Dist: docutils<0.18; extra == "docs"
Requires-Dist: sphinx-tabs==3.3.1; extra == "docs"
Requires-Dist: breathe==4.33.1; extra == "docs"
Requires-Dist: sphinx-rtd-size; extra == "docs"
Provides-Extra: examples
Requires-Dist: matplotlib; extra == "examples"
Requires-Dist: opencv-python; extra == "examples"
Requires-Dist: laspy; extra == "examples"
Requires-Dist: PyQt5; platform_system == "Windows" and extra == "examples"
Provides-Extra: cleanup
Requires-Dist: pydemumble; extra == "cleanup"
Requires-Dist: tree-sitter-cpp; extra == "cleanup"
Requires-Dist: tree-sitter; extra == "cleanup"
Requires-Dist: libclang; extra == "cleanup"

=================
Ouster Python SDK
=================

|pypi| |python| |license_bsd| |license_freeware| |downloads|

.. |pypi| image:: https://img.shields.io/pypi/v/ouster-sdk
   :target: https://pypi.org/project/ouster-sdk/
   :alt: PyPI version

.. |python| image:: https://img.shields.io/pypi/pyversions/ouster-sdk?color=brightgreen
   :target: https://pypi.org/project/ouster-sdk/
   :alt: Supported Python versions

.. |license_bsd| image:: https://img.shields.io/badge/License-BSD%203--Clause-blue
   :target: https://github.com/ouster-lidar/ouster-sdk/blob/develop/LICENSE
   :alt: BSD 3-Clause License (source)

.. |license_freeware| image:: https://img.shields.io/badge/License-Ouster%20Freeware%20EULA-blue
   :target: https://static.ouster.dev/sdk-docs/LICENSE-freeware.txt
   :alt: Ouster Freeware EULA (build artifacts)

.. |downloads| image:: https://static.pepy.tech/badge/ouster-sdk
   :target: https://pepy.tech/project/ouster-sdk
   :alt: PyPI downloads

..
    [sdk-overview-start]

The Ouster Sensor SDK provides developers with a comprehensive set of interfaces for interacting with Ouster sensor hardware. 
The SDK includes a suite of tools, libraries, and APIs to access the full range of sensor features and generate recorded sensor data. 
It is designed to support prototyping, evaluation, and other non-safety-critical applications for both Python and C++ development environments.

Core capabilities:

* Querying and setting sensor configuration
* Recording and reading data in pcap format
* Recording and reading data in Open Sensor Format (OSF)
* Reading and buffering sensor UDP data streams reliably
* Conversion of raw data to range/signal/near_ir/reflectivity images (destaggering)
* Efficient projection of range measurements to Cartesian (x, y, z) coordinates
* Visualization of multi-beam flash lidar data
* Mapping
* Pose Optimizer
* Localization
* Zone monitor

Additionally, in Python, the SDK also provides: 

* Frame-based access to lidar data as numpy datatypes
* A responsive visualizer utility for pcap and sensor

..
    [sdk-overview-end]

Supported Platforms
-------------------

..
    [python-supported-platforms-start]

The Ouster SDK is distributed as pre-built binaries and can be easily installed using pip, the Python package installer.  
The SDK is available on the Python Package Index (`PyPI`_) for the following platforms:

- Most glibc-based Linux distributions on x86_64 and ARM64 platforms (``manylinux_2_28_x86_64``, ``manylinux_2_28_aarch64``)
- macOS >= 14 on x86_64 platforms (``macosx_14_0_x86_64``)
- macOS >= 14 on Apple Silicon for Python >= 3.8 (``macosx_14_0_arm64``)
- Windows 10/11 on x86_64 platforms (``win_amd64``)

All of our code hosted on GitHub is open source. You can find the Ouster SDK repository here: https://github.com/ouster-lidar/ouster-sdk.

Building from source is supported on:

- Ubuntu 20.04, 22.04, and Debian 11 (x86-64, aarch64)
- macOS >= 14 (arm64, x86-64)
- Windows 10/11 (x86-64)

The Ouster SDK drops languages and platforms as they exit their standard support cycle. Please
follow our `Lifecycle Policy`_ page to understand when support for a Python version, C++ compiler,
Operating System, or Sensor FW may dropped from support.

.. _PyPI: https://pypi.org/project/ouster-sdk/
.. _Lifecycle Policy: https://github.com/ouster-lidar/ouster-sdk/discussions/532

..
    [python-supported-platforms-end]

Licensing
---------

Source code in the `Ouster SDK repository`_ is licensed under the BSD 3-Clause
License. Pre-built Python wheels and other binary distributions may also include
proprietary Ouster components that are provided as freeware under additional
`Ouster Freeware EULA`_ licensing.

.. _Ouster SDK repository: https://github.com/ouster-lidar/ouster-sdk
.. _Ouster Freeware EULA: https://static.ouster.dev/sdk-docs/LICENSE-freeware.txt
