{"id":37507981,"url":"https://github.com/ldmx-software/ldmx-sw","last_synced_at":"2026-02-13T02:21:24.361Z","repository":{"id":10786209,"uuid":"66979378","full_name":"LDMX-Software/ldmx-sw","owner":"LDMX-Software","description":"The Light Dark Matter eXperiment simulation and reconstruction framework.","archived":false,"fork":false,"pushed_at":"2026-01-12T21:22:17.000Z","size":92385,"stargazers_count":26,"open_issues_count":96,"forks_count":23,"subscribers_count":22,"default_branch":"trunk","last_synced_at":"2026-01-12T22:55:10.476Z","etag":null,"topics":["cpp17","dark-matter","dark-sector","geant4","hep","ldmx-sw","reconstruction","simulation"],"latest_commit_sha":null,"homepage":"https://ldmx-software.github.io","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LDMX-Software.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2016-08-30T21:31:55.000Z","updated_at":"2026-01-12T21:22:21.000Z","dependencies_parsed_at":"2023-10-10T20:12:28.270Z","dependency_job_id":"6c84e519-53cf-4f51-b792-ef57872a0eaf","html_url":"https://github.com/LDMX-Software/ldmx-sw","commit_stats":null,"previous_names":[],"tags_count":133,"template":false,"template_full_name":null,"purl":"pkg:github/LDMX-Software/ldmx-sw","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LDMX-Software%2Fldmx-sw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LDMX-Software%2Fldmx-sw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LDMX-Software%2Fldmx-sw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LDMX-Software%2Fldmx-sw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LDMX-Software","download_url":"https://codeload.github.com/LDMX-Software/ldmx-sw/tar.gz/refs/heads/trunk","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LDMX-Software%2Fldmx-sw/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28478047,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T06:30:42.265Z","status":"ssl_error","status_checked_at":"2026-01-16T06:30:16.248Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["cpp17","dark-matter","dark-sector","geant4","hep","ldmx-sw","reconstruction","simulation"],"created_at":"2026-01-16T08:00:02.938Z","updated_at":"2026-01-16T08:00:03.214Z","avatar_url":"https://github.com/LDMX-Software.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://github.com/LDMX-Software/logo/releases/download/2025.05.22/ldmx-sw.png\" width=\"500\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    Simulation and reconstruction framework for the Light Dark Matter eXperiment.  \n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"http://perso.crans.org/besson/LICENSE.html\" alt=\"GPLv3 license\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/License-GPLv3-blue.svg\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/LDMX-Software/ldmx-sw/actions/workflows/build_production_image.yml\" alt=\"Build Production Image\"\u003e\n        \u003cimg src=\"https://github.com/LDMX-Software/ldmx-sw/actions/workflows/build_production_image.yml/badge.svg\"/\u003e\n    \u003c/a\u003e\n    \u003cimg src=\"https://github.com/LDMX-Software/ldmx-sw/actions/workflows/basic_test.yml/badge.svg\" /\u003e\n\u003c/p\u003e\n\n## Start Up\nldmx-sw is a large software project and so it is helpful to separate _using_ it to\nperform physics studies from _developing_ it to fix/improve/enable other studies.\nIn both cases, we use containers to share a fixed software environment, so everyone\nwill need a method for running these containers.\n\n- [Install the docker engine](https://docs.docker.com/engine/install/)\n  - Only necessary on personal computers. Shared computing clusters should have `apptainer` installed.\n  - (on Linux personal computers) [Manage docker as non-root user](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user)\n- [Install `denv`](https://tomeichlersmith.github.io/denv/getting_started.html#installation)\n```\ncurl -s https://tomeichlersmith.github.io/denv/install | sh\n```\nSome folks may see an error about something not being within your `PATH`,\nyou just need to update your shell's configuration to look for `denv` within\nthat directory.\nA program being \"in your `PATH`\" can be checked by making sure your shell\ncan find it.\n```\ndenv help\n```\nThe above should printout a help message instead of a \"command not found\"\nmessage.\n\n### Using\n\"Using\" ldmx-sw refers to running simulations and other processors that\nare already written. If you want to change the ldmx-sw C++, you will need\nto see the \"Developing\" instructions below.\n\nIn order to use ldmx-sw, no more dependencies are required!\nSimply choose the version of ldmx-sw you wish to use with your project.\n```\nmkdir my-project\ncd my-project\ndenv init ldmx/pro:v4.0.1 # or some other ldmx-sw version\n```\nAnd then you can run ldmx-sw with a configuration script of your choice.\n```\ndenv fire my-config.py\n```\nMore detail on configuration scripts and analyzing the output files\nis given in the first section of the [online manual](ldmx-software.github.io).\n\n### Developing\nFor development, we use a few more tools to help track our changes and share commands\nthat we use regularly.\n\n\u003e [!WARNING]\n\u003e If you are on Windows, make sure to install these tools _inside_ WSL where `docker`\n\u003e will be run and ldmx-sw will be developed. Since WSL is often a virtual Ubuntu machine,\n\u003e following the instructions for Ubuntu or Linux can be appropriate.\n\n- Make sure `git` is installed.\n  - `git` is a very common tool used by software developers and so it may already be available.\n  - (on MacOS systems) Make sure `git lfs` is installed. (Test: `git lfs` prints out a help message instead of an error about `lfs` not being found.) The default installation of `git` that is included with Apple's developer tools does not include `git lfs` which is required by acts to download and unpack one of its own submodules. [GitHub has a nice tutorial](https://docs.github.com/en/repositories/working-with-files/managing-large-files/installing-git-large-file-storage?platform=mac) on how to install `git lfs` on MacOS.\n- [Install `just`](https://just.systems/man/en/chapter_5.html)\n  - This tool is not required but it is highly encouraged. The recipes we share via the [justfile](justfile) can be run without `just` but are longer to type.\n\nOne can install `just` in a similar way to `denv`. Below is an example where the\ndestination directory is set to the same one as the default for `denv` (`~/.local/bin`).\n```\ncurl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh |\\\n  bash -s -- --to ~/.local/bin\n```\nOther [package manager options](https://just.systems/man/en/chapter_4.html) are available\nas well.\nYou will probably want to make sure `just`'s tab complete is available.\nIf you press `just -\u003cTab\u003e\u003cTab\u003e` and nothing is listed, then the tab complete is\nnot present and you must manually install it.\nThis can be accomplished by including its completions within your shell's\nconfiguration script. For example, in `bash`, we would add the following\nto your `~/.bashrc` file.\n```\neval \"$(just --completions bash)\"\n```\nIf you are not in `bash`, look to your shell's documentation on where to place\nthis line. `just` supports many popular shells including `bash`, `zsh`, and `fish`.\n\nWith these additional tools, developers can clone the repository and start development.\n```\ngit clone --recursive git@github.com:LDMX-Software/ldmx-sw.git\n```\n\n\u003e [!NOTE]\n\u003e You need to [setup an SSH-key with your GitHub account](https://docs.github.com/en/authentication/connecting-to-github-with-ssh) on the computer you are using.\n\n```\ncd ldmx-sw\njust # no arguments prints out the possible options\njust init # initialize a new development environment (once per clone)\njust compile #configure and build ldmx-sw\njust test # then test it\n```\n\n## Contributors\n\n\u003ca href=\"https://github.com/LDMX-Software/ldmx-sw/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contributors-img.web.app/image?repo=LDMX-Software/ldmx-sw\" /\u003e\n\u003c/a\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fldmx-software%2Fldmx-sw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fldmx-software%2Fldmx-sw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fldmx-software%2Fldmx-sw/lists"}