semvec/pypi-packages huggingface dataset:
nonebot-plugin-ghtiles 0.1.4
A nonebot2 plugin for show GitHub contributions
Requires Python: <4.0,>=3.9

<div align="center">
  <a href="https://v2.nonebot.dev/store">
    <img src="https://raw.githubusercontent.com/A-kirami/nonebot-plugin-template/resources/nbp_logo.png" width="180" height="180" alt="logo">
  </a>
  <br>
  <p>
    <img src="https://raw.githubusercontent.com/A-kirami/nonebot-plugin-template/resources/NoneBotPlugin.svg" width="240" alt="logo">
  </p>
</div>

<div align="center">

# NoneBot-Plugin-GHTiles

_✨ 看看你的 GitHub 瓷砖 for NoneBot2 ✨_

<img src="https://img.shields.io/badge/python-3.8+-blue.svg" alt="python">
<a href="https://pdm.fming.dev">
  <img src="https://img.shields.io/badge/pdm-managed-blueviolet" alt="pdm-managed">
</a>

<br />

<a href="https://pydantic.dev">
  <img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/lgc-NB2Dev/readme/main/template/pyd-v1-or-v2.json" alt="Pydantic Version 1 Or 2" >
</a>
<a href="./LICENSE">
  <img src="https://img.shields.io/github/license/lipraty/nonebot-plugin-ghtiles.svg" alt="license">
</a>
<a href="https://pypi.python.org/pypi/nonebot-plugin-ghtiles">
  <img src="https://img.shields.io/pypi/v/nonebot-plugin-ghtiles.svg" alt="pypi">
</a>
<a href="https://pypi.python.org/pypi/nonebot-plugin-ghtiles">
  <img src="https://img.shields.io/pypi/dm/nonebot-plugin-ghtiles" alt="pypi download">
</a>

</div>

## 📖 介绍

NoneBot2 插件，用于查看你的 GitHub 瓷砖

## 💿 安装

以下提到的方法 任选**其一** 即可

<details open>
<summary>[推荐] 使用 nb-cli 安装</summary>
在 nonebot2 项目的根目录下打开命令行, 输入以下指令即可安装

```bash
nb plugin install nonebot-plugin-ghtiles
```

</details>

<details>
<summary>使用包管理器安装</summary>
在 nonebot2 项目的插件目录下, 打开命令行, 根据你使用的包管理器, 输入相应的安装命令

<details>
<summary>pip</summary>

```bash
pip install nonebot-plugin-ghtiles
```

</details>
<details>
<summary>pdm</summary>

```bash
pdm add nonebot-plugin-ghtiles
```

</details>
<details>
<summary>poetry</summary>

```bash
poetry add nonebot-plugin-ghtiles
```

</details>
<details>
<summary>conda</summary>

```bash
conda install nonebot-plugin-ghtiles
```

</details>

打开 nonebot2 项目根目录下的 `pyproject.toml` 文件, 在 `[tool.nonebot]` 部分的 `plugins` 项里追加写入

```toml
[tool.nonebot]
plugins = [
    # ...
    "nonebot_plugin_ghtiles"
]
```

</details>

## ⚙️ 配置

#### `ght_proxy`

- **类型**: `str`
- **默认值**: `"https://github.com"`

GitHub 地址，如果需要解决国内访问 GitHub 的问题，可以替换为镜像站点

## 🎉 使用

### 指令

#### `tile`

查看你的 GitHub 瓷砖

#### `tile.bind <username>`

绑定你的 GitHub 用户名

#### `tile.remind`

创建一个提醒，当这一天即将过去而你还没有提交时，会提醒你

## 💡 鸣谢

### [nonebot/plugin-alconna](https://github.com/nonebot/plugin-alconna)

- 强大的命令解析库，和多平台适配方案
seastate 0.2.1
Collect ocean measurements for location and timeframe. Integrates NDBC and TidesAndCurrents datasources.
Requires Python: >=3.8.1
Keywords: api, currents, data, forecast, marine, ndbc, noaa, ocean, temperature, tides, weather, wind

# seastate

## Summary

Collect ocean measurement data based on location and timeframe

**Features**

- Closest active station is selected for each measurement
- Reaches into secondary historical archives when required
- Returns pandas dataframe compatible dictionaries
- Available measurements: Tide, wind, water temp, air temp, air pressure, conductivity and swell information
- Datasources: NOAA NDBC, NOAA Tides and Currents

## Installing

`pip install seastate`

## Quick start

