{"id":23058778,"url":"https://github.com/manatools/dnfdaemon","last_synced_at":"2025-08-15T06:33:15.953Z","repository":{"id":14813820,"uuid":"17536272","full_name":"manatools/dnfdaemon","owner":"manatools","description":"DBus daemon for doing package action with the dnf package manager","archived":false,"fork":false,"pushed_at":"2023-12-20T16:11:50.000Z","size":500,"stargazers_count":12,"open_issues_count":15,"forks_count":16,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-08-11T02:48:13.003Z","etag":null,"topics":["daemon","dbus","dnf","dnf-daemon","fedora","mageia"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/manatools.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-03-08T06:01:07.000Z","updated_at":"2022-11-30T22:18:46.000Z","dependencies_parsed_at":"2023-01-11T20:22:33.808Z","dependency_job_id":null,"html_url":"https://github.com/manatools/dnfdaemon","commit_stats":null,"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"purl":"pkg:github/manatools/dnfdaemon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manatools%2Fdnfdaemon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manatools%2Fdnfdaemon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manatools%2Fdnfdaemon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manatools%2Fdnfdaemon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/manatools","download_url":"https://codeload.github.com/manatools/dnfdaemon/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manatools%2Fdnfdaemon/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270533922,"owners_count":24602149,"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-08-15T02:00:12.559Z","response_time":110,"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":["daemon","dbus","dnf","dnf-daemon","fedora","mageia"],"created_at":"2024-12-16T02:17:36.379Z","updated_at":"2025-08-15T06:33:15.943Z","avatar_url":"https://github.com/manatools.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"dnf-daemon\n===========\n\ndnf-daemon is a 2 DBus services there make part for dnf's API available for application via DBus calls.\n\nThere is a DBus session bus service running as current user for performing readonly actions.\n\nThere is a DBus system bus service running as root for performing actions there is making changes to the system\n\nThis makes it easy to do packaging action from your application no matter what language it is written in, as long as there\nis DBus binding for it.\n\ndnf-daemon uses PolicyKit for authentication for the system service, so when you call one of the commands (as normal users) you will get a  \nPolicyKit dialog to ask for password of a privileged user like root.\n\n**dnf-daemon is still under heavy development and the API is not stable or complete yet**\n\nSource overview\n----------------\n\n    dnfdaemon/      Contains the daemon python source\n    client/         Contains the client API bindings for python 2.x \u0026 3.x\n    test/           Unit test for the daemon and python bindings\n    dbus/           DBus system service setup files\n    policykit1/     PolicyKit authentication setup files\n\n\n\nHow to install services and python bindings:\n-----------------------------------------------\n\nRun the following\n\n```\n\tgit clone ...\n\tcd dnf-daemon\n\tmake test-inst\n```\n\n\nHow to test:\n-------------\n\njust run:\n   \n    make test-verbose\n\nto run the unit test with output to console\n\nor this to just run the unit tests.\n\n    make test\n   \nTo make the daemons shutdown\n-------------------------------\n\nSession:\n\t\n\tmake exit-session\n\t\nSystem\n\t\n\tmake exit-system\n\t\nBoth\n\n    make exit-both\n   \n\nto run the daemons in debug mode from checkout:\n------------------------------------------------\n\nsession (readonly as current user)\n\n\tmake run-session\n\nsystem (as root)\n\t\n\tmake run-system\n\n\nAPI Definitions: \n====================================\n\nThe dnfdaemon api is documented [here](http://dnf-daemon.readthedocs.org/en/latest/index.html)\n\nThe API is under development, so it might change, when we hit version 1.0, API methods will be frozen and\nAPI method names, parameters and return types will not change in future releases, new API can be added,\nbut the old ones stays as is\n\n\n\nAPI Addition Checklist: \n====================================\n* Add the new API methods to dnfdaemon-system.py and optional dnfdaemon-session.py\n* Add client api method in DnfDaemonBase if it is available in both daemon\n  or in DnfDaemonClient is it is a system only api.\n* Add unit tests for the api in test/test-system-api.py and optional to test/test-system-api.py if it exists in the session api\n* Update docs/server.rst and docs/client-python.api ( add new api method to members )\n* All unit tests must pass (make test) before pushing to github\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanatools%2Fdnfdaemon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmanatools%2Fdnfdaemon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanatools%2Fdnfdaemon/lists"}