semvec/pypi-packages huggingface dataset:
gee-downloader 0.0.1
Evoland models and data loaders
Requires Python: >=3.8

# Cloud Free Image Downloader

A small tool to download cloud free images from GEE. Also serves as an example that projects in the
DLR MF-DAS organization should follow. You should copy the CI/CD set-up and other practices for your repository.

## Installation

This tool relies on Google Earth Engine's Python API which cannot be installed automatically as a
dependency. You need to install it from conda-forge in your conda environment:

```
conda install -c conda-forge earthengine-api
```

This is assuming you already have a conda environment activated. To install from source code you can
do the following:

```
git clone git@github.com:DLR-MF-DAS/gee_downloader.git
cd gee_downloader
pip install -e .
```
Or if you don't want the source code you can do:

```
pip install git+git@github.com:DLR-MF-DAS/gee_downloader.git
```

## Usage

Authenticate to Google Earth Engine (note that authentication mode should be set to notebook)

```
earthengine authenticate --auth_mode notebook
```

Then you can run the script by executing the module with the -m flag.

```
python3 -m gee_downloader --help
```

Which will tell you what the options for the script are.

```
Usage: python -m gee_downloader [OPTIONS]

Options:
  -i, --geojson TEXT      Area of interest in the GeoJSON format  [required]
  -s, --start-date TEXT   Starting date for the composite (yyyy-mm-dd)
                          [required]
  -e, --end-date TEXT     End date for the composite (yyyy-mm-dd)  [required]
  -o, --output-file TEXT  File to write the results to  [required]
  --help                  Show this message and exit.
```

For designing command line interfaces I recomment the click library for Python - https://click.palletsprojects.com/. 
The implementation of the script can be found under `src/gee_downloader/__main__.py`. Please consider following this 
structure if your project requires you to provide an executable script.

To download some actual data you can try the following arguments from inside the repository file structure of this 
project.

```
python3 -m gee_downloader -i test/munich.json -s 2019-01-01 -e 2019-04-01 --output-file test.tiff
```

Which should result in a 13 band image part of which looks like this.

![munich](test/munich.png)

## CI/CD Setup

### Testing

For testing you should use https://docs.pytest.org/. The GitHub Actions workflow file that runs the tests
is located under gee_downloader/.github/workflows/python-app.yml. Use it and the tests under the test/
subdirectory as an example for your own projects.

### Documentation

The documentation for this library is automatically built and uploaded to GitHub Pages on each commit.
The workflow responsible for this is defined at gee_downloader/.github/workflows/pdoc.yml. I prefer
to use pdoc for documentation building (over sphinx which is in my view an outdated abomination) but
if you prefer to use something more complex the idea behind building and publishing it stays the same.

You can find the documentation here: https://dlr-mf-das.github.io/gee_downloader/

### Publishing
django-hugepagination 1.0.2
django huge pagination
Requires Python: >=3.6

# Hugepagination

Hugepagination提供了在Django REST framework框架下使用的分页类和模型视图单条记录翻页功能，主要针对mysql数据库百万级+数据表进行了优化。
+ HugePagination，大数据表分页类
+ TurnpageModelMixin，为视图类`ViewSet`混入单条记录翻页功能

### 依赖
+ django >= 2.2.0
+ djangorestframework >= 3.10.0
+ django-filter >= 2.2.0
### 打包发布
```

```
### 安装
+ pip安装
```shell
pip install django-hugepagination
```
+ 源码安装
```shell
python setup.py install
```