```
from seastate import SeaState
from datetime import datetime

# make SeaState object for specific location
san_diego = SeaState(32,-117)

# retrieve measurements for today
san_diego_today = san_diego.from_date_range(datetime.today())

san_diego_today['tide'] -> [{t: time, v: value, s: stdev}]
san_diego_today['wind']-> [{t: time, v: value, d: direction, g: gust}]
san_diego_today['water_temp']-> [{t: time, v: value}]
san_diego_today['air_temp']-> [{t: time, v: value}]
san_diego_today['air_press']-> [{t: time, v: value}]
san_diego_today['wave']-> [{t: time, v: Wave Height, dpd: Dominant Period, mwd: dpd Direction}]
san_diego_today['conductivity']-> [{t: time, v: value}]
```

Measurement details for NDBC are [here](https://www.ndbc.noaa.gov/measdes.shtml) and for Tides and Currents [here](https://api.tidesandcurrents.noaa.gov/api/prod/responseHelp.html)

## API reference

Useful metadata can be accessed through the SeaState object

```
san_diego = SeaState(32,-117)

# Each measurement has an entry point
san_diego.tide
-> (api.mediator Object)

# The valid keys are:
valid_measurements = {
    'tide',
    'wind',
    'water_temp',
    'air_temp',
    'air_press',
    'wave',
    'conductivity',
}


# the original lat/lon are available
san_diego.lat
-> 32
san_diego.tide._target_lon
-> 32

# the distance of each measurement station to target gps
san_diego.tide.distance
-> xyz kilometers

# and other useful exposed api keys
san_diego.tide.station.name
san_diego.tide.station.id
san_diego.tide.station.lat
san_diego.tide.station.lon

```

## Measurement x API breakdown

|  Measurement | T&C | NDBC |
| -----------: | :-: | :--: |
|         tide |  y  |  y   |
|         wind |  y  |  y   |
|   water_temp |  y  |  y   |
|     air_temp |  y  |  y   |
|    air_press |  y  |  y   |
|         wave |     |  y   |
| conductivity |  y  |      |

## More Examples

### Measurements for past 30 days

```
from seastate import SeaState
from datetime import datetime, timedelta

start = datetime.today()-timedelta(days=30)
end = datetime.today()
san_diego_past_30 = san_diego.measurements_from_date_range(start,end)
```

### Hourly Slices

```
san_diego_past_30_hourly = san_diego.hourly(start,end) # this returns a single reading per hour
# experimental feature
# no guarantee between APIs that readings will align or exist in all cases
```
fastopendata_client 0.0.33
Client for the FastOpenData API service
Requires Python: >=3.8

FastOpenData Client
===================

The Python client for FastOpenData.

To use this client to retrieve data, you must have an API key. You can use the
client itself to get a free API key that's suitable for evaluation purposes:

```
>>> from fastopendata_client import FastOpenData
>>> api_key = FastOpenData.get_api_key('YOUR_EMAIL_ADDRESS')
```

Save your API key somewhere; you will use it each time you invoke the FastOpenData
client. If you lose your key, you can call this method again with the same
email address.

The free API key is rate limited and not suitable for production purposes. To
subscribe to the FastOpenData service and receive a key that will provide unlimited
access, please visit https://fastopendata.com. If you have questions about the
service or your particular use-case, email zac@fastopendata.com.

The main class for this client is `FastOpenData` which is invoked like so:

```
>>> from fastopendata_client import FastOpenData
>>> session = FastOpenData(api_key="<YOUR_API_KEY>")
>>> data = session.request(free_form_query="123 Main Street, Tallahassee, FL, 12345")
```

`data` now contains a dictionary with all the data from the FastOpenData server.

If you have a Pandas dataframe, you can append new columns containing data from
FastOpenData by calling `FastOpenData.append_to_dataframe` and specifying which
columns contain address information. For example, if `COLUMN_NAME` contains
unstructured address strings, you can do this:

```
>>> import pandas as pd
>>> from fastopendata_client import FastOpenData
>>> session = FastOpenData(api_key="<YOUR_API_KEY>")
>>> df = pd.DataFrame(...)
>>> session.append_to_dataframe(df, free_form_query=COLUMN_NAME)
```

Now `df` contains many new columns containing data from the FastOpenData server.

If your dataframe has columns containing structured address information, you
can do:

```
>>> session.append_to_dataframe(
        df,
        address1=ADDRESS1_COLUMN,
        address2=ADDRESS2_COLUMN,
        city=CITY_COLUMN,
        state=STATE_COLUMN,
        zip_code=ZIP_CODE_COLUMN
    )
```

Note that you have the option of specifying either `free_form_query` or the column names for structured address data, but not both. Doing so will raise an exception.