{"id":37084509,"url":"https://github.com/pcdshub/ads-deploy","last_synced_at":"2026-01-14T10:21:37.613Z","repository":{"id":35826382,"uuid":"204749742","full_name":"pcdshub/ads-deploy","owner":"pcdshub","description":"[Conda/Docker] TwinCAT ADS IOC + pytmc + related tools for deploying projects on Windows","archived":false,"fork":false,"pushed_at":"2025-12-13T03:00:13.000Z","size":193,"stargazers_count":3,"open_issues_count":9,"forks_count":8,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-12-21T23:52:35.336Z","etag":null,"topics":["ads-ioc","docker","epics","linux","python","visual-studio"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pcdshub.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}},"created_at":"2019-08-27T16:58:52.000Z","updated_at":"2025-12-13T03:00:17.000Z","dependencies_parsed_at":"2024-11-13T16:52:16.230Z","dependency_job_id":null,"html_url":"https://github.com/pcdshub/ads-deploy","commit_stats":{"total_commits":129,"total_committers":4,"mean_commits":32.25,"dds":"0.054263565891472854","last_synced_commit":"2b7eb1a1e2e97bef36bceedea2b1a17f7796a926"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/pcdshub/ads-deploy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pcdshub%2Fads-deploy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pcdshub%2Fads-deploy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pcdshub%2Fads-deploy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pcdshub%2Fads-deploy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pcdshub","download_url":"https://codeload.github.com/pcdshub/ads-deploy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pcdshub%2Fads-deploy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28416968,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T10:18:03.274Z","status":"ssl_error","status_checked_at":"2026-01-14T10:16:11.865Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["ads-ioc","docker","epics","linux","python","visual-studio"],"created_at":"2026-01-14T10:21:36.879Z","updated_at":"2026-01-14T10:21:37.601Z","avatar_url":"https://github.com/pcdshub.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"ads-deploy docker image + tools\n===============================\n\nads-deploy bridges the gap between your PLC project in TwinCAT XAE + Visual Studio and the\nPython/EPICS tools we use for development and deployment ([PyTMC](https://github.com/slaclab/pytmc),\n[ads-ioc](https://github.com/pcdshub/ads-ioc)) by providing a full EPICS and Python environment\nin a containerized Docker image.\n\nFeatures\n========\n\n* pytmc pragma linting / verification\n* Build and run ads-based EPICS IOCs directly from Windows\n* Generate batch files to run the IOC outside of Visual Studio\n* Auto-generate and run simple Typhon screens directly from Windows\n* No need to transfer your project and files to a Linux machine just to generate the IOC\n\nInstallation\n============\n\n**Note: this is partly outdated - Docker is no longer required and conda may be used in place of it**\n\nStep-by-step notes are available here:\nhttps://confluence.slac.stanford.edu/display/PCDS/Installing+ads-deploy+on+Windows\n\nUsing just the Docker container is simple on all platforms. Run the following to check it out:\n\nWindows\n```sh\nC:\\\u003e docker run -it pcdshub/ads-deploy:latest /bin/bash\n```\n\nOSX / Linux\n```sh\n$ eval $(docker-machine env)\n$ docker run -it pcdshub/ads-deploy:latest /bin/bash\n```\n\nUpdating versions\n=================\n\nSteps to update ads-deploy:\n\n1. Update ads-ioc-docker (follow its README)\n2. Tag and release pytmc (use v0.0.0 style as usual)\n3. Update the `FROM` pcdshub/ads-ioc version\n4. Update environment variables: `PYTMC_VERSION`, `ADS_IOC_VERSION`\n5. Rebuild. Match the `ADS_DEPLOY_VERSION` with the pytmc version, as it\n   tends to change the most:\n    ```\n    $ export ADS_DEPLOY_VERSION={pytmc version}\n    $ docker build -t pcdshub/ads-deploy:${ADS_DEPLOY_VERSION} .\n    $ docker build -t pcdshub/ads-deploy:latest .\n    ```\n6. Push to DockerHub\n    ```\n    $ docker push pcdshub/ads-deploy:${ADS_DEPLOY_VERSION}\n    $ docker push pcdshub/ads-deploy:latest\n    ```\n7. Commit, tag, and push to GitHub\n    ```\n    $ git tag ${ADS_DEPLOY_VERSION}\n    $ git push\n    $ git push --tags\n    ```\n\nLinks\n=====\n\n* [Docker Hub](https://hub.docker.com/r/pcdshub/ads-deploy/tags)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpcdshub%2Fads-deploy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpcdshub%2Fads-deploy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpcdshub%2Fads-deploy/lists"}