Building/installation:

	sudo python3 setup.py install

If you prefer to have it cleanly removable, install checkinstall and run

	sudo checkinstall python setup.py install

Alternatively, just run

	pip3 install --user -e ./

depending on your python version.

Use:
There are currently following scripts in this package:
osmotestconfig.py - test that apps start/write with example configs
soap.py - implementation of SOAP <-> Ctrl proxy implemented on top of Twisted (deprecated, unmaintained)
ctrl2cgi.py - implementation of CGI <-> Ctrl proxy implemented on top of Twisted (deprecated, unmaintained)
osmo_trap2cgi.py - implementation of CGI <-> Ctrl proxy implemented on top of asyncio and aiohttp
osmo_rate_ctr2csv.py - rate counter dumper on top of osmo_ipa
osmo_interact_vty.py - pipe stdin/stdout to a VTY session
osmo_interact_ctrl.py - pipe stdin/stdout to a CTRL port
osmo_verify_transcript_vty.py - VTY testing by VTY session screen dumps
osmo_verify_transcript_ctrl.py - CTRL testing by CTRL session script files
twisted_ipa.py - implementation of IPA and Ctrl protocols on top of Twisted framework
osmodumpdoc.py - dump documentation, superseded by osmo_interact_vty.py -X
osmotestvty.py - test vty operations, superseded by osmo_verify_transcript_vty.py

Some of these scripts import a project-specific osmoappdesc.py,
which provides information about the available apps, configs, vty ports, etc.
and is provided by other source trees (like osmo-bsc.git, osmo-msc.git, ...)

Run the scripts with osmoappdesc.py in the current directory (preferred)
or with -p <the directory containing osmoappdesc.py>.
Remember that osmoappdesc.py may contain relative paths.

Example:
After install osmodumpdoc for openbsc's apps can be run by:
cd <your_source_dir>/openbsc/openbsc && osmodumpdoc.py

Libraries:
osmopy/osmoutil.py - code that's shared between the scripts
osmopy/osmo_ipa.py - generic implementation of IPA and Ctrl protocols in python
osmopy/trap_helper.py - generic Trap class and related helpers used by soap.py and ctrl2cgi.py
osmopy/osmo_interact/{vty,ctrl}.py - general interactions with VTY and CTRL ports
osmopy/obscvty.py - connect to a vty, superseded by osmo_interact/vty

obscvty.py may be of general use. osmoutil.py probably isn't.
