{"id":13586391,"url":"https://github.com/hpfeeds/hpfeeds","last_synced_at":"2026-01-18T00:40:45.246Z","repository":{"id":53496562,"uuid":"1567542","full_name":"hpfeeds/hpfeeds","owner":"hpfeeds","description":"Honeynet Project generic authenticated datafeed protocol","archived":false,"fork":false,"pushed_at":"2023-10-19T14:20:27.000Z","size":998,"stargazers_count":208,"open_issues_count":6,"forks_count":110,"subscribers_count":30,"default_branch":"master","last_synced_at":"2024-05-23T03:19:30.037Z","etag":null,"topics":["hpfeeds","python3"],"latest_commit_sha":null,"homepage":"https://github.com/hpfeeds/hpfeeds","language":"Python","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/hpfeeds.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}},"created_at":"2011-04-04T15:19:40.000Z","updated_at":"2024-04-08T02:49:26.000Z","dependencies_parsed_at":"2022-09-16T06:23:26.687Z","dependency_job_id":"626048d8-c86a-49c4-89f5-6a24c4234153","html_url":"https://github.com/hpfeeds/hpfeeds","commit_stats":{"total_commits":372,"total_committers":24,"mean_commits":15.5,"dds":0.3951612903225806,"last_synced_commit":"539e738d7831ea6a246116acd4f2268ce7c0ef49"},"previous_names":["rep/hpfeeds"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hpfeeds%2Fhpfeeds","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hpfeeds%2Fhpfeeds/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hpfeeds%2Fhpfeeds/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hpfeeds%2Fhpfeeds/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hpfeeds","download_url":"https://codeload.github.com/hpfeeds/hpfeeds/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223285409,"owners_count":17119898,"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":["hpfeeds","python3"],"created_at":"2024-08-01T15:05:32.263Z","updated_at":"2026-01-18T00:40:45.233Z","avatar_url":"https://github.com/hpfeeds.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# hpfeeds\n\n[![PyPI](https://img.shields.io/pypi/v/hpfeeds.svg)](https://pypi.python.org/pypi/hpfeeds)\n[![Codecov](https://img.shields.io/codecov/c/github/hpfeeds/hpfeeds.svg)](https://codecov.io/gh/hpfeeds/hpfeeds)\n[![Read the Docs](https://readthedocs.org/projects/hpfeeds/badge/?version=latest)](https://hpfeeds.readthedocs.io/en/latest/?badge=latest)\n\n## About\n\nhpfeeds is a lightweight authenticated publish-subscribe protocol. It has a simple wire-format so that everyone is able to subscribe to the feeds with their favorite language in almost no time. Different feeds are separated by channels and support arbitrary binary payloads. This means that the channel users decide the structure of data. It is common to pass JSON over hpfeeds.\n\nThis project aims to deliver a modern python 3 compatible broker written on top of asyncio as well as a python 3 compatible client.\n\n## Installation\n\nThe core client does not have any dependencies. You can install it with with `pip`.\n\n```bash\npip install hpfeeds\n```\n\nYou can run a command line tail of a hpfeeds channel with the command line:\n\n```bash\nhpfeeds subscribe --host localhost -p 10000 -i myident -s mysecret -c mychannel\n```\n\nYou can also publish a single event too:\n\n```bash\nhpfeeds publish --host localhost -p 10000 -i myident -s mysecret -c mychannel '{\"event\": \"ping\"}'\n```\n\nYou can install the broker dependencies with pip too:\n\n```bash\npip install hpfeeds[broker]\n```\n\nYou can also run a broker with Docker:\n\n```\ndocker run -p \"0.0.0.0:20000:20000\" -p \"0.0.0.0:9431:9431\" hpfeeds/hpfeeds-broker:latest\n```\n\nIt will store access keys in an sqlite database in `/app/var`. The `sqlite` client installed in the container for managing access. You should make sure `/app/var` is a volume. Your clients can connect to port `20000`, and prometheus can connect on port `9431`.\n\nMore detailed documentation is available at https://python.hpfeeds.org.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhpfeeds%2Fhpfeeds","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhpfeeds%2Fhpfeeds","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhpfeeds%2Fhpfeeds/lists"}