{"id":32641606,"url":"https://github.com/ryanhz/osdp-python","last_synced_at":"2025-10-31T02:59:49.955Z","repository":{"id":50684187,"uuid":"222364146","full_name":"ryanhz/osdp-python","owner":"ryanhz","description":"A Python control panel implementation of the Open Supervised Device Protocol (OSDP)","archived":false,"fork":false,"pushed_at":"2020-10-29T06:29:30.000Z","size":146,"stargazers_count":39,"open_issues_count":4,"forks_count":10,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-09-28T23:15:26.897Z","etag":null,"topics":["access-control","osdp","osdp-python","protocol","python-framework"],"latest_commit_sha":null,"homepage":"","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/ryanhz.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-11-18T04:34:05.000Z","updated_at":"2025-05-28T14:24:55.000Z","dependencies_parsed_at":"2022-08-31T23:02:04.855Z","dependency_job_id":null,"html_url":"https://github.com/ryanhz/osdp-python","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/ryanhz/osdp-python","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanhz%2Fosdp-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanhz%2Fosdp-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanhz%2Fosdp-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanhz%2Fosdp-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ryanhz","download_url":"https://codeload.github.com/ryanhz/osdp-python/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanhz%2Fosdp-python/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281920155,"owners_count":26583946,"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","status":"online","status_checked_at":"2025-10-31T02:00:07.401Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["access-control","osdp","osdp-python","protocol","python-framework"],"created_at":"2025-10-31T02:58:16.245Z","updated_at":"2025-10-31T02:59:49.945Z","avatar_url":"https://github.com/ryanhz.png","language":"Python","readme":"===========\nOSDP Python\n===========\n\nOSDP Python is a python framework implementation of the Open Supervised Device Protocol (OSDP). This protocol has been adopted by the Security Industry Association(SIA) to standardize communication to access control hardware. Further information can be found at  `http://www.osdp-connect.com \u003chttp://www.osdp-connect.com\u003e`_.\n\nThis project is highly inspired by @bytedreamer's `OSDP.Net \u003chttps://github.com/bytedreamer/OSDP.Net\u003e`\n\n\nLicense\n-------\n - Apache\n\nQuick Start\n-----------\n\nInstallation\n------------\n\nTo install OSDP, use `pip3 \u003chttps://pip.pypa.io/en/stable/quickstart/\u003e`_ or `pipenv \u003chttps://docs.pipenv.org/en/latest/\u003e`_:\n\n.. code-block:: console\n\n    $ pip3 install -U osdp\n\nThis module depends on\n\n - pycryptodome\n - pyserial\n\n\nExample Usage\n~~~~~~~~~~~~~\n\n.. code-block:: python\n\n    \u003e\u003e\u003e from osdp import *\n    \u003e\u003e\u003e conn = SerialPortOsdpConnection(port='/dev/tty.wchusbserial1420', baud_rate=9600)\n    \u003e\u003e\u003e cp = ControlPanel()\n    \u003e\u003e\u003e bus_id = cp.start_connection(conn)\n    \u003e\u003e\u003e cp.add_device(connection_id=bus_id, address=0x7F, use_crc=True, use_secure_channel=False)\n    \u003e\u003e\u003e id_report = cp.id_report(connection_id=bus_id, address=0x7F)\n    \u003e\u003e\u003e device_capabilities = cp.device_capabilities(connection_id=bus_id, address=0x7F)\n    \u003e\u003e\u003e local_status = cp.local_status(connection_id=bus_id, address=0x7F)\n    \u003e\u003e\u003e input_status = cp.input_status(connection_id=bus_id, address=0x7F)\n    \u003e\u003e\u003e output_status = cp.output_status(connection_id=bus_id, address=0x7F)\n    \u003e\u003e\u003e cp.shutdown()\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryanhz%2Fosdp-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fryanhz%2Fosdp-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryanhz%2Fosdp-python/lists"}