{"id":19573473,"url":"https://github.com/ess-dmsc/nexus-constructor","last_synced_at":"2025-04-27T05:32:46.570Z","repository":{"id":37444903,"uuid":"149303181","full_name":"ess-dmsc/nexus-constructor","owner":"ess-dmsc","description":"Construct NeXus templates and files with instrument geometry information using a GUI","archived":false,"fork":false,"pushed_at":"2024-03-20T17:27:55.000Z","size":30371,"stargazers_count":5,"open_issues_count":3,"forks_count":1,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-03-20T18:53:06.591Z","etag":null,"topics":["ess","gui","nexus-constructor","nexus-files","pyside2","qtforpython"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ess-dmsc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2018-09-18T14:35:56.000Z","updated_at":"2024-01-12T18:07:17.000Z","dependencies_parsed_at":"2023-12-06T08:51:24.170Z","dependency_job_id":null,"html_url":"https://github.com/ess-dmsc/nexus-constructor","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ess-dmsc%2Fnexus-constructor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ess-dmsc%2Fnexus-constructor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ess-dmsc%2Fnexus-constructor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ess-dmsc%2Fnexus-constructor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ess-dmsc","download_url":"https://codeload.github.com/ess-dmsc/nexus-constructor/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224061471,"owners_count":17249245,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ess","gui","nexus-constructor","nexus-files","pyside2","qtforpython"],"created_at":"2024-11-11T06:33:58.520Z","updated_at":"2024-11-11T06:33:59.485Z","avatar_url":"https://github.com/ess-dmsc.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![License (2-Clause BSD)](https://img.shields.io/badge/license-BSD%202--Clause-blue.svg)](https://github.com/ess-dmsc/nexus-constructor/blob/main/LICENSE) [![codecov](https://codecov.io/gh/ess-dmsc/nexus-constructor/branch/main/graph/badge.svg)](https://codecov.io/gh/ess-dmsc/nexus-constructor) [![Build Status](https://jenkins.esss.dk/dm/job/ess-dmsc/job/nexus-constructor/job/main/badge/icon)](https://jenkins.esss.dk/dm/job/ess-dmsc/job/nexus-constructor/job/main/) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/python/black)\n\n# NeXus Constructor\nThe NeXus Constructor facilitates constructing [NeXus files](https://www.nexusformat.org/) in which to record data from\nexperiments at neutron science facilities. This includes all supporting metadata typically required to perform analysis\nof such experiments, including instrument geometry information.\n\nThe application can directly output a NeXus file, or create a\n[_NeXus structure_, JSON template](https://github.com/ess-dmsc/kafka-to-nexus/blob/master/documentation/commands.md#defining-a-nexus-structure)\nof the file to send to the [File Writer](https://github.com/ess-dmsc/kafka-to-nexus). The JSON template can\ninclude data stream details, such that the File Writer populates the NeXus file it creates with data acquired\nfrom the detector and other beamline apparatus during an experiment.\n\nThere is a [\"Getting Started\" guide](getting_started.md) to help new users.\n\n![NeXus Constructor](resources/images/main_pic.png)\n\nAlthough the application may be useful to other institutions using NeXus, the NeXus Constructor is being\ndeveloped as part of the software suite for the\n[European Spallation Source (ESS)](https://europeanspallationsource.se/). Please see\n[this (open access) paper](https://iopscience.iop.org/article/10.1088/1748-0221/13/10/T10001)\nfor more information on the ESS software.\n\nThe NeXus Constructor should work on MacOS, Linux and Windows; however, none of the current developers use Windows, so occasionally there are issues on Windows - if you find one then please let us know!\n\n### Installing dependencies\n\nBinary packages for release versions can be downloaded on the [releases page](https://github.com/ess-dmsc/nexus-constructor/releases),\nor to run the latest development version please follow the instructions below.\n\nPython 3.8 or greater is required. https://www.python.org/downloads/\n\nIt is **HIGHLY** recommended that a virtual environment is created for running the nexus-constructor.\n\nRuntime Python dependencies are listed in requirements.txt at the root of the\nrepository. They can be installed from a terminal by running\n```\npip install -r requirements.txt\n```\nFor MacOS Ventura, it is currently necessary to install libomp manually, e.g. via brew, MacPorts, etc.\n\n### Usage\n\nRun the Python script `nexus-constructor.py` located in the root of the repository.\n\nA guide for getting started with the nexus-constructor can be found [here](getting_started.md)\n\n## Developer information\n\n### Development dependencies\n\nDevelopment dependencies (including all runtime dependencies) can be installed by using the following command\n\n```\npip install -r requirements-dev.txt\n```\n\nInstall the pre-commit hooks by running the following command\n\n```\npre-commit install\n```\n\nNow when a commit is made, the hooks will be run automatically.\n\nFor more information on pre-commit see the [official documentation](https://pre-commit.com)\n\n### Developer Documentation\n\nSee the [Wiki](https://github.com/ess-dmsc/nexus-constructor/wiki/Developer-Notes) for developer documentation.\n\n## Contributing\n\n### The project\nThe project is managed on the ESS's JIRA system which is [here](https://jira.esss.lu.se/browse/ECDC).\n\nIf you do not have an ESS account but want to raise an issue then please open an issue on the repository. Someone will\ntriage it and link it from the JIRA system.\n\n### Pull requests\nPull requests are very welcome and should be done through GitHub in the standard way.\n\n### Code\n\nIf you are submitting code then please ensure it passes the pre-commit checks (see above).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fess-dmsc%2Fnexus-constructor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fess-dmsc%2Fnexus-constructor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fess-dmsc%2Fnexus-constructor/lists"}