semvec/pypi-packages huggingface dataset:
tinyoffice 0.0.9
Make your Office files tiny!
Requires Python: >=3.9
Keywords: office, compress, convert, image, Word, Excel, Powerpoint

## tinyoffice

Make your Office files tiny!

`tinyoffice` attemps to compresses and optionally convert the embedded image files in your Office files.


## Installation

You can install `tinyoffice` from PyPi:

```
% pip install tinyoffice
```

NOTE: `tinyoffice` requires `Pillow` (`PIL` Fork) [Pillow](https://pillow.readthedocs.io/en/stable/), which can have installation conflicts. If you experience any issues while installing `tinyoffice`, please follow the `Pillow` installation steps found here: https://pillow.readthedocs.io/en/stable/installation.html.


## Usage

```
usage: tinyoffice [-h] [-r] [-c] [-v]
                  [-t .docx .pptx .xlsx [.docx .pptx .xlsx ...]] [--overwrite]
                  [-o OUTPUT] [-exts EXTENSIONS [EXTENSIONS ...]]
                  path

Make your Office files tiny!

positional arguments:
  path                  File or directory path.
                        If a file and recurse (-r/--recurse) is not set, only that file will be compressed.
                        If a directory and recurse is not set, only the top-level files in the directory will be compressed.
                        If recurse is set, everything at path and below will be compressed.

options:
  -h, --help            show this help message and exit
  -r, --recurse         Flag for if tinyoffice should recursively search for files. Default is False
  -c, --convert         Flag for if TIFF files should be converted to JPEGs. Default is False
  -v, --verbose         Flag for verbosity levels. Can be set multiple times, e.g., -vv, for increased verbosity
  -t .docx .pptx .xlsx [.docx .pptx .xlsx ...], --types .docx .pptx .xlsx [.docx .pptx .xlsx ...]
                        Filetype extensions to compress.
                        Default is .docx, .pptx, .xlsx
  --overwrite           Flag for if an existing file should be overwritten. Default is False
  -o OUTPUT, --output OUTPUT
                        Path for the output location.
  -exts EXTENSIONS [EXTENSIONS ...], --extensions EXTENSIONS [EXTENSIONS ...]
                        Image extensions to compress. Default will be only the extensions that are supported by Pillow on your system.
                        Should be ignored.
```
cgi-processor 0.1.4
Модуль для предобработки текстов журнала «Цифровые гуманитарные исследования»
Requires Python: >=3.7

![LaTeX](https://img.shields.io/badge/latex-%23008080.svg?style=for-the-badge&logo=latex&logoColor=white) ![Python](https://img.shields.io/badge/python-3670A0?style=for-the-badge&logo=python&logoColor=ffdd54) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.16956676.svg)](https://doi.org/10.5281/zenodo.16956676)

# Модуль предобработки текстовых материалов для журнала «Цифровые гуманитарные исследования»

## Подготовка текстов

В [журнале](https://pushkinskijdom.ru/zhurnal-tsifrovye-issledovaniya/) статьи публикуются с использованием LaTeX. В tex из docx тексты можно перевести с помощью `pandoc`:

```bash
pandoc -s paper.docx -o paper.tex
```

Однако, текстам на русском языке требуется дополнительная обработка, связанная с правильными тире и пробелами по правилам отечественной типографики. Модуль производит все нужные преобразования автоматически. 

Примеры преобразований:

* `с новым 1970-х гг. в XXI в.:` → `с~новым 1970"=х гг.~в~XXI в.:`
* `социально-экономические` → `социально"=экономические`
* `коллеги - на` → `коллеги — на`
* `В.И. Ленина` → `В.\,И. Ленина`
* `1978-1984~гг.` → `1978--1984~гг.`

Кроме того, все `\emph` заменяются на `\textit`, потому что в системе стилей журнала `\emph` означает не курсив, а подчеркивание.

## Установка

`pip3 install cgi_processor`

## Использование

```python
from cgi_processor import process_file, process_directory

# Обработка одного файла
process_file('example.tex')

# Обработка всех .tex файлов в папке
process_directory('./texts')
```

В результате исполнения этого кода в исходной папке появляется файл с тем же именем, но суффиксом `_processed`, например:

`volodin.tex` → `volodin_processed.tex`

## Другие ресурсы

Веб-сервис с альтернативным функционалом (не полностью совпадающим с текущим) можно найти [здесь](http://nevmenandr.net/cgi-bin/texconv.py). [Репозиторий](https://github.com/nevmenandr/TexTransform) проекта. 

## Цитирование

```
@software{orekhov_2025_16956677,
  author       = {Orekhov, Boris},
  title        = {Модуль предобработки текстовых материалов для
                   журнала «Цифровые гуманитарные исследования»
                  },
  month        = aug,
  year         = 2025,
  publisher    = {Zenodo},
  version      = {v0.1.4},
  doi          = {10.5281/zenodo.16956676},
  url          = {https://doi.org/10.5281/zenodo.16956676},
}
```
nbtest-plugin 0.1.6
Pytest plugin for testing Jupyter Notebooks

## nbtest
#### A pytest plugin for testing Jupyter Notebooks

The `nbtest-plugin` adds the functionality to define tests (assertions) in Jupyter Notebooks for testing key properties.
These tests are later collected by pytest, when used with the `--nbtest` flag

**Assertions supported**

*Generic assertions*
- assert_equal
- assert_allclose
- assert_true
- assert_false

*DataFrame-specific assertions*
- assert_nanvar: Test the variance of the dataframe
- assert_nanmean: Test the mean of the dataframe
- assert_column_types: Test the data type of each column in the dataframe
- assert_column_names: Test the column names of each column in the dataframe

#### Usage example

##### Testing

```py
import nbtest
import math
import numpy as np

nbtest.assert_equal(round(math.pi, 2), 3.14)
nbtest.assert_true(math.pi == 3)

print(f'PI: {math.pi}')
```

These tests do not report any errors when the notebook is executed

```bash
$ jupyter execute example.ipynb --output=run.ipynb
[NbClientApp] Executing example.ipynb
[NbClientApp] Executing notebook with kernel:
[NbClientApp] Save executed results to run.ipynb
```

And output of the cell is:
```
PI: 3.141592653589793
```

Now, we execute the tests using pytest
```bash
$ pytest -v --nbtest example/nbtest_plugin_example.ipynb
==================================================== test session starts =====================================================
platform linux -- Python 3.11.11, pytest-8.3.4, pluggy-1.5.0 -- /home/verve/miniconda3/envs/test/bin/python
cachedir: .pytest_cache
rootdir: /home/verve/ml_nb_testing/comp_analysis/nbtest-release
plugins: nbtest-0.1.0, anyio-4.6.2
collected 2 items

example/nbtest_plugin_example.ipynb::nbtest_id_0_5 PASSED                                                              [ 50%]
example/nbtest_plugin_example.ipynb::nbtest_id_0_6 FAILED                                                              [100%]

========================================================== FAILURES ==========================================================
________________________________________ example/nbtest_plugin_example.ipynb::Cell 0 _________________________________________
Assertion failed
Cell 0: Assertion error

Input:
---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
Cell In[1], line 1
----> 1 nbtest.tc.assertTrue(math.pi == 3)

File ~/miniconda3/envs/test/lib/python3.11/unittest/case.py:715, in TestCase.assertTrue(self, expr, msg)
    713 if not expr:
    714     msg = self._formatMessage(msg, "%s is not true" % safe_repr(expr))
--> 715     raise self.failureException(msg)

AssertionError: False is not true

================================================== short test summary info ===================================================
FAILED example/nbtest_plugin_example.ipynb::nbtest_id_0_6
================================================ 1 failed, 1 passed in 1.34s =================================================

```
landlab-triangle 0.0.2
Create unstructured Landlab grids using Jonathan Shewchuk's Triangle mesh generation software
Requires Python: >=3.13
Keywords: grid, landlab, mesh, triangle, unstructured

# landlab-triangle

[**View Landlab Documentation**](https://landlab.readthedocs.io/)

[**View triangle Documentation**](https://www.cs.cmu.edu/~quake/triangle.html)

This repository adds `TriangleModelGrid`, a new Landlab grid type that enables unstructured triangular meshes. Unlike Landlab's standard structured grids, `TriangleModelGrid` allows for complex geometries with irregular boundaries, interior holes, and variable grid resolution.

Uses Jonathan Shewchuk's Triangle software.

## Installation

### Installing from PyPI

```bash
pip install triangle landlab-triangle
```

## Usage

### Option 1: direct initialization

```python
from landlab_triangle import TriangleModelGrid
import numpy as np

# Create a grid directly with exterior coordinates and optional holes
exterior_y = [-1.0, -1.0, 11.0, 11.0]
exterior_x = [0.0, 10.0, 10.0, 0.0]

holes = np.array([[5.0, 5.0]])  # Optional: define interior holes

grid = TriangleModelGrid(
    exterior_y_and_x=(exterior_y, exterior_x),
    holes=holes,
    triangle_opts="pqa1Devjz"
)

print(f"Number of nodes: {grid.number_of_nodes}")
print(f"Number of cells: {grid.number_of_cells}")
print(f"Number of holes: {len(grid._holes)}")
```

### Option 2: from a dictionary

```python
from landlab_triangle import TriangleModelGrid

# Create a grid from a dictionary with "x" and "y" keys
grid_params = {
    "x": [0.0, 10.0, 10.0, 0.0],
    "y": [0.0, 0.0, 10.0, 10.0],
    "triangle_opts": "pqDevjz"
}

grid = TriangleModelGrid.from_dict(grid_params)
```

### Option 3: from a shapefile

```python
from landlab_triangle import TriangleModelGrid

# Create a grid from a shapefile, GeoJSON, or other supported format
grid = TriangleModelGrid.from_shapefile(
    "path/to/polygon.geojson",
    triangle_opts="pqDevjz",
    timeout=10
)

# The grid automatically handles holes defined in the input file
print(f"Number of holes: {len(grid._holes)}")
```

## Triangle options

The `triangle_opts` parameter controls the behavior of the Triangle meshing software. Common options include:

- **q**: Quality mesh generation - ensures no angles smaller than N degrees (defaults to 20)
- **a**: Area constraint - limits the maximum area of triangles

**Timeout**: The `timeout` parameter (in seconds) prevents the meshing process from running indefinitely if Triangle encounters complex geometries.

### Example with area constraint

```python
# Create a grid with maximum triangle area of 0.1
grid = TriangleModelGrid(
    exterior_y_and_x=(exterior_y, exterior_x),
    triangle_opts="pqa0.1Devjz"  # 'a0.1' sets max area to 0.1
)
```
qof 1.2.0
qof | Quickly Organize Files!
Requires Python: >=3.10
Keywords: app, macOS, windows, linux, flatpak

qof | Quickly Organize Files!
===

**This cross-platform app was generated by** [Briefcase](https://briefcase.readthedocs.io/) **- part of**
[The BeeWare Project](https://beeware.org/). **If you want to see more tools like Briefcase, please
consider** [becoming a financial member of BeeWare](https://beeware.org/contributing/membership).

qof | Quickly Organize Files!

```Tired of messy folders all over your device? My app makes organization easy and efficient. With just some adjusted settings to your preference, you can quickly sort your files by their extensions into renameable folders. Whether it's documents, images, videos or python files :), everything can find its destination.```

Tutorials
===
**devs_des1re:** 
- **Long Form:** https://youtu.be/CYn6uMCGKEM
- **Short:** https://www.youtube.com/shorts/5JaeavMPJ4E
<img src="https://i.ibb.co/F4pbtb1Y/New-Project.png">

How to use?
===
**1.** Of course you have to download the file first! *[Click Here](https://github.com/devs-des1re/qof/releases/tag/v1.0.0/qof.v1.0.0.msi/)*

**2.** Once you have finished the installtion, open up the app. From there select a folder you want to organize.

**3.** Add to the table, *the name of the folder*, *the extension of the files*. Don't worry if you close the app. The table *should* be saved. If not let me know.

**4.** Click organize and boom! Done in a flash.

Debugging
===
If you have an error, click *F9*, a console will pop up. Read the error and try to understand it. If you don't, you can either use google or ask me. It might be a admin restriction.

Logs
===

**v1.0.0** - First release of qof!

**v1.1.0:**
- Added icon to the Debugger console
- Removed case sensitive extension feature

Notes
===
- ~~The extensions column is case sensitive for your information~~
- Don't add a period to the extensions column otherwise it won't work