### 分页类使用
分页类`HugePagination`必须与视图类`ModelViewSet`配合使用，后端数据库应当使用MySql数据库，可排序字段和查询条件字段应当建立索引。
```python
from hugepagination.pagination import HugePagination

class MyViewSet(viewsets.ModelViewSet):
    queryset = MyModel.objects.all()
    serializer_class = MyModelSerializer
    pagination_class = HugePagination
    filter_backends = [DjangoFilterBackend, filters.OrderingFilter]
    ordering_fields = ['name','create_time']
    filterset_fields = ['name','create_time']
```
### 单条翻页功能（上一条，下一条）
`TurnpageModelMixin`为视图类`ModelViewSet`混入单条翻页功能，这个功能是列表视图的扩展，视图类增加如下方法：
#### next
查询指定记录的下一条记录，URL格式如下：
```
http://127.0.0.1/resources/1/next/ordering=create_time&name=taobao
```
返回数据格式:
```json
{
    "name": "taobao",
    ...
    "create_time": "2020-10-10 12:12:01"
}
```
#### previous
查询指定记录的下一条记录，URL格式如下：
```
http://127.0.0.1/resources/1/previous/ordering=create_time&name=taobao
```
返回数据格式同上
#### turnpage
查询指定ID的记录数据，同时返回该记录的上一条和下一条查询URL，URL格式如下：
```
http://127.0.0.1/resources/5/turnpage/ordering=create_time&name=taobao
```
返回数据格式如下：
```json
{
    "next": "http://127.0.0.1/resources/4/turnpage/ordering=create_time&name=taobao",
    "previous": "http://127.0.0.1/resources/6/turnpage/ordering=create_time&name=taobao",
    "data": {
        "name": "taobao",
        ...
        "create_time": "2020-10-10 12:12:01"        
    }
}
```
#### 代码示例
```python
from hugepagination.pagination import HugePagination, TurnpageModelMixin

class MyViewSet(viewsets.ModelViewSet, TurnpageModelMixin):
    queryset = MyModel.objects.all()
    serializer_class = MyModelSerializer
    pagination_class = HugePagination
    filter_backends = [DjangoFilterBackend, filters.OrderingFilter]
    ordering_fields = ['name','create_time']
    filterset_fields = ['name','create_time']
```
#### WEB服务器存在URL重写或者反向代理，返回URL与实际访问URL不一致，处理方法
在django配置文件中增加配置项`ORIGINAL_URI_MAP`，该配置是`list`，包含三个元素，依次指定包含源请求URL的`scheme`，`host`，`path`三个部分的http header。响应结果将根据http header修改。
```python
ORIGINAL_URI_MAP = ['X-Scheme','X-Forwarded-Host','X-Original-Uri']
```
也可以在视图中配置属性`original_uri_map`，格式通上。
视图中属性优先于配置文件。
### 注意事项
+ 如果要保持列表显示记录的顺序和翻页显示记录的顺序一致，那么排序条件和筛选条件应当与列表查询保持一致。
+ 翻页查询使用`next`和`previous`方法，应当避免在获取上一条和下一条前修改当前记录的排序字段值；这种情况建议用`turnpage`方法。
simplerag 0.0.4
This package will help you talk to your data using Retrieval Augmented Generation (RAG).
Requires Python: >=3.6

# simplerag (Simple Retrieval Augmented Generation)

Simplerag: Retrieval Augmented Generation Library
Simplerag is a Python library designed to assist users in working with custom data using Large Language Models (LLMs). It enables users to create a vector database, which is a one-time activity, and LLM models can then utilize the product outputs for retrieval augmented generation.

Table of Contents
1. Introduction
2. Installation
3. Usage
4. Creating a Vector DB
5. Retrieval Augmented Generation
6. Examples
7. Contributing
8. License

__Introduction__

Large Language Models (LLMs) have gained significant popularity in recent years due to their ability to generate human-like text. However, working with custom data using LLMs can be challenging, especially when dealing with large datasets or complex retrieval tasks. Simplerag aims to simplify this process by providing a convenient and efficient way to work with LLMs for retrieval augmented generation tasks.

__Key features of simplerag include:__

__Vector Database Creation:__ simplerag allows users to create a vector database from their custom data. This database serves as an index for retrieval tasks and is generated as a one-time activity.

__Retrieval Augmented Generation:__ With the vector database in place, Simplerag enables users to perform retrieval augmented generation using LLM models. This approach combines the power of retrieval and generation to produce high-quality outputs.

__Installation__
To install simplerag, you can use pip:

```pip install simplerag```
utecio 0.1.2
Library for controlling Ultraloq BLE Locks
Requires Python: >=3.7

# UtecIO Python Library
UNDER DEVELOPMENT

Python library for interacting with Utec devices and Ultraloq locks using Bluetooth.

This library is in initial development and will change rapidly.

If you have a specific lock request you can contribute at [buy me a coffee](https://www.buymeacoffee.com/maeneak) or [coindrop](https://coindrop.to/maeneak) to assist with purchasing of new locks for testing and accelerate development.
pydiscordclient 0.2.2
A simple class for interacting with the Discord API.

# pydiscordclient Python Package

## Overview
This Python package provides a simple class, `pydiscordclient`, for interacting with the Discord API. It allows you to send messages, get channel information, create channels, and delete channels in Discord.

## Installation
You can install the package using pip:
```bash
pip install pydiscordclient
```
## Usage 

Here's a basic example of how to use the `pydiscordclient` class to send a message to a Discord channel:

```python
from pydiscordclient import DiscordAPI

# Replace 'YOUR_BOT_TOKEN_HERE' with your actual bot token
token = "YOUR_BOT_TOKEN_HERE"
api = DiscordAPI(token)

# Replace 'YOUR_CHANNEL_ID_HERE' with the ID of the channel you want to send messages to
channel_id = "YOUR_CHANNEL_ID_HERE"
content = "Hello, Discord!"
api.send_message(channel_id, content)
```

## License

This package is licensed under the MIT License. See the LICENSE file for details.