Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
*.py[cod]
#*.py[cod]

# C extensions
*.so
Expand Down
8 changes: 4 additions & 4 deletions doc/source/dahu.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ Dahu: online data analysis server
The *dahu* server executes **jobs**:
------------------------------------

* Each job lives in its own thread (yes, thread, not process, it the plugin's developper to ensure the work he is doing is GIL-compliant).
* Each job executes one plugin, provided by the plugin's developper (i.e. the scientist)
* The job de/serialises JSON strings coming from/returning to Tango
* Jobs are executed asynchronously, the request for calculation is answered instantaneously with a *jobid*.
* Each job lives in its own thread (yes, thread, not process, it the plugin's developer to ensure the work he is doing is GIL-compliant).
* Each job executes one plugin, provided by the plugin's developer (i.e. the scientist)
* The job (de-) serializes JSON strings coming from/returning to Tango
* Jobs are executed asynchronously, the request for calculation is answered instantaneously with a *jobid* (an integer, unique for the process).
* The *jobid* can be used to poll the server for the status of the job or for manual synchronization (mind that Tango can time-out!).
* When jobs are finished, the client is notified via Tango events about the status
* Results can be retrieved after the job has finished.
Expand Down
19 changes: 11 additions & 8 deletions doc/source/installation.rst
Original file line number Diff line number Diff line change
@@ -1,33 +1,36 @@
Installation of Dahu
====================

Dahu is a Python (-3) project, the only dependency is `numpy` but `Tango` is needed for the server part.
Dahu is a Python project, the only dependency is `numpy` but `Tango` is needed for the server part.

.. code-block:: shell

python setup.py build test bdist_wheel
pip install dist/dahu*.whl
cd dahu
python run_tests.py
pip wheel .
pip install dahu-*.whl


Dahu can also be installed as debian package with automatic packaging from the `build-deb.sh` tool.
Documentation can be generated with `python setup.py build_doc`.
Documentation can be generated with `python build_doc.py`.

Devlopment of Dahu
==================

Development of Dahu
===================

`Dahu` is an Open source project under MIT license available at:
https://github.com/kif/dahu

There is a minimal test-suite which ensures the dynamic loading works as expected.
The kernel of dahu is tested, but plugins are not.
The kernel of `dahu` is tested, but plugins are not.


Development of plugins
======================

Plugins are regrouped into the `plugin` directory.
There is one directory per beamline and several plugins per beamline.
Each beamline is independant so no interference are expected.
Each beamline is independent so no interference are expected.

Dahu can be tested on plugins in an alternative directory using the `$DAHU_PLUGINS` environment variable.

Expand Down
7 changes: 3 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = 'dahu'
dynamic = ['version',]
license = {file = 'LICENSE'}
requires-python = '>=3.7'
requires-python = '>=3.9'
readme = 'README.rst'
description = '"Python lightweight, plugin based, data analysis engine"'
authors = [
Expand All @@ -24,13 +24,12 @@ classifiers = ["Development Status :: 3 - Alpha",
"Operating System :: Microsoft :: Windows",
"Operating System :: POSIX",
"Programming Language :: Cython",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: Implementation :: CPython",
"Topic :: Scientific/Engineering :: Physics",
"Topic :: Software Development :: Libraries :: Python Modules",
Expand Down
Loading