{"id":24186554,"url":"https://github.com/kylesayrs/atak_push_cots","last_synced_at":"2025-07-05T02:06:55.937Z","repository":{"id":100686181,"uuid":"338626873","full_name":"kylesayrs/ATAK_push_cots","owner":"kylesayrs","description":"Push Cursor on Target messages to TAK clients with attachments and other information","archived":false,"fork":false,"pushed_at":"2025-06-10T20:01:48.000Z","size":104,"stargazers_count":48,"open_issues_count":0,"forks_count":10,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-06-10T21:20:40.557Z","etag":null,"topics":["android","atak","civtak","wintak"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kylesayrs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2021-02-13T17:17:31.000Z","updated_at":"2025-06-10T20:01:51.000Z","dependencies_parsed_at":"2024-04-20T21:32:44.608Z","dependency_job_id":"137d8d97-4132-46b7-a95d-ff4bc2fc107b","html_url":"https://github.com/kylesayrs/ATAK_push_cots","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/kylesayrs/ATAK_push_cots","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kylesayrs%2FATAK_push_cots","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kylesayrs%2FATAK_push_cots/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kylesayrs%2FATAK_push_cots/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kylesayrs%2FATAK_push_cots/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kylesayrs","download_url":"https://codeload.github.com/kylesayrs/ATAK_push_cots/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kylesayrs%2FATAK_push_cots/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263649183,"owners_count":23494007,"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":["android","atak","civtak","wintak"],"created_at":"2025-01-13T12:36:03.548Z","updated_at":"2025-07-05T02:06:55.909Z","avatar_url":"https://github.com/kylesayrs.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ATAK_push_cots\nPush Cursor on Target messages to TAK clients with attachments and other information without requiring a TAK server.\n\n\u003cp align=\"center\"\u003e\n\u003cimg width=\"15%\" src=\"assets/tak-logo.png\" alt=\"ATAK\"/\u003e\n\u003c/p\u003e\n\n\n## Background ##\nThe Android Tactical Awareness Kit (ATAK) is a software platform used to enable geospatial awareness and multiuser collaboration. ATAK was originally developed by the Air Force Research Laboratory (AFRL) and is now maintained by the TAK Product Center (TPC) as a civilian application. This package exists to allow the easy sharing of markers (CoTs) to users of ATAK and other CivTAK distributions exist such as iTAK (iOS) and WinTAK (Windows).\n\nA summary of the cursor on target schema (CoT) can be found [here](https://www.mitre.org/sites/default/files/pdf/09_4937.pdf).\n\nFor troubleshooting, create an issue or ask on the [reddit](https://www.reddit.com/r/ATAK/wiki/index) or [discord](https://discord.com/invite/xTdEcpc).\n\n\n## Install ##\n```bash\ngit clone https://github.com/kylesayrs/ATAK_push_cots\ncd ATAK_push_cots\npython3 -m pip install -e .\n```\n\n\n## Usage ##\nPushing a standard CoT message can be done using the `push_cot` function\n```python\nfrom atakcots import CotConfig, push_cot\n\ncot_config = CotConfig(\n    uid=\"Message\",\n    latitude=40.74931973338903,\n    longitude=-73.96791282024928\n)\n    \npush_cot(cot_config, \"192.168.0.2\")\n```\n\nPushing CoTs which include attachments such as images must be done using `CotServer.push_cot`\n```python\nfrom atakcots import CotConfig, CotServer\n\ncot_config = CotConfig(\n    uid=\"Message\",\n    latitude=40.74931973338903,\n    longitude=-73.96791282024928,\n    attachment_paths=\"sandeot.png\"\n)\n    \nwith CotServer(\"192.168.0.1\", 8000) as server:\n    server.push_cot(cot_config, \"192.168.0.2\")\n    server.push_cot(cot_config, \"192.168.0.3\")\n    server.push_cot(cot_config, \"192.168.0.4\")\n\n    # you should keep the context alive for as long as\n    # you want clients to fetch the attachments\n```\n\nIf you'd rather not use a context manager, you can use `start` and `stop` functions\n```python\nfrom atakcots import CotConfig, CotServer\n\ncot_config = CotConfig(\n    uid=\"Message\",\n    latitude=40.74931973338903,\n    longitude=-73.96791282024928,\n    attachment_paths=\"sandeot.png\"\n)\n\nserver = CotServer(\"192.168.0.1\", 8000)\nserver.start()\n\nserver.push_cot(cot_config, \"192.168.0.2\")\nserver.push_cot(cot_config, \"192.168.0.3\")\nserver.push_cot(cot_config, \"192.168.0.4\")\n\n# stop when clients no longer need to fetch attachments\nserver.stop()\n```\n\nSee `examples` for more use cases.\n\n## Feature requests ##\nIf you have any features or changes you'd like added to this repo, please create an issue and I'll make sure to implement/address it.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkylesayrs%2Fatak_push_cots","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkylesayrs%2Fatak_push_cots","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkylesayrs%2Fatak_push_cots/lists"}