https://github.com/diamondlightsource/python-murfey
Client-Server architecture hauling Cryo-EM data around systems
https://github.com/diamondlightsource/python-murfey
Last synced: 3 months ago
JSON representation
Client-Server architecture hauling Cryo-EM data around systems
- Host: GitHub
- URL: https://github.com/diamondlightsource/python-murfey
- Owner: DiamondLightSource
- License: bsd-3-clause
- Created: 2021-11-18T15:22:55.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-05-23T10:08:23.000Z (12 months ago)
- Last Synced: 2024-05-23T10:10:24.185Z (12 months ago)
- Language: Python
- Homepage:
- Size: 1.45 MB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 26
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Authors: AUTHORS.rst
Awesome Lists containing this project
README
# Murfey
A transporter for data from Diamond eBIC microscope and detector machines onto the Diamond network.
## Who is Murfey?
Murfey, the package, is named after [Eliza Murfey, the inventor](https://nationalrrmuseum.org/blog/mother-of-invention-women-railroad-innovators/):
> Focusing on the mechanics of the railroad, inventor Eliza Murfey created devices designed
> to improve the bearings on rail wheels. With sixteen patents for her lubrication system,
> it was Murfey who designed the packings that would lubricate the axles with oil, aiding
> in the reduction of derailments caused by seized axles and bearings.## How do I set up a development environment?
We suggest you start with your favourite virtual environment (mamba/conda/python virtualenv/...),
then install using the following command.```text
$ git clone [email protected]:DiamondLightSource/python-murfey.git
$ cd python-murfey
$ pip install -e .[client,server,developer]
```The packages included under the `[developer]` installation key contain some helpful tools to aid you with developing Murfey further:
- `bump-my-version` - Simplifies version control.
- `ipykernel` - Enables interactive code development via Jupyter Notebooks.
- `pre-commit` - Allows for the installation and running of hooks to help with linting, formatting, and type checking your code.
- `pytest` - Used in conjunction with test functions to evaluate the reliability of your code.Instructions for setting up the database for Murfey to register files to can be found [here](src/murfey/server/README.md).
Finally, you may want to set up an ISPyB mock database server and a Zocalo
development environment. The instructions for this are out of scope here.You can then start the Murfey server with
```text
$ murfey.server
```and connect the client with
```text
$ murfey --server http://127.0.0.1:8000
```You can also install a client on a remote machine. This machine only needs to have
a minimum Python installation and curl. Open the murfey server website in a browser
on the client, and navigate to the bootstrap page. Then copy the displayed commands
into a command line terminal.