semvec/pypi-packages huggingface dataset:
contactsoftware-functions-client 0.5.4
Client for uploading and managing Functions in CIM Database Cloud.
License: MIT
Requires Python: <4,>=3.10

  <h1><a href="https://github.com/cslab/functions-client"><img src="https://github.com/cslab/functions-client/blob/main/docs/assets/contact-logo.svg" width="50" alt="CONTACT Logo"></a>  Functions-Client</h1>

This CLI tool is used for uploading and managing Functions in CIM Database Cloud.

Information on how build Functions can be found in the Functions-SDK documentation: https://cslab.github.io/functions-sdk-python/

## Requirements

Python 3.10+

## Installation

```console
$ pip install contactsoftware-functions-client
```

## Login
Before you can create environments or deploy Functions you need to login using your client-id and secret. Obtain your client credentials via the CONTACT Portal.

```console
$ cfc login --client-id <client_id> --client-secret <client_secret>
```

The credentials will be stored in a configuration file. The storage location of the configuration file depends on the OS:

- Windows: `C:\Users\<username>\AppData\Local\Contact\cfc\config.ini`
- Linux: `~/.config/cfc/config.ini`


## Features
### Manage Function environments
Functions are grouped into **environments**, which are the (Docker) container the code runs in. An environment contains a runtime for its specific programming language, the Function code and a configuration file describing the environment.

Create a new environment:

```console
$ cfc env create <environment_name>
```

Display a list of all environments:

```console
$ cfc env list
```

Display the details of an environment:

```console
$ cfc env describe <environment_name>
```


### Deploy Function code into an environment
To deploy Function code into an existing environment run:

```
$ cfc env deploy <environment_name>
```

Make sure you run the command from within the directory that contains the `environment.yaml` configuration file.

Information on how to build Function code can be found in the documentation of the Functions-SDK: https://cslab.github.io/functions-sdk-python/
twitter-unfollow-tool 0.1.0
Twitterの非相互フォローを検出・解除するPythonライブラリ
License: MIT
Requires Python: >=3.8

# twitter-unfollow-tool

Twitterの非相互フォローを自動で検出・解除できるPythonライブラリです。

---

## 🔧 機能一覧

- Twitterのフォロー中・フォロワーを自動で取得
- 非相互フォロー（フォロー返しされていない相手）を抽出
- CSVに保存
- CSVに基づいた自動アンフォロー処理
- アカウントBANの可能性を限りなく0に近くした設計
- 今後も機能の追加の可能性があります

---

## 📦 インストール方法

```bash
pip install twitter-unfollow-tool
```

---

## ⚠️ 注意事項

- Twitterに**ログイン済みのプロファイル**を使ってください  
- **EdgeやChromeのすべてのウィンドウを閉じてから実行**してください（ユーザーデータがロックされるため）  
- TwitterのUI変更により、今後動作しなくなる可能性があります  
- バグ報告は **blackokayu@yahoo.co.jp** までお願いします  

---

## 🚀 使用例

```python
from selenium import webdriver
from selenium.webdriver.edge.options import Options
from twitter_unfollow_tool import (
    scroll_until_loaded,
    get_followings,
    get_followers,
    get_non_mutuals,
    save_usernames_to_csv,
    load_usernames_from_csv,
    unfollow_users
)

# Edgeのログイン済みプロフィールを起動（ChromeでもOK）
options = Options()
options.add_argument("user-data-dir=C:/Users/your_name/AppData/Local/Microsoft/Edge/User Data")
options.add_argument("profile-directory=Default")
driver = webdriver.Edge(options=options)

driver.get("https://twitter.com/your_username")
input("▶ ページが開いたら Enter を押してください...")

# フォロー中・フォロワー一覧を取得
scroll_until_loaded(driver, mode="following")
followings = get_followings(driver)

scroll_until_loaded(driver, mode="followers")
followers = get_followers(driver)

# 非相互を抽出しCSV保存
non_mutuals = get_non_mutuals(followings, followers)
save_usernames_to_csv(non_mutuals, "non_mutuals.csv", limit=30)

# CSVから読み込み、自動でアンフォロー
usernames = load_usernames_from_csv("non_mutuals.csv")
unfollow_users(driver, usernames, max_unfollow=10)

driver.quit()
```

---

## 📄 ライセンス

MIT License