Developer’s Overview¶
Contributing¶
Contribute to source code, documentation, examples and report issues on bitbucket: https://bitbucket.org/hardbyte/python-can
Creating a Release¶
- Release from the
default
branch. - Update the library version in
setup.py
and indoc/conf.py
using
semantic versioning.
- Run all tests and examples against available hardware.
- Update CONTRIBUTORS.txt with any new contributors.
- Sanity check that documentation has stayed inline with code. For large changes update doc/history.rst
- Create a temporary virtual environment. Run python setup.py install
and python setup.py test
- Create and upload the distribution: python setup.py sdist bdist_wheel upload --sign
- In a new virtual env check that the package can be installed with pip: pip install python-can
Code Structure¶
The modules in python-can
are:
Module | Description |
---|---|
interfaces | Contains interface dependent code. |
protocols | Currently just the J1939 protocol exists here |
bus | Contains the interface independent Bus object. |
CAN | Contains modules to emulate a CAN system, such as a time stamps, read/write streams and listeners. |
message | Contains the interface independent Message object. |
notifier | An object which can be used to notify listeners. |
broadcastmanager | Contains interface independent broadcast manager code. |