Metadata-Version: 2.4
Name: n2k
Version: 0.4.0
Summary: Library to communicate with NMEA2000 devices.
Author: Finn Böger
Author-email: Finn Böger <finnboeger@googlemail.com>
License-Expression: MIT
Project-URL: homepage, https://github.com/finnboeger/NMEA2000
Project-URL: documentation, https://finnboeger.github.io/NMEA2000/
Project-URL: repository, https://github.com/finnboeger/NMEA2000
Keywords: NMEA2000,CAN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Embedded Systems
Classifier: Topic :: Software Development :: Embedded Systems :: Controller Area Network (CAN)
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: python-can>=4.5
Provides-Extra: dev
Requires-Dist: black>=25.1; extra == "dev"
Requires-Dist: setuptools>=78.1; extra == "dev"
Provides-Extra: docs
Requires-Dist: sphinx>=8.2; extra == "docs"
Requires-Dist: sphinx-autodoc-typehints>=3.1; extra == "docs"
Requires-Dist: sphinx-rtd-theme>=3.0; extra == "docs"
Dynamic: author
Dynamic: license-file

# NMEA2000
NMEA2000 library for Raspberry Pi. Fork of https://github.com/ttlappalainen/NMEA2000

This library is still in an alpha state and is currently missing support for the following:

- several messages (as noted by the `todo` comments in [n2k/messages.py](n2k/messages.py)
- testing for the included messages
- support for transport protocol messages
- support for group functions
- proper logging
- good documentation. For now only the expected values for the messages are documented

The interface for creating messages will likely change in the future.

## Installing the library
If you want to use this library for a project, simply install it via pip:

```bash
pip install n2k
```


## Contributing

### Setup dev environment
First make sure you have python installed.

Then run
```bash
./prepare.sh
source .venv/bin/activate
```
to setup your virtual environment, install dependencies and setup pre-commit hooks.

If you choose to use VS Code as your editor, there are some extension recommendations that will automatically show up, as well as some pre-configured workspace settings.

### Build Documentation
```bash
cd docs && make clean && make html
```

### Build and publish package
```bash
python -m build && twine upload dist/*
```
