semvec/pypi-packages huggingface dataset:
ccaf-housekeeping-python-lib 0.2.0.0
CCAF Housekeeping Python Library
Requires Python: >=3.11.9

# Confluent Cloud for Apache Flink (CCAF) Housekeeping Python Library
The CCAF Housekeeping Python Library is a CI/CD support tool designed to automate the teardown of a Flink table and its associated Kafka resources—such as topics and schemas—along with any long-running statements linked to it. This robust automation guarantees that each deployment and test cycle is executed with exceptional consistency and reliability, paving the way for a dynamic and resilient application infrastructure.

> **Note:** _This library is in active development and is subject to change.  It covers only the methods I have needed so far.  If you need a method that is not covered, please feel free to open an issue or submit a pull request._

**Table of Contents**

<!-- toc -->
- [**1.0 Architecture**](#10-architecture)
    * [**1.1 Architecture Design Records (ADRs)**](#11-architecture-design-records-adrs)
- [**2.0 Installation**](#20-installation)
+ [**3.0 Resources**](#20-resources)
    * [**3.1 Managing Flink SQL Statements**](#31-managing-flink-sql-statements)
    * [**3.2 Other**](#32-other)
<!-- tocstop -->

## 1.0 Architecture

### 1.1 Architecture Design Records (ADRs)
* [001 Architectural Design Record (ADR):  CCAF Housekeeping Library](https://github.com/j3-signalroom/ccaf-housekeeping-python_lib/blob/main/.blog/adr_001.md)

## **2.0 Installation**
Install the Confluent Cloud for Apache Flink (CCAF) Housekeeping Python Library using **`pip`**:
```bash
pip install ccaf-housekeeping-python-lib
```

Or, using [**`uv`**](https://docs.astral.sh/uv/):
```bash
uv add ccaf-housekeeping-python-lib
```

## 3.0 Resources

### 3.1 Managing Flink SQL Statements
* [Monitor and Manage Flink SQL Statements in Confluent Cloud for Apache Flink](https://docs.confluent.io/cloud/current/flink/operate-and-deploy/monitor-statements.html#)
* [DROP TABLE Statement in Confluent Cloud for Apache Flink](https://docs.confluent.io/cloud/current/flink/reference/statements/drop-table.html#:~:text=Dropping%20a%20table%20permanently%20deletes,will%20transition%20to%20DEGRADED%20status._)

### 3.2 Other
* [Confluent Cloud Clients Python Library](https://github.com/j3-signalroom/cc-clients-python_lib)
fontpls 0.1.0
A CLI tool to download fonts used on a website
Requires Python: >=3.8

# fontpls

![Build Status](https://img.shields.io/github/actions/workflow/status/jon-becker/fontpls/tests.yml?label=Tests)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/fontpls)
![License](https://img.shields.io/github/license/jon-becker/fontpls)

## Overview

fontpls is a minimal cli tool for extracting fonts from websites written in Python.

This tool helps web developers, designers, and typographers easily extract and reuse fonts from websites with minimal effort.

## Installation

```bash
pip install fontpls
```

Or install from source:

```bash
git clone https://github.com/jon-becker/fontpls
cd fontpls
pip install -e .
```

## Usage

Basic usage:

```bash
fontpls https://example.com
```

With options:

```bash
fontpls https://example.com --output fonts --threads 8 --tags h1,p,div
```

### Options

| Option | Description |
|--------|-------------|
| `--tags` | Only include fonts used in the specified HTML tags (comma-separated) |
| `--exclude`, `-x` | Exclude fonts used in the specified tags (comma-separated) |
| `--output`, `-o` | Output font files to the specified directory |
| `--threads`, `-t` | Number of download threads to use |
| `--verbose`, `-v` | Increase verbosity level (use multiple times for more detail) |

## Output

fontpls creates a directory structure like this:

```
example-com/
├── Font1-Regular.woff2
├── Font2-Bold.woff2
├── Font3-Italic.woff2
├── fonts.css
└── index.html
```

- `fonts.css`: CSS stylesheet with @font-face declarations
- `index.html`: HTML file showcasing all downloaded fonts

## Contributing

If you'd like to contribute to fontpls, please open a pull-request with your changes, as well as detailed information on what is changed, added, or improved.

For more detailed information, see the [contributing guide](CONTRIBUTING.md)

## Issues

If you've found an issue or have a question, please open an issue [here](https://github.com/Jon-Becker/fontpls/issues). All issues must follow their respective templates.
pylexoffice 0.1.0
Python SDK for the Lexoffice API
Requires Python: >=3.10

# pylexoffice

A Python SDK for the Lexoffice API. This library provides a simple and intuitive way to interact with the Lexoffice API.

## Installation

```bash
pip install pylexoffice
```

## Quick Start

```python
from lexoffice import LexofficeClient

# Initialize the client
client = LexofficeClient(api_key="your_api_key_here")

# Create a contact
contact_data = {
    "version": 0,
    "roles": {
        "customer": {}
    },
    "company": {
        "name": "Sample Company GmbH"
    },
    "addresses": {
        "billing": [{
            "street": "Sample Street 42",
            "zip": "12345",
            "city": "Sample City",
            "countryCode": "DE"
        }]
    }
}

contact = client.contacts.create(contact_data)

# Create an invoice
invoice_data = {
    "voucherDate": "2024-02-22T00:00:00.000+01:00",
    "address": {
        "name": "Sample Company GmbH",
        "street": "Sample Street 42",
        "city": "Sample City",
        "zip": "12345",
        "countryCode": "DE"
    },
    "lineItems": [
        {
            "type": "custom",
            "name": "Product A",
            "quantity": 1,
            "unitName": "Piece",
            "unitPrice": {
                "currency": "EUR",
                "netAmount": 100,
                "taxRatePercentage": 19
            }
        }
    ],
    "totalPrice": {
        "currency": "EUR"
    },
    "taxConditions": {
        "taxType": "net"
    }
}

# Create a draft invoice
invoice = client.invoices.create(invoice_data)

# Create and finalize an invoice
finalized_invoice = client.invoices.create(invoice_data, finalize=True)
```

## Features

- Full support for Lexoffice API endpoints
- Rate limiting handling
- Type hints for better IDE support
- Intuitive resource-based interface
- Comprehensive error handling

## Available Resources

- Contacts
- Invoices
- Articles
- Credit Notes
- Vouchers

## Rate Limiting

The Lexoffice API has a rate limit of 2 requests per second. This SDK automatically handles rate limiting by adding appropriate delays between requests.

## Error Handling

The SDK provides detailed error handling with custom exceptions:

```python
from lexoffice import LexofficeApiError, RateLimitExceeded

try:
    contact = client.contacts.get("invalid-id")
except RateLimitExceeded:
    print("Rate limit exceeded, please wait")
except LexofficeApiError as e:
    print(f"API error: {e}")
```

## Documentation

For detailed API documentation, please visit the [Lexoffice API Documentation](https://developers.lexoffice.io/docs/).

## Requirements

- Python 3.10+
- requests>=2.25.0
- pandas>=2.0.0

## License

This project is licensed under the MIT License - see the LICENSE file for details.

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## Support

If you encounter any problems or have any questions, please open an issue on GitHub.