semvec/pypi-packages huggingface dataset:
dataclass-abc 0.0.8
Library that lets you define abstract properties for dataclasses.
Requires Python: >=3.10
Keywords: dataclass-abc abstract abc property

# Dataclass ABC

Library that lets you define abstract properties for dataclasses. 

## Installation

```pip install dataclass-abc```

## Usage

The `dataclassabc` class decorator resolves the abstract properties 
overwritten by a field.

``` python
from abc import ABC, abstractmethod

from dataclassabc import dataclassabc

class A(ABC):
    @property
    @abstractmethod
    def name(self) -> str:
        ...

@dataclassabc(frozen=True)
class B(A):
    name: str        # overwrites the abstract property 'name' in 'A'
```

## Define mutable variables

Define a mutable variable `name` in the abstract class `A` by using the
`name.setter` decorator. 

``` python
from abc import ABC, abstractmethod

from dataclassabc import dataclassabc

class A(ABC):
    @property
    @abstractmethod
    def name(self) -> str:
        ...

    @name.setter
    @abstractmethod
    def name(self, val: str):
        ...

    def set_name(self, val: str):
        self.name = val

@dataclassabc
class B(A):
    name: str

b = B(name='A')
b.set_name('B')
```

## Example

The [example](https://github.com/MichaelSchneeberger/dataclass-abc/tree/master/example)
implements the code snippets taken from [RealPython](https://realpython.com/python-data-classes/)
 with abstract properties.

## Design pattern

This library suggests the following design pattern:

- **mixins** - a *mixin* is an abstract class that implements data as abstract
properties and methods based on the abstract properties.
- **classes** - an abstract class inherits from one or more mixins
(see `City` or `CapitalCity` in the example). This class is used for pattern matching,
e.g. using `isinstance` method.
- **impl** - an *implementation class* implements the abstract properties. 
(see `CityImpl` or `CapitalCityImpl` in the example). This class is decorated with
`dataclassabc` and `resolve_abc_prop` and should always be called through an 
*initialize function*.
- **init** - an *initialize function* (or *constructor function*) initializes an 
*implementation class*.
envelope-ai 0.0.7
SDK for envelope DB
Requires Python: >=3.7

# Envelope AI SDK (wayfarer)

## Installation

`pip install envelope-ai`

## Quickstart

After you have a API key and a collection created on your envelope account

```python
from wayfarer.wayfarer import Wayfarer

client = Wayfarer(api_key="<your-api-key-here>")

documents = {
    "embeddings": [1.0, 0, 0.8],
    "metadata": {label: "0"},
}

client.insert(documents=documents, collection_name="<your-collection-name>")  # You might prefer to use collection_id here instead

```