semvec/pypi-packages huggingface dataset:
testloop 0.1.1
A nimble testing tool
Requires Python: >=3.11,<4.0

# Testloop

A nimble testing tool

## Usage


```shell
$ python testloop.py
[Wed Nov 30 20:34:50 2022] Running: python /home/jskulski/Code/jskulski/testloop/testloop.py test .

testloop: cwd=/home/jskulski/Code/jskulski/testloop
testloop: running test_command=`pytest -v --pdb --pdbcls=IPython.terminal.debugger:TerminalPdb -s tests/`


======================================= test session starts =======================================
platform linux -- Python 3.11.0, pytest-7.2.0, pluggy-1.0.0
rootdir: /home/jskulski/Code/jskulski/ballooning
plugins: cov-2.12.1, asyncio-0.20.2, syrupy-3.0.5, time-machine-2.8.2, anyio-3.6.2, aiohttp-1.0.4
asyncio: mode=Mode.STRICT
collected 9 items / 2 deselected / 7 selected

tests/test_initial_design_sprint.py s......                                                 [100%]

------------------------------------- snapshot report summary -------------------------------------

=========================== 6 passed, 1 skipped, 2 deselected in 0.04s ============================

```

testloop.py: reads itself for configuration, builds a pytest command
  and runs it when files change

Running `python testloop.py` starts a filewatcher that runs pytest

When a file changes:
1. `testloop` reads itself for pytest options
1. builds a pytest command from those options
1. runs that pytest command and reports results

`testloop.py` contains option dictionaries:

You can comment/uncomment/modify these options to trigger a new test run. Changing your source code will also trigger a new run.

```python
pytest_opts = dict(
    # match='-k test_logs_when_both_repo_and_failsafe_fail_to_persist',
    # last_failed="--lf",
    dbg="--pdb --pdbcls=IPython.terminal.debugger:TerminalPdb",
    use_settrace="-s",
    # coverage="--cov=lib/history --cov-report term",
)
```

Note, the initial run of testloop will install dependencies at runtime.


## Design

Testloop is a nimble developement testing tool.

Nimble development tools are designed to be:


- "Good enough" development tools available across the containerized divide.
- at-hand, easy to install, even on the most alpine of docker containers
- simple in function
- complex in features
- self contained configuration, effectively stateless
- self-installing dependencies allow for an unfolding feature set


## Changelog

v 0.1.0

- create readme, package and publish
- testloop in a working state (read self for config, watches files, runs pytest)
- add a test for testloop

v 0.1.1

- adding CLI script, pre-commits
- updating pypi page

### Current


v 0.1.5
- [x] testloop executable script
- [ ] how do we handle configuration if we install via pip?
- [ ] fix PATHING

### Future

v 0.2.0

- [ ] handle project environments venv activation (setup step?)
- [ ] direct skul.ski to a hosting service, update install doc
- [ ] system binary `testloop` if installed via pip
- [ ] cli options to turn on/off dependencies
- [ ] add pudb option, build configurations as object


- [ ] tui / gui / editor integrations
- [ ] create system-wide venv for dependencies OR consider rewriting as an executable + config
sanskrit-tts 0.0.5
A simple python library for converting Sanskrit text to speech.

# sanskrit_tts

A simple python library for converting Sanskrit text to speech.

## Pre-requisites
Currently, the only supported method is to use Google Cloud text to speech with a workaround ([see details below](#how-it-works)). A Google Cloud account with text-to-speech API enabled is required. Instructions for enabling the API and setting up application credentials are described [here](https://cloud.google.com/text-to-speech/docs/quickstart-client-libraries#client-libraries-install-python). Please follow these steps before using this library.

Note that the TTS API will incur a cost if the free quota is exceeded ([details](https://cloud.google.com/text-to-speech/pricing)). The library uses a wavenet voice by default, but this can be changed via the `voice` parameter to [`synthesize_text`](https://github.com/avinashvarna/sanskrit_tts/blob/main/sanskrit_tts/gcloud_tts.py#L56).

## Installation
This package has been developed on python 3.8 but should work with any version of python >= 3.6.
```bash
pip install sanskrit_tts
```
To install from the master branch of the git repo:
```bash
pip install git+https://github.com/avinashvarna/sanskrit_tts.git
```
For an editable installation (to modify the code and experiment)
```bash
git clone https://github.com/avinashvarna/sanskrit_tts.git
cd sanskrit_tts
pip install -e .
```

## Usage
See the [example notebook](https://github.com/avinashvarna/sanskrit_tts/blob/main/examples/simple_example.ipynb) for a simple example of converting text from Sanskrit Wikipedia to the corresponding audio.

## How it works
Google Text-to-Speech does not support Sanskrit yet. As a workaround, this library uses other languages for speech to text conversion. Kannada is used by default for this workaround. Any other language/voice supported by Google TTS API can be used by changing the `voice` parameter to [`synthesize_text`](https://github.com/avinashvarna/sanskrit_tts/blob/main/sanskrit_tts/gcloud_tts.py#L56), and the results will vary. A complete list of voices is available [here](https://cloud.google.com/text-to-speech/docs/voices).
PDFMaster 0.0.1
For scraping data from DPF
Requires Python: >=3.7

# PDFMaster Package

This is a PDFTableMaster package. You can use
[Github-flavored Markdown](https://github.com/Muditha-Rajapaksha-101/PDFMaster.git)


Parmeters to adjust
#pdfTable.set_parameters({'upperBoundry':10, 'lowerBoundry':10 , 'margin':3})

-->upperBoundry and lowerBoundry states the upper and lower boundries in the vertical axis to identify rows
-->These values should be modified to fit the PDF table you're about the scrape
-->Margin defines the horizontal bountries of the table ( use to identify columns)


Project will provide you with a unstrucured table structure (Lists inside a list)
-->User shoud implement the CleanMaster Class that comes with the package to define how the cleaning should be done
-->Refer the example.py to get a clear understanding on how you ca use this class
-->cleanListMaster() comes under CleanMaster class will define this functionality


class clean(CleanMaster):
        def cleanListMaster(self , rows):
            #you have to implement this method with rules to filter out rows
            finalPageList = []
            for row in rows:
                if(len(row) >= 6 and len(row) <= 6):
                    if(row[0].strip().startswith("LKA") and len(row[0].strip())  == 12 ):
                        finalPageList.append(clean.removeComma(row) )   
          
            return finalPageList