[](https://github.com/mxcube/mxcubeweb/actions/workflows/build_and_test.yml)

<p align="center"><img src="https://mxcube.github.io/img/mxcube_logo20.png" width="125"/></p>
# MXCuBE-Web
MXCuBE-Web is the latest generation of the data acquisition software MXCuBE (Macromolecular Xtallography Customized Beamline Environment). The project started in 2005 at [ESRF](https://www.esrf.eu), and has since then been adopted by other institutes in Europe. In 2010, a collaboration agreement has been signed for the development of MXCuBE with the following partners:
- [ESRF](https://www.esrf.fr/)
- [Soleil](https://www.synchrotron-soleil.fr/)
- [MAX IV](https://www.maxiv.lu.se/)
- [HZB](https://www.helmholtz-berlin.de/)
- [EMBL](https://www.embl.org/)
- [Global Phasing Ltd.](https://www.globalphasing.com/)
- [ALBA](https://www.cells.es/)
- [DESY](https://www.desy.de/)
- [LNLS](https://lnls.cnpem.br/)
- [Elettra](https://www.elettra.eu/)
- [NSRRC](https://www.nsrrc.org.tw/)
- [ANSTO](https://www.ansto.gov.au/facilities/australian-synchrotron)
MXCuBE-Web is developed as a web application and runs in any recent browser.
The application is built using standard web technologies
and does not require any third-party plugins to be installed in order to function.
Being a web application, it is naturally divided into server and client parts.
The communication between the client and server are made using HTTP/HTTPS and web-sockets.
It is strongly recommended to use HTTPS, SSL/TLS encrypted HTTP.
The traffic passes through the conventional HTTP/HTTPS ports,
minimizing the need for special firewall or proxy settings to get the application to work.
<img align="center" src="https://mxcube3.esrf.fr/img/client-server.png" width=300>
The underlying beamline control layer
is implemented using the library [`mxcubecore`](https://github.com/mxcube/mxcubecore)
previously known as [`HardwareRepository`](https://github.com/mxcube/HardwareRepository).
The `mxcubecore` library is compatible with
both the MXCuBE-Web and the [MXCuBE-Qt](https://github.com/mxcube/mxcubeqt) applications.
| Data collection | Sample grid |
| :-------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------: |
|  |  |
Latest information about the MXCuBE project can be found on the
[MXCuBE project webpage](https://mxcube.github.io/mxcube/).
## Technologies in use
The backend is built on the Python [Flask](https://flask.palletsprojects.com/) web framework,
a library called [SocketIO](https://socket.io/) is further used to provide
a bidirectional communication channel between backend and client.
The backend exposes a REST API to the client.
The UI is implemented in HTML, CSS and JavaScript, mainly with the React, Redux, Boostrap, and FabricJS libraries.
## Information for developers
- [Contributing guidelines](https://github.com/mxcube/mxcubeweb/blob/master/CONTRIBUTING.md)
- [Developer documentation](https://mxcubeweb.readthedocs.io/)
- [Development install instructions](https://mxcubeweb.readthedocs.io/en/latest/dev/environment.html#install-with-conda)
## Information for users
- [User Manual MXCuBE Web](https://www.esrf.fr/mxcube3)
- [Feature overview](https://github.com/mxcube/mxcubeqt/blob/master/docs/source/feature_overview.rst)
- If you cite MXCuBE, please use the references:
> Oscarsson, M. et al. 2019. “MXCuBE2: The Dawn of MXCuBE Collaboration.” Journal of Synchrotron Radiation 26 (Pt 2): 393–405.
>
> Gabadinho, J. et al. (2010). MxCuBE: a synchrotron beamline control environment customized for macromolecular crystallography experiments. J. Synchrotron Rad. 17, 700-707
Raw data
{
"_id": null,
"home_page": "https://github.com/mxcube/mxcubeweb",
"name": "mxcubeweb",
"maintainer": "The MXCuBE collaboration",
"docs_url": null,
"requires_python": "<3.12,>=3.10",
"maintainer_email": "mxcube@esrf.fr",
"keywords": "mxcube, mxcube3, mxcubeweb",
"author": "The MXCuBE collaboration",
"author_email": "mxcube@esrf.fr",
"download_url": "https://files.pythonhosted.org/packages/2e/02/5fcdaa2cc03fa89ea6de595ffc70191e6781415e827a1e3c053553da2040/mxcubeweb-4.473.0.tar.gz",
"platform": null,
"description": "[](https://github.com/mxcube/mxcubeweb/actions/workflows/build_and_test.yml)\n\n\n<p align=\"center\"><img src=\"https://mxcube.github.io/img/mxcube_logo20.png\" width=\"125\"/></p>\n\n# MXCuBE-Web\n\nMXCuBE-Web is the latest generation of the data acquisition software MXCuBE (Macromolecular Xtallography Customized Beamline Environment). The project started in 2005 at [ESRF](https://www.esrf.eu), and has since then been adopted by other institutes in Europe. In 2010, a collaboration agreement has been signed for the development of MXCuBE with the following partners:\n\n- [ESRF](https://www.esrf.fr/)\n- [Soleil](https://www.synchrotron-soleil.fr/)\n- [MAX IV](https://www.maxiv.lu.se/)\n- [HZB](https://www.helmholtz-berlin.de/)\n- [EMBL](https://www.embl.org/)\n- [Global Phasing Ltd.](https://www.globalphasing.com/)\n- [ALBA](https://www.cells.es/)\n- [DESY](https://www.desy.de/)\n- [LNLS](https://lnls.cnpem.br/)\n- [Elettra](https://www.elettra.eu/)\n- [NSRRC](https://www.nsrrc.org.tw/)\n- [ANSTO](https://www.ansto.gov.au/facilities/australian-synchrotron)\n\nMXCuBE-Web is developed as a web application and runs in any recent browser.\nThe application is built using standard web technologies\nand does not require any third-party plugins to be installed in order to function.\nBeing a web application, it is naturally divided into server and client parts.\nThe communication between the client and server are made using HTTP/HTTPS and web-sockets.\nIt is strongly recommended to use HTTPS, SSL/TLS encrypted HTTP.\nThe traffic passes through the conventional HTTP/HTTPS ports,\nminimizing the need for special firewall or proxy settings to get the application to work.\n\n<img align=\"center\" src=\"https://mxcube3.esrf.fr/img/client-server.png\" width=300>\n\nThe underlying beamline control layer\nis implemented using the library [`mxcubecore`](https://github.com/mxcube/mxcubecore)\npreviously known as [`HardwareRepository`](https://github.com/mxcube/HardwareRepository).\nThe `mxcubecore` library is compatible with\nboth the MXCuBE-Web and the [MXCuBE-Qt](https://github.com/mxcube/mxcubeqt) applications.\n\n| Data collection | Sample grid |\n| :-------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------: |\n|  |  |\n\nLatest information about the MXCuBE project can be found on the\n[MXCuBE project webpage](https://mxcube.github.io/mxcube/).\n\n## Technologies in use\n\nThe backend is built on the Python [Flask](https://flask.palletsprojects.com/) web framework,\na library called [SocketIO](https://socket.io/) is further used to provide\na bidirectional communication channel between backend and client.\nThe backend exposes a REST API to the client.\n\nThe UI is implemented in HTML, CSS and JavaScript, mainly with the React, Redux, Boostrap, and FabricJS libraries.\n\n## Information for developers\n\n- [Contributing guidelines](https://github.com/mxcube/mxcubeweb/blob/master/CONTRIBUTING.md)\n- [Developer documentation](https://mxcubeweb.readthedocs.io/)\n- [Development install instructions](https://mxcubeweb.readthedocs.io/en/latest/dev/environment.html#install-with-conda)\n\n## Information for users\n\n- [User Manual MXCuBE Web](https://www.esrf.fr/mxcube3)\n- [Feature overview](https://github.com/mxcube/mxcubeqt/blob/master/docs/source/feature_overview.rst)\n- If you cite MXCuBE, please use the references:\n > Oscarsson, M. et al. 2019. \u201cMXCuBE2: The Dawn of MXCuBE Collaboration.\u201d Journal of Synchrotron Radiation 26 (Pt 2): 393\u2013405.\n >\n > Gabadinho, J. et al. (2010). MxCuBE: a synchrotron beamline control environment customized for macromolecular crystallography experiments. J. Synchrotron Rad. 17, 700-707\n",
"bugtrack_url": null,
"license": "LGPL-3.0-or-later",
"summary": "MXCuBE Web user interface",
"version": "4.473.0",
"project_urls": {
"Documentation": "https://mxcubeweb.readthedocs.io/",
"Homepage": "https://github.com/mxcube/mxcubeweb",
"Repository": "https://github.com/mxcube/mxcubeweb"
},
"split_keywords": [
"mxcube",
" mxcube3",
" mxcubeweb"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "18976f8a918a71bbafa7d41f832aec32ec3ade56920ba46553ceb0c1f4d48f3a",
"md5": "e4fef90f6dcaae4247756a89203f051f",
"sha256": "f4cc6887c7440088bb1a89e11ab8ab68a1ae892bd9f162640a0e56ea1936c0bf"
},
"downloads": -1,
"filename": "mxcubeweb-4.473.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e4fef90f6dcaae4247756a89203f051f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.12,>=3.10",
"size": 130007,
"upload_time": "2025-08-01T15:21:11",
"upload_time_iso_8601": "2025-08-01T15:21:11.248307Z",
"url": "https://files.pythonhosted.org/packages/18/97/6f8a918a71bbafa7d41f832aec32ec3ade56920ba46553ceb0c1f4d48f3a/mxcubeweb-4.473.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2e025fcdaa2cc03fa89ea6de595ffc70191e6781415e827a1e3c053553da2040",
"md5": "4ad2cece495bdc17c81c5639ce5f4791",
"sha256": "9101a314060da0aff38472ab6e45e38b6250d3869a0491371d5f1f5c8b0fd654"
},
"downloads": -1,
"filename": "mxcubeweb-4.473.0.tar.gz",
"has_sig": false,
"md5_digest": "4ad2cece495bdc17c81c5639ce5f4791",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.12,>=3.10",
"size": 101584,
"upload_time": "2025-08-01T15:21:13",
"upload_time_iso_8601": "2025-08-01T15:21:13.037279Z",
"url": "https://files.pythonhosted.org/packages/2e/02/5fcdaa2cc03fa89ea6de595ffc70191e6781415e827a1e3c053553da2040/mxcubeweb-4.473.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-01 15:21:13",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "mxcube",
"github_project": "mxcubeweb",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "mxcubeweb"
}