semvec/pypi-packages huggingface dataset:
rtmilk 3.0.5
Remember The Milk API wrapper
Requires Python: >=3.10
Keywords: Milk, Remember, RememberTheMilk

[![codecov](https://codecov.io/gh/rkhwaja/rtmilk/branch/master/graph/badge.svg?token=RaMYgorajr)](https://codecov.io/gh/rkhwaja/rtmilk) [![PyPI version](https://badge.fury.io/py/rtmilk.svg)](https://badge.fury.io/py/rtmilk)

Python wrapper for "Remember the Milk" [API](https://www.rememberthemilk.com/services/api/)
- Asynchronous and synchronous APIs
- Subscription support

# Usage of client
```python
from rtmilk import APIError, CreateClient, CreateClientAsync

# These are the equivalent objects, created differently
client = CreateClient(API_KEY, SHARED_SECRET, TOKEN)
client2 = await CreateClientAsync(API_KEY, SHARED_SECRET, TOKEN)

try:
    task = client.Add(name='name 1')
    assert task.complete.value is False
    task.tags.Set({'tag1', 'tag2'})
    assert task.tags.value == {'tag1', 'tag2'}
    task = await client.AddAsync(name='name 2')
    await task.tags.SetAsync({'tag1', 'tag2'})
    tasks = client2.Get('name:"name 1"')
    assert tasks[0].tags.value == {'tag1', 'tag2'}
except APIError as e:
    print(e)
```

# Usage of API functions directly
```python
from rtmilk import API, FailStat

api = API(API_KEY, SHARED_SECRET, TOKEN)

timeline = api.TimelinesCreate().timeline
result = api.TasksAdd(timeline, 'task name')
if isinstance(result, FailStat):
    print(f'Error: {result}')
```

```python
from rtmilk import APIAsync, FailStat

apiAsync = APIAsync(API_KEY, SHARED_SECRET, TOKEN)

timeline = await apiAsync.TimelinesCreate().timeline
result = await apiAsync.TasksAdd(timeline, 'task name')
if isinstance(result, FailStat):
    print(f'Error: {result}')
```

# Authorization
```python
from rtmilk import AuthorizationSession

authenticationSession = AuthorizationSession(API_KEY, SHARED_SECRET, 'delete')
input(f'Go to {authenticationSession.url} and authorize. Then Press ENTER')
token = authenticationSession.Done()
print(f'Authorization token is {token}')
```
easy-tasks 0.0.55
Normal python class tasks like sorting, closet/furthest value, dublicates, ...
Keywords: python


# easy_taks

To not get annoyed by simple recurring tasks I created this small library.  

## Content
- Installation
- Usage  

## Installation
- `pip install easy-tasks`
- You will need to install to_precision from github to use all the percentage stuff. For this visit https://github.com/BebeSparkelSparkel/to-precision, go to the latest release, which might be https://github.com/BebeSparkelSparkel/to-precision/releases/tag/0.0.1, and download the .tar.gz. With `pip install <path to .tar.gz>` you can finish your installation.

## Usage
- `furthest_value_in_list`  
  Function returning the closest number of a list to a given value

- `closest_value_in_list`  
  Function returning the closest number of a list to a given value

- `furthest_value_in_dict`  
  Function returning the closest number of a dicts values to a given value

- `closest_value_in_dict`  
  Function returning the closest number of a dicts values to a given value

- `find_dublicates`  
  Function returning a list of Dubs objects which have the properties: *value*, *number_of_dublicates* and *indices*

- `remove_dublicates`  
  Function returning a copy of the given list in which only the first occurrence of every value remains

- `get_percentage_as_fitted_string`  
  Function returning the calculated percentage from the inout count and total fittet to the string lenght of 100.00 %  
  args:
  - count: current counting value
  - total: total value 
  - round_to: rounding digits, default: 2
  - with_percentage_symbol: boolean, adds ' %' if True

- `progress_printer`  
  Better use ProgressBar instead
  Call this funciton in a loop with index+1 as count to monitor your progress.  
  Will automatically switch to a new line when 100 % is reached.
  Remember to call print once if you break since the cursor will not move to the next line till 100 % are reached.

- `main_and_sub_progress_printer`  
  Basically the progress_printer with one susbprocess. 

- `upper_case_first_letter_of_word`  
  Function returning a string in which the word begins with an upper case letter.

- `upper_case_first_letter_of_words`  
  Function returning a string in which every word begins with an upper case letter.

- `unpack_list`  
  Dissolve inner lists and tuples of nested list and tuples.

- `ProgressBar`
  Create progress bar with poossible subprogresses, exception handling, early termination handling, early completion handling and many options for customization.
  Simply use as `with ProgressBar(total) as prg:` and look at the class parameters and methods.

## Links
[GitHub](https://github.com/ICreedenI/easy_tasks) | [PyPI](https://pypi.org/project/easy-tasks/)