Metadata-Version: 2.1
Name: nxsconfigserver-db
Version: 1.11.0
Summary: Configuration Server  DataBase
Home-page: https://github.com/jkotan/nexdatas/nxsconfigserver-db
Author: Jan Kotanski
Author-email: jankotan@gmail.com
License: GNU GENERAL PUBLIC LICENSE v3
Keywords: configuration MySQL writer 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.4
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
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14

===============================================================
Welcome to NeXuS Configuration Server Database's documentation!
===============================================================

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

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

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

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

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


Authors: Jan Kotanski, Eugen Wintersberger, Halil Pasic

The package contains SQL files to create the MySQL database for Configuration Server.

NeXuS Configuration Server is a Tango Server with its implementation based
on a MySQL database. It allows to store XML configuration datasources
and components. It also gives possibility to select mandatory components
and perform the process of component merging.

| Source code: https://github.com/nexdatas/nxsconfigserver-db
| Web page: https://nexdatas.github.io/nxsconfigserver-db

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

Install the dependencies:

|    MySQLdb, PyTango, sphinx

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

Download the latest version of NeXuS Configuration Server from

|     https://github.com/nexdatas/nxsconfigserver
|     https://github.com/nexdatas/nxsconfigserver-db

Extract the sources and run for both packages

.. code-block:: console

	  $ python setup.py install

To set database execute

.. code-block:: console

	  $ mysql < conf/mysql_create.sql

with proper privileges.

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

Debian Bookworm, Bullseye, Buster as well as Plucky, 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/bookworm-pni-hdri.sources

or

.. code-block:: console

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

Finally,

.. code-block:: console

	  $ apt-get update
	  $ apt-get install python3-nxsconfigserver nxsconfigserver-db

To instal other NexDaTaS packages

.. code-block:: console

	  $ apt-get install python3-nxswriter nxsconfigtool nxstools

and

.. code-block:: console

	  $ apt-get install python3-nxsrecselector 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 nxsconfigserver-db

Moreover it is also good to install **mysql** to be able to execute

.. code-block:: console

	  $ mysql < conf/mysql_create.sql

where **mysql_create.sql** is installed in  **myvenv/share/nxsconfigserver**

Setting NeXus Configuration Server
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

To set up  NeXus Configuration Server with the default configuration run

.. code-block:: console

          $ nxsetup -x NXSConfigServer

The *nxsetup* command comes from the **python3-nxstools** package.
It starts the NeXus Configuration Server and tries to find a proper value
of the JSONSettings attribute.
