semvec/pypi-packages huggingface dataset:
async-icq 1.4.9
ICQ/VK Teams Bot API interface
Requires Python: >=3.5
Keywords: mailru im bot api

# Async VK Teams bot API wrapper

[![PyPi Package Version](https://img.shields.io/pypi/v/async_icq)](https://pypi.org/project/async-icq/)
[![PyPi Package Status](https://img.shields.io/pypi/status/async_icq?color=green&label=stable)](https://pypi.org/project/async-icq/)
[![Supported Python versions](https://img.shields.io/pypi/pyversions/async_icq)](https://pypi.org/project/async-icq/)
[![Package dwn stats](https://img.shields.io/pypi/dm/async_icq)](https://pypi.org/project/async-icq/)
[![License](https://img.shields.io/github/license/dasshit/async-icq)](https://pypi.org/project/async-icq/)
[![Repo size](https://img.shields.io/github/repo-size/dasshit/async-icq)](https://pypi.org/project/async-icq/)
[![Author stars count](https://img.shields.io/github/stars/dasshit?style=social)](https://pypi.org/project/async-icq/)

<img src="https://myteam.mail.ru/botapi/res/logo_myteam.png" width="40%">

Pure Async Python interface for Bot API.

# Table of contents
- [Introduction](#introduction)
- [Quick start](#quick-start)
- [Installing](#installing)
- [Examples](#examples) 
- [API description](#api-description)

# Introduction


This library provides complete VK Teams Bot API 1.0 interface and requires Python 3.5+

# Quick start

* Create your own bot by sending the /newbot command to @Metabot and follow the instructions.
    >Note: a bot can only reply after the user has added it to his contact list, or if the user was the first to start a dialogue.
* You can configure the domain that hosts your VK Teams server. When instantiating the Bot class, add the address of your domain.
    > Example: Bot(token=TOKEN, url="https://myteam.mail.ru"), by default we use the domain: http://myteam.mail.ru (VK Teams)

# Installing

Install using pip:
```bash
pip install -U async-icq
```

Install from sources:
```bash
git clone https://github.com/dasshit/async-icq.git
cd async-icq
python setup.py install
```

# Examples

Basic example of using this library will look like this

```python
from async_icq.bot import AsyncBot
from async_icq.events import Event

# Creating bot
example = AsyncBot(
  token='TOKEN',
  url='https://api.icq.net',
)


# Adding some basic event handler by decorators (handler must accept 2 arguments: bot and event)
# Diffent decorators will set it up for diffent types of events
@example.message_handler()
async def hello(event: Event):
  
  await event.answer(
    text=f'Hi, {event.from_.userId}'
  )

  await event.log(
    f'Answered to {event.chat.chatId} to {event.from_.userId}')


# Starting to poll new events and sending them to middleware and handlers
example.start_poll()
```

Example of how to use this library could be found in async-icq/examples

# API description
<ul>
    <li><a href="https://teams.vk.com/botapi/#/">teams.vk.com/botapi</a></li>
</ul>
finalcif 156
CIF file editor
Requires Python: >=3.10

![Lates Release](https://img.shields.io/github/v/tag/dkratzert/FinalCif?label=Release)
[![Unit Tests](https://github.com/dkratzert/FinalCif/actions/workflows/python-app_windows.yml/badge.svg?branch=master)](https://github.com/dkratzert/FinalCif/actions/workflows/python-app_windows.yml)
![Contributions](https://img.shields.io/badge/contributions-welcome-blue)
[![PyPI package](https://repology.org/badge/version-for-repo/pypi/python:finalcif.svg)](https://repology.org/project/python:finalcif/versions)
<a href="https://repology.org/project/finalcif/versions">
    <img src="https://repology.org/badge/vertical-allrepos/finalcif.svg" alt="Packaging status" align="right">
</a>


# FinalCif

FinalCif helps you to get a complete [CIF](https://www.iucr.org/resources/cif) file from a single-xrystal X-ray diffraction experiment. See here [https://dkratzert.de/finalcif.html](https://dkratzert.de/finalcif.html) for details.

For tables from multiple CIF files, you may want to use the program [multitable](https://github.com/dkratzert/multitable).

**Report templates**

You only need them if you want to make report tables that differ from the default ones.
- [A template with everything in](https://github.com/dkratzert/FinalCif/raw/master/finalcif/template/template_text.docx)
- [A template without the report text](https://github.com/dkratzert/FinalCif/raw/master/finalcif/template/template_without_text.docx)
- [A template for a multi-CIF table](https://github.com/dkratzert/FinalCif/raw/master/finalcif/template/template_for_multitable.docx).

**Recent Changes**

[See last changes in FinalCif](https://dkratzert.de/fcchangelog.html)

**Some screenshots**

(click to enlarge)
![FinalCif main Window](https://github.com/dkratzert/FinalCif/raw/master/screenshots/finalcif_main.png)

![FinalCif details](https://github.com/dkratzert/FinalCif/raw/master/screenshots/finalcif_details.png)

![FinalCif report](https://github.com/dkratzert/FinalCif/raw/master/screenshots/finalcif_report.png)

![FinalCif CheckCIF](https://github.com/dkratzert/FinalCif/raw/master/screenshots/finalcif_checkcif.png)

![FinalCif responses](https://github.com/dkratzert/FinalCif/raw/master/screenshots/finalcif_responses.png)

![FinalCif responses](https://github.com/dkratzert/FinalCif/raw/master/screenshots/finalcif_loops.png)