|
1 | 1 | # python-psn |
2 | 2 |
|
3 | | -Pure Python parsing library for PSN V2 - [PosiStageNet](https://posistage.net/) |
| 3 | +Pure Python parsing library for PSN V2 - [PosiStageNet](https://posistage.net/),[Official PSN specification](https://github.com/vyv/psn-cpp/blob/master/doc/PosiStageNetprotocol_v2.03_2019_09_09.pdf) |
4 | 4 |
|
5 | | -[Official PSN specification](https://github.com/vyv/psn-cpp/blob/master/doc/PosiStageNetprotocol_v2.03_2019_09_09.pdf) |
| 5 | +This library is used for example by [BlenderDMX](https://blenderdmx.eu) |
| 6 | +([BlenderDMX on GitHub](https://github.com/open-stage/blender-dmx)). |
6 | 7 |
|
7 | | -[Source code](https://github.com/open-stage/python-psn) |
8 | | - |
9 | | -[PyPi page](https://pypi.org/project/pypsn/) |
| 8 | +[GitHub Page](https://github.com/open-stage/python-psn), [PyPi page](https://pypi.org/project/pypsn/) |
10 | 9 |
|
11 | 10 | [](https://github.com/open-stage/python-psn/actions/workflows/run-tests.yaml) |
12 | | - |
13 | 11 | [](https://github.com/open-stage/python-psn/actions/workflows/check-links.yaml) |
| 12 | + |
14 | 13 |
|
15 | 14 | ## Installation |
16 | 15 |
|
@@ -48,7 +47,7 @@ receiver.stop() # stop receiving |
48 | 47 |
|
49 | 48 | ``` |
50 | 49 |
|
51 | | -### Senfing PSN data |
| 50 | +### Sending PSN data |
52 | 51 | ```python |
53 | 52 | import pypsn |
54 | 53 |
|
@@ -117,3 +116,17 @@ mypy pypsn/*py --pretty --no-strict-optional |
117 | 116 | pytest --mypy -m mypy pypsn/*py |
118 | 117 | ``` |
119 | 118 |
|
| 119 | +## Citation |
| 120 | + |
| 121 | +If you use this library in your research, publication, or software project, |
| 122 | +please cite it as follows: |
| 123 | + |
| 124 | +```bibtex |
| 125 | +@software{pypsn2025, |
| 126 | + title = {pyPSN: Python Library for PosiStageNet}, |
| 127 | + author = {{OpenStage}}, |
| 128 | + year = {2025}, |
| 129 | + version = {0.2.3}, |
| 130 | + url = {https://github.com/open-stage/python-psn} |
| 131 | +} |
| 132 | +``` |
0 commit comments