{"id":19218889,"url":"https://github.com/openprinting/system-config-printer","last_synced_at":"2025-05-16T05:02:37.437Z","repository":{"id":31715832,"uuid":"35281636","full_name":"OpenPrinting/system-config-printer","owner":"OpenPrinting","description":"Graphical user interface for CUPS administration","archived":false,"fork":false,"pushed_at":"2025-03-01T13:32:39.000Z","size":46086,"stargazers_count":180,"open_issues_count":37,"forks_count":92,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-04-01T13:09:23.279Z","etag":null,"topics":[],"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/OpenPrinting.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog-OLD","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-05-08T13:44:26.000Z","updated_at":"2025-03-20T15:13:59.000Z","dependencies_parsed_at":"2023-02-12T21:31:44.274Z","dependency_job_id":"85b479ef-1e1c-419c-b1c3-a7fb95309c60","html_url":"https://github.com/OpenPrinting/system-config-printer","commit_stats":{"total_commits":6421,"total_committers":290,"mean_commits":"22.141379310344828","dds":0.6301199190157296,"last_synced_commit":"1130b2f4cc79c16c51d6bbc21f69e90642d091df"},"previous_names":[],"tags_count":184,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenPrinting%2Fsystem-config-printer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenPrinting%2Fsystem-config-printer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenPrinting%2Fsystem-config-printer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenPrinting%2Fsystem-config-printer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenPrinting","download_url":"https://codeload.github.com/OpenPrinting/system-config-printer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247867354,"owners_count":21009240,"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":[],"created_at":"2024-11-09T14:28:37.891Z","updated_at":"2025-04-08T15:04:44.071Z","avatar_url":"https://github.com/OpenPrinting.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# system-config-printer\n\nIt uses IPP to configure a CUPS server. Additionally it provides dBUS interface\nfor several operations which aren't directly available in cupsd, and automatic USB\nprinter installation daemon for non-IPP-over-USB printers.\n\nThe alternatives for the graphical configuration tool are CUPS Web\ninterface, desktop control-center or lpadmin command line tool if you need\nto install printer manually which may not be needed in recent cases.\n\nWhen I do not need printer setup tool as S-C-P?\n-----------------------------------------------\n\nIf the application where you print from has an up-to-date print dialog\n(uses the current CUPS API) and your printer is set up for driverless printing\n(has AirPrint/IPP Everywhere/IPP-over-USB support, opened port 631, lies in your local network\nand Avahi is running, IPP and mDNS is enabled in your firewall, ipp-usb is installed if\nyour printer is connected by USB), you don't to install the printer at all. The dialog\nis able to pick up the printer right before you open the dialog and it disappears\nonce you don't need it (reappearing next time you open the dialog again).\nThis appearing and disappearing printer is called CUPS temporary queue.\n\nThe devices supporting AirPrint/IPP Everywhere appear since 2010 (IPP-over-USB devices a bit later),\nso if your device was made after 2010, there is a great chance it supports the standards.\n\nFrom the dialogs I'm aware of the temporary queues are currently supported in any GTK3\nbased application (evince, gvim, gedit, firefox if you are on GNOME and choose system\ndialog for printing...) and in Libreoffice.\n\nFuture with CUPS 3.0:\n---------------------\n\nCUPS 3.0 will divide the current CUPS in several modules - command line tools, library,\nCUPS Local server and CUPS Sharing server. CUPS Local server will be designed as lightweight\nfor desktop usage, supporting only CUPS temporary queues. CUPS Sharing server will be more like\nthe current cupsd, supporting permanent driverless queues, suited for servers.\n\nsystem-config-printer is often used on desktops where will be CUPS Local server installed by default.\nSince the server will support only CUPS temporary queues, system-config-printer will need to work\nwith IPP services which are on localhost (USB devices, printer applications and permanent driverless\nqueues from CUPS Sharing server if installed as well), in local network or defined by printer profiles,\nif system-config-printer should work with CUPS 3.0.\n\nIs S-C-P required in system with CUPS 3.0?\n------------------------------------------\n\nRegarding printer setup tools OpenPrinting current plans are to integrate printer setup dialog into\ncommon print dialog, which would enable non-driverless printer installation (via printer application)\nright when user needs it - right before the printing.\n\ndBUS interface (but probably not the same methods) will be available in CUPS 3.0 project\nand since non-driverless devices are less common with time OpenPrinting group agreed there\nwon't be an automatic installation mechanism for them.\n\nSo the standalone configuration tool like system-config-printer isn't a priority in system with CUPS 3.0,\nbut it can exist together with CUPS 3.0 if updated. The next point is connected to the matter.\n\nNEW DEVELOPER OR CO-MAINTAINER WANTED:\n--------------------------------------\n\nI'm looking for a new developer or co-maintainer for system-config-printer and pycups,\nwho would update/help to update them to the current standards.\n\nIn case of system-config-printer it consists:\n- migration to GTK 4,\n- migration of dbus code because dbus-python is deprecated,\n- support for installing printer applications from various sources (.rpm, .deb, snap, flatpak),\n- support for managing IPP services instead of permanent CUPS queues.\n- implementation of unit tests and overall updating the python code to current PEPs\n\nThe project is kept in maintenance mode (accepting and testing sent patches, limited new development)\nuntil there is such a person.\n\nBuild requirements:\n-------------------\n\n- development packages for:\n  - cups\n  - gettext\n  - glib2\n  - libusb\n  - python3\n  - systemd\n- tools:\n  - autoconf\n  - autoconf-archives\n  - automake\n  - desktop-file-install\n  - intltool\n  - xmlto\n  - gcc\n  - python3-setuptools\n  - python3-build\n  \nRuntime requirements:\n---------------------\n\n- any desktop notification daemon\n- dbus-x11\n- gobject-introspection\n- gtk3\n- libnotify\n- python3-cairo\n- python3-cups\n- python3-dbus\n- python3-firewall\n- python3-gobject\n- (optional) python3-smbc\n\nHow to compile and install:\n---------------------------\n\n```\n$ ./bootstrap\n$ ./configure\n$ make\n$ sudo make install\n```\n\nHow to uninstall:\n-----------------\n\n```\n$ sudo make uninstall\n```\n\nTranslations:\n-------------\n\nTranslations are available at [Fedora Weblate](https://translate.fedoraproject.org).\nIf you want to update translations, please update it in Weblate. The Weblate then creates\nautomatic PR, which keeps upstream project and Weblate project in synch.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenprinting%2Fsystem-config-printer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenprinting%2Fsystem-config-printer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenprinting%2Fsystem-config-printer/lists"}