semvec/pypi-packages huggingface dataset:
tcbs-py 0.0.2
TCBS Vietnam Stock Market Data
Requires Python: >=3.7

<h2 align="center">Vietnam Stock Market data extraction from TCBS with Python</h2>

TCBS_Py is a Python package to retrieve the Vietnam stock market data from [TCBS](https://tcbs.com.vn).

TCBS_Py allows the user to download both historical stock data, intraday stock data, and market insights from [TCBS](https://tcbs.com.vn).

TCBS is relying on public/private APIs to provide stock data. It is **FREE** and has **NO LIMITATIONS**.

[![Python Version](https://img.shields.io/pypi/pyversions/investpy.svg)]()
[![PyPI Version](https://img.shields.io/pypi/v/investpy.svg)]()
[![Package Status](https://img.shields.io/pypi/status/investpy.svg)]()
[![Build Status](https://github.com/alvarobartt/investpy/workflows/run_tests/badge.svg)]()
[![Documentation Status](https://readthedocs.org/projects/investpy/badge/?version=latest)]()
marshmallow-extended 1.3.3
Extended Marshmallow library
Requires Python: >=3.8

# Marshmallow advanced Python library

## Extra fields

### Active field

Converts `active` field to `state` and back.

```python
>>> from marshmallow_extended import Schema
>>> from marshmallow_extended.fields import Active

>>> class SimpleSchema(Schema):
        active = Active()

>>> SimpleSchema().dump({'state': 'active'})
{'active': True})
>>> SimpleSchema().dump({'state': 'inactive'})
{'active': False}

>>> SimpleSchema().load({'active': True})
{'state': 'active'}
>>> SimpleSchema().load({'active': False})
{'state': 'inactive'}
```

Filter by query parameter:

```python
>>> class SimpleFilterSchema(Schema):
        active = Active(as_filter=True)

>>> SimpleFilterSchema().load({'active': 'true'})
{'state': 'active'}
>>> SimpleFilterSchema().load({'active': 'false'})
{'state': 'inactive'}
>>> SimpleFilterSchema().load({})
{'state__ne': 'deleted'}
```

For experienced usage try `positives`, `negatives`, `positive_filter`, 
`negative_filter`, `missing_filter` parameters. You can see behaviour for this parameters in tests.  

### Email field

Extended `marshmallow.field.Email` field: lowering case.

```python
>>> from marshmallow_extended import Schema
>>> from marshmallow_extended.fields import Email

>>> class SimpleSchema(Schema):
        email = Email()

SimpleSchema().load({'email': 'Test@email.com'})
{'email': 'test@email.com'}
```

## Changelog

### 1.3.1 (2021-06-10)

- Added `Enum` and `IContains` fields.
- Added `get_params` and `apply_endpoint_params` decorators.

### 1.3.0 (2021-06-10)

- Added `Email` field.
dico-interaction 0.0.9
Interaction module for dico.
Requires Python: >=3.7

# dico-interaction
Interaction module for dico.

## Features
- Webserver included, powered by aiohttp.
- Easier interaction usage.

## Installation
```
pip install -U dico-interaction
```

## Example

### Gateway Client

```py
from dico import Client, Button, ActionRow, ButtonStyles
from dico_interaction import InteractionClient, InteractionContext

client = Client("BOT_TOKEN")
interaction = InteractionClient(client=client)


@interaction.slash(name="hello", description="Say hello.")
async def hello(ctx: InteractionContext):
    button = Button(style=ButtonStyles.PRIMARY, label="Hello!", custom_id=f"hello{ctx.id}")
    await ctx.send("Hello, World!", components=[ActionRow(button)])
    
    
@interaction.context_menu(name="say", menu_type=3)
async def say_menu(ctx: InteractionContext):
    await ctx.send(f"You said: {ctx.target.content}")
    

@interaction.component_callback("hello")
async def hello_callback(ctx: InteractionContext):
    await ctx.send("Hello again!", ephemeral=True)

client.run()

```

### Webserver
```py
import ssl  # SSL is forced to register your webserver URL to discord.
from dico import Button, ActionRow, ButtonStyles
from dico_interaction import InteractionClient, InteractionWebserver, InteractionContext

bot_token = ""
bot_public_key = ""

interaction = InteractionClient(respond_via_endpoint=False)
server = InteractionWebserver(bot_token, bot_public_key, interaction)


@interaction.slash(name="hello", description="Say hello.")
async def hello(ctx: InteractionContext):
    button = Button(style=ButtonStyles.PRIMARY, label="Hello!", custom_id=f"hello{ctx.id}")
    await ctx.send("Hello, World!", components=[ActionRow(button)])
    
    
@interaction.context_menu(name="say", menu_type=3)
async def say_menu(ctx: InteractionContext):
    await ctx.send(f"You said: {ctx.target.content}")
    

@interaction.component_callback("hello")
async def hello_callback(ctx: InteractionContext):
    await ctx.send("Hello again!", ephemeral=True)

ssl_context = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH)
ssl_context.load_cert_chain("cert.pem", "privkey.pem")
server.run(host='0.0.0.0', port=1337, ssl_context=ssl_context)

```