semvec/pypi-packages huggingface dataset:
wdbibtex 0.2.4
WdBibTeX is a BibTeX toolkit for MS Word.
License: MIT
Requires Python: >=3.8

# WdBibTeX
WdBibTeX is a BibTeX toolkit for MS Word.

## Installation

Binary installers for the latest released version are available at the [Python Package Index (PyPI)](https://pypi.org/project/wdbibtex).

You can install wdbibtex package via pip command.

```sh
pip install -U wdbibtex
```

## Dependencies

- Windows OS, for pywin32
- pywin32>=302, for operating MS Word
- regex>=2022.6.2, for converting LaTeX string to text
- TeX Live 2022, for building LaTeX file

## Usage

Let target Word file name be `file.docx`.

0. Confirm you can build LaTeX project with basic `latex->bibtex->latex->latex` scheme. (This is out of scope of this project.)
1. Copy your `.bib` and `.bst` to same directory with `file.docx`.
2. Write your docx file with LaTeX citations keys of `\cite{key}` and `\thebibliography` label.
3. On the shell, change directory to the `file.docx`'s directory.
4. Execute:
```sh
$ python -m wdbibtex file.docx
```
5. If wdbibtex works correctly, you can see `file_bib.docx`. LaTeX citation keys of `\cite{key}` and `\thebibliography` will be converted to [1] and [1] A. Name, "Title", Journal, vol... (for example).

## Documentation
The official documentation is hosted on GitHub Pages: https://ehki.github.io/WdBibTeX

## License
WdBibTeX is distributed undert [MIT License](https://github.com/ehki/WdBibTeX/blob/bdf05337ae3f0659b2cca09986facd9aa7ad8a06/LICENSE).
easyclasses 1.0.1
Lightweight dataclass library.
License: MIT
Keywords: python,dataclasses,performance

# Easyclasses
## Lightweight alternative to dataclasses


### Quick Example
```py
from easyclasses import EasyClass

class MyClass(EasyClass):
    a: str
    b: str
    c: str = "test"

print(MyClass("a", "b", c="hi")) # MyClass(a='a', b='b', c='hi')
```

### Installation

#### Linux/Mac
```
python3 -m pip install -U easyclasses
```

#### Windows
```
py -3 -m pip install -U easyclasses
```

### Performance

Based on `benchmarks.py`, easyclasses is over 6x faster than the built-in dataclasses module.

On top of that, it's also outperforms `NamedTuple`.

### Usage

#### Basics
Easyclasses API is pretty similar to dataclasses.

The main difference between dataclasses is that easyclasses uses a subclass instead of a decorator, like so:

```py
from easyclasses import EasyClass

class MyEasyClass(EasyClass):
    a: str
```

You can also provide default arguments the same way:

```py
from easyclasses import EasyClass

class MyEasyClass(EasyClass):
    a: str
    b: str = "h"
```

You can pass subclass arguments to enable or disable certain features:

```py
from easyclasses import EasyClass

class MyEasyClass(EasyClass, eq=False, immutable=True):
    a: str

MyEasyClass("a") == MyEasyClass("a") # False
MyEasyClass("a").a = "test" # TypeError
```

If you aren't planning on using features like `__eq__`, then you can use `LightEasyClass`, which has features like that removed, allowing it to be faster than the normal `EasyClass`:

```py
from easyclasses import LightEasyClass

class MyEasyClass(LightEasyClass): # works the same
    a: str
```

#### Factories
If you need a default argument for a mutable object (such as `list` or `dict`), you can use the `factory` function:

```py
from easyclasses import EasyClass, factory

class MyEasyClass(EasyClass):
    a: list = factory(list)
```

#### Validators

You can set a validator using the `validator` function:

```py
from easyclasses import EasyClass, validator

class MyEasyClass(EasyClass):
    a: str = validator(str, lambda v: v == "hi")

MyEasyClass("hi") # OK
MyEasyClass("a") # AssertionError
```

You can even use it with `factory`:

```py
from easyclasses import EasyClass, validator, factory

class MyEasyClass(EasyClass):
    a: list = validator(factory(list), lambda v: v == [1])

MyEasyClass([1, 2]) # AssertionError
```