Skip to main content

CUPS print options generator from PPD

Project description

🖨 Python CUPS print options generator from PPD

📥 Installation

📦 From pip:

python -m pip install -U pycups_po

🏗 From git:

git clone https://github.com/WhiteApfel/pycups_po.git
cd pycups_po
python setup.py install

🧑‍🏫 How to use

🐍 Example

import cups

from pycups_po import PrinterOptionsGenerator
from pycups_po.models import PrinterOption

conn = cups.Connection()

generator = PrinterOptionsGenerator(conn, "CT-S2000")

ops: list[PrinterOption] = generator.get_ppd_options()
for op in ops:
    print(op)

with open("tr4500.py", "w+") as f:
    f.write(generator.generate_options_dataclass(printer_name="TR-4500"))

You can specify name of printer when init PrinterOptionsGenerator, then it will be used by default. Or you can pass name to function.

📋 Dataclasses

@dataclass
class OptionValue:
    value: str
    pretty_value: str


@dataclass
class PrinterOption:
    name: str
    type: Literal["PickOne"]
    default_value: str
    values: list[OptionValue]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pycups_po-0.0.2.tar.gz (8.2 kB view hashes)

Uploaded Source

Built Distribution

pycups_po-0.0.2-py3-none-any.whl (8.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page