{"id":25895397,"url":"https://github.com/diamondlightsource/rtc6-fastcs","last_synced_at":"2025-03-02T22:31:09.515Z","repository":{"id":261637153,"uuid":"884896021","full_name":"DiamondLightSource/rtc6-fastcs","owner":"DiamondLightSource","description":"FastCS IOC for the ScanLab RTC6 Ethernet laser controller","archived":false,"fork":false,"pushed_at":"2025-02-25T15:05:50.000Z","size":2870,"stargazers_count":3,"open_issues_count":10,"forks_count":0,"subscribers_count":28,"default_branch":"main","last_synced_at":"2025-02-25T15:41:46.042Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DiamondLightSource.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/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,"publiccode":null,"codemeta":null}},"created_at":"2024-11-07T15:25:54.000Z","updated_at":"2025-02-25T15:05:54.000Z","dependencies_parsed_at":"2025-02-03T15:20:51.734Z","dependency_job_id":"85533de7-39cd-462b-a93f-44c63531364f","html_url":"https://github.com/DiamondLightSource/rtc6-fastcs","commit_stats":null,"previous_names":["dperl-dls/rtc6-fastcs","diamondlightsource/rtc6-fastcs"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiamondLightSource%2Frtc6-fastcs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiamondLightSource%2Frtc6-fastcs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiamondLightSource%2Frtc6-fastcs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiamondLightSource%2Frtc6-fastcs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DiamondLightSource","download_url":"https://codeload.github.com/DiamondLightSource/rtc6-fastcs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241582512,"owners_count":19985845,"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":[],"created_at":"2025-03-02T22:31:08.902Z","updated_at":"2025-03-02T22:31:09.494Z","avatar_url":"https://github.com/DiamondLightSource.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![CI](https://github.com/dperl-dls/rtc6-fastcs/actions/workflows/ci.yml/badge.svg)](https://github.com/dperl-dls/rtc6-fastcs/actions/workflows/ci.yml)\n[![Coverage](https://codecov.io/gh/dperl-dls/rtc6-fastcs/branch/main/graph/badge.svg)](https://codecov.io/gh/dperl-dls/rtc6-fastcs)\n\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)\n\n# rtc6_fastcs\n\nFastCS IOC for the ScanLab RTC6 Ethernet laser controller\n\nSource          | \u003chttps://github.com/dperl-dls/rtc6-fastcs\u003e\n:---:           | :---:\nDocker          | `docker run ghcr.io/dperl-dls/rtc6-fastcs:latest`\nReleases        | \u003chttps://github.com/dperl-dls/rtc6-fastcs/releases\u003e\n\n# updating the bindings module\n\nTo update the bindings, in the devcontainer and with the virtual env activated, execute:\n\n```bash\ncd src/rtc6_fastcs/bindings\nmkdir build # if necessary\ncd build\ncmake ..\nmake\ncd ../../../..\npybind11-stubgen rtc6_fastcs.bindings.rtc6_bindings -o src\nruff format .\n```\n\n# developing in the container over ssh\n\nAt diamond the default devcontainer settings result in some permission issues when run over ssh, but you can build the container and develop in it manually\n\nmanually build the container with `podman build -t rtc6-fastcs-dev --target=developer .`\nand run it with `podman run -it --net=host --security-opt=label=disable --mount=type=bind,source=/scratch/\u003cfedID\u003e/rtc6-fastcs/,destination=/workspace rtc6-fastcs-dev`\nthen connect vscode to the laser lab workstation with `remote:ssh` and attach to the running container from the `remote:containers` view\nthe first time for a running container you will need to install the relevant extensions, run `pip install -e .[dev]`, and `rtc6-fastcs install-library` or the `install-library.sh` script from the repo\nwhen everything is set up, `test_connect()` from `test_bindings.py` should pass, and `./rebuild_bindings.sh` should execute cleanly\n\nyou may need/want to add the following to the C++ extension include path for better IDE support:\n```\n${workspaceFolder}/**\n/venv/lib/python3.11/site-packages/pybind11/include/\n/usr/include/python3.11\n/usr/include\n```\n\n# notes\n\n- fastcs doesn't completely work for python 3.12 but fails silently so this project will need to be moved to 3.11\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiamondlightsource%2Frtc6-fastcs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdiamondlightsource%2Frtc6-fastcs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiamondlightsource%2Frtc6-fastcs/lists"}