Metadata-Version: 2.1
Name: nxsrecselector
Version: 4.9.0
Summary: Selector Server for NeXus Sardana recorder
Home-page: https://github.com/jkotan/nexdatas/
Author: Jan Kotanski
Author-email: jankotan@gmail.com
License: GNU GENERAL PUBLIC LICENSE v3
Keywords: sardana writer configuration settings Tango server nexus data
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: lxml
Requires-Dist: numpy (>1.6.0)

========================================
Welcome to nxsrecconfig's documentation!
========================================

|github workflow|
|docs|
|Pypi Version|
|Python Versions|

.. |github workflow| image:: https://github.com/nexdatas/nxsrecselector/actions/workflows/tests.yml/badge.svg
   :target: https://github.com/nexdatas/nxsrecselector/actions
   :alt:

.. |docs| image:: https://img.shields.io/badge/Documentation-webpages-ADD8E6.svg
   :target: https://nexdatas.github.io/nxsrecselector/index.html
   :alt:

.. |Pypi Version| image:: https://img.shields.io/pypi/v/nxsrecselector.svg
                  :target: https://pypi.python.org/pypi/nxsrecselector
                  :alt:

.. |Python Versions| image:: https://img.shields.io/pypi/pyversions/nxsrecselector.svg
                     :target: https://pypi.python.org/pypi/nxsrecselector/
                     :alt:

Authors: Jan Kotanski
Introduction

Tango server with Sardana Recorder settings

Tango Server API: https://nexdatas.github.io/nxsrecselector/doc_html

| Source code: https://github.com/nexdatas/nxsrecselector
| Web page: https://nexdatas.github.io/nxsrecselector
| NexDaTaS Web page: https://nexdatas.github.io

------------
Installation
------------

Install the dependencies:

|    sardana, tango, sphinx

From sources
^^^^^^^^^^^^

Download the latest version of NeXuS Configuration Server from

|    https://github.com/nexdatas/nxsrecselector

Extract the sources and run

.. code-block:: console

	  $ python3 setup.py install

Debian packages
^^^^^^^^^^^^^^^

Debian trixie, bookworm, bullseye or ubuntu questing, noble, jammy packages can be found in the HDRI repository.

To install the debian packages, add the PGP repository key

.. code-block:: console

	  $ sudo su
	  $ curl -s http://repos.pni-hdri.de/debian_repo.pub.gpg | gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/debian-hdri-repo.gpg --import
	  $ chmod 644 /etc/apt/trusted.gpg.d/debian-hdri-repo.gpg

and then download the corresponding source list

.. code-block:: console

	  $ cd /etc/apt/sources.list.d
	  $ wget http://repos.pni-hdri.de/trixie-pni-hdri.sources

Finally, install module

.. code-block:: console

	  $ apt-get update
	  $ apt-get install python3-nxsrecselector

and the NXSRecSelector tango server

.. code-block:: console

	  $ apt-get update
	  $ apt-get install nxsrecselector

To instal other NexDaTaS packages

.. code-block:: console

	  $ apt-get install python3-nxswriter nxsconfigtool nxstools python3-nxsconfigserver nxsconfigserver-db

and

.. code-block:: console

	  $ apt-get install nxselector python3-sardana-nxsrecorder

for Component Selector and Sardana related packages.

From pip
^^^^^^^^

To install it from pip you can

.. code-block:: console

   $ python3 -m venv myvenv
   $ . myvenv/bin/activate

   $ pip install nxsrecselector

Moreover it is also good to install

.. code-block:: console

   $ pip install pytango
   $ pip install taurus
   $ pip install sardana
   $ pip install nxswriter
   $ pip install nxsconfigserver
   $ pip install nxstools
   $ pip install pymysqldb

-------------------
Setting environment
-------------------


Setting Saradna
^^^^^^^^^^^^^^^
If sardana is not yet set up run


.. code-block:: console

	  $ Pool

- enter a new instance name
- create the new instance

Then wait a while until Pool is started and in a new terminal run

.. code-block:: console

	  $ MacroServer

- enter a new instance name
- create the new instance
- connect pool

Next, run Astor and change start-up levels: for Pool to 2,
for MacroServer to 3 and restart servers.

Alternatively, terminate Pool and MacroServer in the terminals and run

.. code-block:: console

          $ nxsetup -s Pool -l2

wait until Pool is started and run

.. code-block:: console

          $ nxsetup -s MacroServer -l3


Additionally, one can create dummy devices by running `sar_demo` in

.. code-block:: console

	  $ spock



Setting NeXus Servers
^^^^^^^^^^^^^^^^^^^^^

To set up  NeXus Servers run

.. code-block:: console

	  $ nxsetup -x

or

.. code-block:: console

          $ nxsetup -x NXSDataWriter
          $ nxsetup -x NXSConfigServer
	  $ nxsetup -x NXSRecSelector

for specific servers.

If the `RecoderPath` property of MacroServer is not set one can do it by

.. code-block:: console

	  $ nxsetup -a /usr/lib/python2.7/dist-packages/sardananxsrecorder

where the path should point the `sardananxsrecorder` package.
