semvec/pypi-packages huggingface dataset:
asciinet 0.3.1
A wrapper around the scala ascii-graphs library

asciinet
========

*NOTE*: this is a fork of the original asciinet libary which seems to be abandoned. This fork is mainly intended to build artifacts to upload to pypi and conda.

asciinet is a wrapper over the [ascii-graphs](https://github.com/cosminbasca/ascii-graphs) library for printing [networkx](https://networkx.github.io/) graphs as ASCII.

Important Notes
---------------
This software is the product of research carried out at the [University of Zurich](http://www.ifi.uzh.ch/ddis.html) and comes with no warranty whatsoever. Have fun!

TODO's
------
* The project is not documented (yet)

How to Install the Project
--------------------------
To install **asciinet** you have two options: 1) manual installation (install requirements first) or 2) automatic with **pip**

Install the project manually from source (after downloading it locally):
```sh
$ cd pyasciinet
$ python setup.py install
```

Install the project with pip:
```sh
$ pip install https://github.com/cosminbasca/asciinet/pyasciinet
```

Also have a look at the build.sh script included in the codebase for a complete setup of the build process 

Thanks a lot to
---------------
* [University of Zurich](http://www.ifi.uzh.ch/ddis.html) and the [Swiss National Science Foundation](http://www.snf.ch/en/Pages/default.aspx) for generously funding the research that led to this software.
wejr 0.1.3
Communication via websocket in JSON-RPC way
Requires Python: >=3.10,<4.0

# [WIP] Websocket by JSON-RPC protocol for Django Channels

Library for using websocket in django(with channels) in jsonrpc way

### JSON-RPC specification
https://www.jsonrpc.org/specification

## Installing
WIP

## Usage example


Add wejr to django INSTALLED_APPS before your apps
```python
INSTALLED_APPS = [
    ...
    "wejr",
    ...
]
```
    

Configure channel layer via Redis PubSub
```python
CHANNEL_LAYERS = {
    "default": {
        "BACKEND": "channels_redis.pubsub.RedisPubSubChannelLayer",
        "CONFIG": {
            "hosts": [("localhost", 6379)],
        },
    },
}
```

Define routers, methods, params schemas
```python
from dataclasses import dataclass, asdict
from wejr.router import Router

@dataclass
class ChatId:
    id: int

@dataclass
class MessageCreated:
    author_id: int
    content: str
    chat_id: int

client = Router()
chat = Router()

@client.method
async def chat_by_id(consumer, request, params: ChatId):
    chat = get_chat_data(params.id)
    consumer.send_result(request, chat)

@chat.method
async def message_created(consumer, request, params: MessageCreated):
    consumer.send_notification("", asdict(params))
```


Define consumer
```python
from wejr.consumers import AsyncBaseJsonRpcConsumer
from myproject.app.routers import client, chat

class MyConsumer(AsyncBaseJsonRpcConsumer):
    client_router = client
    group_routers = {
        "chat": chat,
    }
```

Define urls
```python
urlpatterns = [
    re_path(r"v1/ws", MyConsumer.as_asgi()),
]
```

Extend asgi with websocket
```python
from channels.routing import ProtocolTypeRouter, URLRouter
from django.core.asgi import get_asgi_application

from djangochatws.apps.threadws import urls as ws_urls

application = ProtocolTypeRouter(
    {
        "http": get_asgi_application(),
        "websocket": AuthMiddlewareStack(
            URLRouter(ws_urls.urlpatterns)
        )
    }
)
```
muradian-strCalc 0.0.6
A best usefull Function for assistant or text to speech services
Keywords: python,calcutor,assistant,string calculator



![python function](https://miro.medium.com/max/1400/1*WWrXceae4H_klzpPU6h7Hg.png)
**Why you should choose that , let's check**

> Simple and powerfull ,
> Best for discord bot reply Best for where string,
> simple function with high return


## **How to import**

```
import muradian
from muradian import msc
```



## Fixed number calculation
```
msc.stca('digit firstNum operator lastNum

genarally use: stca('1 2 pl 3')
here,
1 is digit (how many digit you want to use)
2 and 3 is digit that will summation by 'pl' command

		print('2 23 mi 21') 
pl = Pluse / Summation
mi = Substraction
mu = Multiplication
di = Division
```

## 1 to N number
*how to pass string to for sum , example :*
```
print(mustca.msum('1 2 3 4')
```
```
	output: 10
```
how to pass string to for avg , example :*
```
print(mustca.msum('2 2 2')
```
```
	output: 2
```

## contact:
[Github](https://github.com/mozaddedalfeshani) </br>
[messenger](m.me/mozaddedalfeshani)
scd2 1.0.0
slowly changing dimension type 2 with pandas or parquet
Requires Python: >=3.8
Keywords: scd,slowly changing dimension,type 2,pandas,parquet


# pandas_scd

  
executing slowly changing dimension type 2 on pandas dataframes or parquet files

  

**pandas_scd arguments:**

 - **src:** pandas dataframe with the source of the SCD
 - **tgt:** pandas dataframe with the target of the SCD (target can be
   empty)
   
 - **cols_to_track:** list of columns to track changes (default is all   
   columns from the source table)
 - **tz:** pytz time zone to use on start_ts and end_ts, default is None   
   (will use local time)


#####  the return dataframe contain the entire target table with the new changes, ready for insert overwrite of the current target table





**parquet_scd arguments:**

 - **src:** path to the source of the SCD
 - **tgt:** path to the target of the SCD (target can be empty)
- **cols_to_track:** list of columns to track changes (default is all columns from the source table)
- **tz:** pytz time zone to use on start_ts and end_ts, default is None (will use local time)
##### there is no return value, the tgt path that was provided will be overwritten 
  
  

## Installation

    pip install scd2

  

## Getting started

*for working with pandas:*  

	from scd2 import SCD2
	import pandas as df	  

	tgt = pd.DataFrame.from_dict({'first_name': ["Chris"], 'last_name': ['Paul'], 'team': ["Clippers"], "start_ts": [datetime(2012, 1, 14, 3, 21, 34)], "end_ts": [None], "is_active": [True]}) 

	src = pd.DataFrame.from_dict({'first_name': ["Chris"], 'last_name': ['Paul'], 'team': ['Suns']})

	final_df = SCD2().pandas_scd2(src, tgt)

**pandas_scd2 will return a dataframe with the entire new targer**
  
  
  

tgt:

| first_name | last_name | team | start_ts | end_ts | is_active |

|------------|-----------|----------|---------------------|--------|-----------|

| Chris | Paul | Clippers | 2012-01-14 03:21:34 | | True |

  
  
  

src:

  

| first_name | last_name | team |

|------------|-----------|----------|

| Chris | Paul | Clippers |

  
  
  
  

final_df:

  

| first_name | last_name | team | start_ts | end_ts | is_active |

|------------|-----------|----------|---------------------|---------------------|-----------|

| Chris | Paul | Clippers | 2012-01-14 03:21:34 | 2018-01-01 00:00:00 | False |

| Chris | Paul | Suns | 2018-01-01 00:00:00 | | True |

  
  
  

*for working with parquet:*

	src_parquet_path = '~/source.parquet'

	tgt_parquet_path = '~/target.parquet'

	SCD2().parquet_scd2(src, tgt)
 

**parquet_scd2 will overide the current target (tgt_parquet_path)**


 

**src:** pandas dataframe with the source of the SCD

  

**tgt:** pandas dataframe with the target of the SCD (target can be empty)

  

**cols_to_track:** list of columns to track changes (default is all columns from the source table)

  

**tz:** pytz time zone to use on start_ts and end_ts, default is None (will use local time)