Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
updated links
  • Loading branch information
VigneshVSV authored Feb 8, 2024
1 parent 5fcfc85 commit 0fd8338
Showing 1 changed file with 14 additions and 14 deletions.
28 changes: 14 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,18 @@

### Description

For beginners - `hololinked` is a pattern suited for instrument control and data acquisition over network using python.
For beginners - `hololinked` is a pythonic package suited for instrument control and data acquisition over network using python.
<br/>
For those familiar with RPC & web development - `hololinked` is a ZMQ-based RPC toolkit with customizable HTTP end-points. The intended application
is, as stated before, instrument control/data acquisition or controlling generic python object(-instance)s.
<br />
For those familiar with RPC & web development - `hololinked` is a ZMQ-based RPC toolkit with customizable HTTP end-points.
The main goal is to develop a pythonic (& pure python) modern package for instrument control through network (SCADA),
along with native HTTP support for communication with browser clients for browser based UIs.

##### NOTE - The package is rather incomplete and uploaded only for API showcase and active development. Even RPC logic is not complete. <br/>

- tutorial webpage - (will be filled)
- example repository - https://github.com/VigneshVSV/hololinked-examples
- helper GUI - https://github.com/VigneshVSV/hololinked-portal
- custom GUI examples - (will be filled)
- tutorial webpage - [readthedocs](https://hololinked.readthedocs.io/en/latest/examples/index.html)
- [example repository](https://github.com/VigneshVSV/hololinked-examples)
- [helper GUI](https://github.com/VigneshVSV/hololinked-portal) - viewer of object's methods, parameters and events.
- [web development examples](https://hololinked.dev/docs/category/spectrometer-gui)

### Already Existing Features

Expand All @@ -24,24 +22,26 @@ Support is already present for the following:
- decorate HTTP verbs directly on object's methods
- declare parameters (based on [`param`](https://param.holoviz.org/getting_started.html)) for validated object attributes on the network
- create named events (based on ZMQ) for asychronous communication with clients. These events are also tunneled as HTTP server-sent events
- control method execution and parameter(or attribute) write with finite state machine
- control method execution and parameter(or attribute) write with custom finite state machine
- use serializer of your choice (except for HTTP) - Serpent, JSON, pickle etc. & extend serialization to suit your requirement (HTTP Server will support only JSON serializer)
- asyncio compatible - async RPC Server event-loop and async HTTP Server
- have flexibility in process architecture - run HTTP Server & python object in separate processes or in the same process, combine multiple objects in same server etc.
- have flexibility in process architecture - run HTTP Server & python object in separate processes or in the same process, combine multiple objects in same server, use multiple
HTTP servers for same object etc..

Again, please check examples for how-to & explanations of the above.
Again, please check examples or the code for explanations. Documentation is being activety improved.

### To Install

clone the repository and install in develop mode `pip install -e .` for convenience. The conda env hololinked.yml can also help.
There is no release to pip available right now.

### In Development

- Object Proxy (Plain TCP Client- i.e. the RPC part is not fully developed yet)
- Multiple ZMQ Protocols - currently only IPC protocol is supported
- Multiple ZMQ Protocols
- HTTP 2.0
- Database support for storing and loading parameters (based on SQLAlchemy) when object dies and restarts

### Contact



Contributors welcome for all my projects related to hololinked including web apps. Please write to my contact email available at [website](https://hololinked.dev).

0 comments on commit 0fd8338

Please sign in to comment.