{"id":13577451,"url":"https://github.com/michaelrsweet/pappl","last_synced_at":"2025-05-16T11:05:45.671Z","repository":{"id":40178031,"uuid":"243025018","full_name":"michaelrsweet/pappl","owner":"michaelrsweet","description":"PAPPL - Printer Application Framework","archived":false,"fork":false,"pushed_at":"2025-04-16T21:10:58.000Z","size":12633,"stargazers_count":322,"open_issues_count":22,"forks_count":54,"subscribers_count":24,"default_branch":"master","last_synced_at":"2025-05-13T02:06:54.570Z","etag":null,"topics":["airprint","apple-raster","c","cups","ipp","ippeverywhere","jpeg","png","pwg-raster"],"latest_commit_sha":null,"homepage":"https://www.msweet.org/pappl","language":"C","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/michaelrsweet.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"michaelrsweet","liberapay":"michaelrsweet"}},"created_at":"2020-02-25T14:50:23.000Z","updated_at":"2025-04-28T16:37:47.000Z","dependencies_parsed_at":"2024-01-02T19:38:46.305Z","dependency_job_id":"62d4978c-5918-4817-956d-154fbc6bdb37","html_url":"https://github.com/michaelrsweet/pappl","commit_stats":{"total_commits":1270,"total_committers":18,"mean_commits":70.55555555555556,"dds":"0.21259842519685035","last_synced_commit":"14d30572e6b1c0862439671d113f5165b190c71d"},"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelrsweet%2Fpappl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelrsweet%2Fpappl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelrsweet%2Fpappl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelrsweet%2Fpappl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaelrsweet","download_url":"https://codeload.github.com/michaelrsweet/pappl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254518384,"owners_count":22084374,"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":["airprint","apple-raster","c","cups","ipp","ippeverywhere","jpeg","png","pwg-raster"],"created_at":"2024-08-01T15:01:21.584Z","updated_at":"2025-05-16T11:05:40.664Z","avatar_url":"https://github.com/michaelrsweet.png","language":"C","funding_links":["https://github.com/sponsors/michaelrsweet","https://liberapay.com/michaelrsweet"],"categories":["C"],"sub_categories":[],"readme":"PAPPL - Printer Application Framework\n=====================================\n\n![Version](https://img.shields.io/github/v/release/michaelrsweet/pappl?include_prereleases)\n![Apache 2.0](https://img.shields.io/github/license/michaelrsweet/pappl)\n![Build](https://github.com/michaelrsweet/pappl/workflows/Build/badge.svg)\n[![Coverity Scan Status](https://img.shields.io/coverity/scan/22385.svg)](https://scan.coverity.com/projects/michaelrsweet-pappl)\n\nPAPPL is a simple C-based framework/library for developing CUPS Printer\nApplications, which are the recommended replacement for printer drivers.  It\nwas specifically developed to support [LPrint][1] and a future [Gutenprint][2]\nPrinter Application but is sufficiently general purpose to support any kind of\nprinter or driver that can be used on desktops, servers, and in embedded\nenvironments.\n\nPAPPL supports JPEG, PNG, PWG Raster, Apple Raster, and \"raw\" printing to\nprinters connected via USB and network (AppSocket/JetDirect) connections.\nPAPPL provides an embedded [IPP Everywhere™][3] service that provides access\nto printers locally or on your whole network.\n\nPAPPL is licensed under the Apache License Version 2.0 with an exception\nto allow linking against GPL2/LGPL2 software (like older versions of CUPS),\nso it can be used freely in any project you'd like.  If you want to support\nthe development of this framework financially, please consider sponsoring me\nthrough [Github][4].  I am also available to do consulting and/or development\nthrough my company Lakeside Robotics (\u003chttps://www.lakesiderobotics.ca\u003e).\n\nPAPPL is helping to accelerate the adoption of IPP Everywhere™ and is making it\neasier for developers to support other IPP-based licensing programs like\n[AirPrint™][5] and [Mopria®][6].\n\n\nRequirements\n------------\n\nPAPPL requires Microsoft® Windows® 10 or higher or a POSIX-compliant host\noperating system such as Linux®, macOS®, QNX®, or VxWorks®.  On Windows, the\nprovided project files require Visual Studio 2019 or higher.  For POSIX hosts,\na \"make\" utility that supports the `include` directive (like GNU make), a\nC99-compatible C compiler such as GCC or Clang, and the \"pkg-config\" utility\nare required along with the following support libraries:\n\n- Avahi (0.8 or later) or mDNSResponder for mDNS/DNS-SD support\n- libcups (3.0 or later) or CUPS (2.5 or later) for the CUPS libraries\n- GNU TLS (3.0 or later), LibreSSL (3.0 or later), or OpenSSL (1.1 or later)\n  for TLS support\n- JPEGLIB (8 or later) or libjpeg-turbo (2.0 or later) for JPEG image support\n  (optional for B\u0026W printers)\n- LIBPNG (1.6 or later) for PNG image support (optional)\n- LIBPAM for authentication support (optional)\n- LIBUSB (1.0 or later) for USB printing support (optional)\n- ZLIB (1.1 or later) for compression support\n\nMost development happens on Intel and Apple Silicon Macs, with testing on\nvarious Linux distributions, Windows 10+, and a [Raspberry Pi Zero W][7] to\nensure that memory and CPU requirements remain low.\n\n\nDocumentation and Examples\n--------------------------\n\nDocumentation can be found in the \"doc\" and \"man\" directories.\n\nThe OpenPrinting group has [written a tutorial][8] showing how to migrate the\n`rastertohp` driver from CUPS to a Printer Application using PAPPL, which can\nbe used as a recipe for migrating any CUPS driver.  This example is available\nin the [hp-printer-app][9] project and is also discussed in the PAPPL\ndocumentation.\n\nThe OpenPrinting group has also developed a [PostScript printer application][10]\nusing PAPPL to support the many otherwise unsupported PostScript and\nGhostscript-based printers.\n\n\nContributing Code and Translations\n----------------------------------\n\nCode contributions should be submitted as pull requests on the Github site:\n\n    http://github.com/michaelrsweet/pappl/pulls\n\nSee the file \"CONTRIBUTING.md\" for more details.\n\nPAPPL uses [Weblate][11] to manage the localization of the web interface and\nIPP attributes and values shared by all printer applications, and those likewise\nend up as pull requests on Github.\n\n\nLegal Stuff\n-----------\n\nPAPPL is Copyright © 2019-2025 by Michael R Sweet.\n\nThis software is licensed under the Apache License Version 2.0 with an\n(optional) exception to allow linking against GPL2/LGPL2 software (like older\nversions of CUPS).  See the files \"LICENSE\" and \"NOTICE\" for more information.\n\nThis software is based loosely on the \"ippeveprinter.c\" code from [CUPS][12].\n\n\n[1]: https://github.com/michaelrsweet/lprint\n[2]: http://gutenprint.sf.net/\n[3]: https://www.pwg.org/ipp/everywhere.html\n[4]: https://github.com/sponsors/michaelrsweet\n[5]: https://support.apple.com/en-us/HT201311\n[6]: https://mopria.org/\n[7]: https://www.raspberrypi.org/products/raspberry-pi-zero-w/\n[8]: https://openprinting.github.io/documentation/02-designing-printer-drivers/\n[9]: https://github.com/michaelrsweet/hp-printer-app\n[10]: https://github.com/openprinting/ps-printer-app\n[11]: https://hosted.weblate.org\n[12]: https://openprinting.github.io/cups\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaelrsweet%2Fpappl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichaelrsweet%2Fpappl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaelrsweet%2Fpappl/lists"}