Metadata-Version: 2.4
Name: pycyphal
Version: 1.24.2
Summary: A full-featured implementation of the Cyphal protocol stack in Python.
Home-page: https://opencyphal.org
Author: OpenCyphal
Author-email: consortium@opencyphal.org
License: MIT
Keywords: cyphal,opencyphal,uavcan,pub-sub,publish-subscribe,data-bus,can-bus,ethernet,vehicular,onboard-networking,avionics,communication-protocol,broker
Classifier: Intended Audience :: Developers
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development :: Embedded Systems
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Object Brokering
Classifier: Topic :: System :: Distributed Computing
Classifier: Topic :: System :: Networking
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Classifier: Typing :: Typed
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: nunavut~=2.3
Requires-Dist: numpy~=2.2
Provides-Extra: transport-can-pythoncan
Requires-Dist: python-can[serial]~=4.0; extra == "transport-can-pythoncan"
Provides-Extra: transport-serial
Requires-Dist: pyserial~=3.5; extra == "transport-serial"
Requires-Dist: cobs~=1.1.4; extra == "transport-serial"
Provides-Extra: transport-udp
Requires-Dist: libpcap<2.0.0,>=0.0.0b0; extra == "transport-udp"
Dynamic: license-file

<img src="docs/static/opencyphal-favicon.svg" width="50px" align="right" style="text-align:right">
<h1 align="center" style="text-align:center">Cyphal in Python</h1>
<div align="center">

[![Test and Release PyCyphal](https://github.com/OpenCyphal/pycyphal/actions/workflows/test-and-release.yml/badge.svg)](https://github.com/OpenCyphal/pycyphal/actions/workflows/test-and-release.yml) [![RTFD](https://readthedocs.org/projects/pycyphal/badge/)](https://pycyphal.readthedocs.io/) [![Coverage Status](https://coveralls.io/repos/github/OpenCyphal/pycyphal/badge.svg)](https://coveralls.io/github/OpenCyphal/pycyphal) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=PyCyphal&metric=alert_status)](https://sonarcloud.io/dashboard?id=PyCyphal) [![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=PyCyphal&metric=reliability_rating)](https://sonarcloud.io/dashboard?id=PyCyphal) [![PyPI - Version](https://img.shields.io/pypi/v/pycyphal.svg)](https://pypi.org/project/pycyphal/) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) [![Forum](https://img.shields.io/discourse/https/forum.opencyphal.org/users.svg)](https://forum.opencyphal.org)

</div>
<hr/>

PyCyphal is a full-featured implementation of the Cyphal protocol stack intended for non-embedded, user-facing applications such as GUI software, diagnostic tools, automation scripts, prototypes, and various R&D cases.

PyCyphal aims to support all features and transport layers of Cyphal, be portable across all major platforms supporting Python, and be extensible to permit low-effort experimentation and testing of new protocol capabilities.

It is designed to support **GNU/Linux**, **MS Windows**, and **macOS** as first-class target platforms. However, the library does not rely on any platform-specific capabilities, so it should be usable with other systems as well.

[Cyphal](https://opencyphal.org) is an open technology for real-time intravehicular distributed computing and communication based on modern networking standards (Ethernet, CAN FD, etc.).

<p align="center">
  <a href="https://pycyphal.readthedocs.io/"><img src="docs/figures/arch-non-redundant.svg" width="400px"></a>
</p>

**READ THE DOCS: [pycyphal.readthedocs.io](https://pycyphal.readthedocs.io/)**

**Ask questions: [forum.opencyphal.org](https://forum.opencyphal.org/)**

*See also: [**Yakut**](https://github.com/OpenCyphal/yakut) -- a CLI tool for diagnostics and management of Cyphal networks built on top of PyCyphal.*
