semvec/pypi-packages huggingface dataset:
nercst 0.1.6
NEw reduction and calibration software for telescope 
License: MIT
Requires Python: >=3.8,<3.11

# NERCST

[![PyPI](https://img.shields.io/pypi/v/nercst.svg?label=PyPI&style=flat-square)](https://pypi.org/pypi/nercst/)
[![Python](https://img.shields.io/pypi/pyversions/nercst.svg?label=Python&color=yellow&style=flat-square)](https://pypi.org/pypi/nercst/)
[![Test](https://img.shields.io/github/workflow/status/necst-telescope/NERCST/Test?logo=github&label=Test&style=flat-square)](https://github.com/necst-telescope/NERCST/actions)
[![License](https://img.shields.io/badge/license-MIT-blue.svg?label=License&style=flat-square)](https://github.com/necst-telescope/NERCST/blob/main/LICENSE)

Python package template.

## Features

This library provides:

- Data reduction and calibration software for NECST telescopes.

## Installation

```shell
pip install nercst
```

## Usage

This library is using [Semantic Versioning](https://semver.org).
pyexception-notifier 0.0.7
Exception notifier
License: MIT
Requires Python: >=3.8

# package for notify error messages to telegram

### How to use?

> set env vars

example:\
EXCEPTION_NOTIFY_NOTIFY_TO=telegram\
EXCEPTION_NOTIFY_BOT_TOKEN=your-bot-token\
EXCEPTION_NOTIFY_CHAT_ID=your-chat-id\
EXCEPTION_NOTIFY_SERVICE_NAME=your-service-name

> initialize exception_notifier with your FastApi app instance

example:

```
from fastapi import FastAPI

import pyexception_notifier

app = FastAPI()

pyexception_notifier.init(app=app)


@app.get('/error')
async def root():
    zero_division_error = 1 / 0


@app.get('/success')
async def hello():
    return {'ok': 'true'}
```

then run with gunicorn
> gunicorn app:app --worker-class uvicorn.workers.UvicornWorker --bind 0.0.0.0:8000
water-pipe 0.0.3
A simple etl tool.
License: MIT
Requires Python: >=3.6.0


# README

A simple etl tool.

## Introduction

## Install

pip install water-pipe

## Sample code

```python
from water_pipe.channel import DataChannel

if __name__=='__main__':
    impala_db_config = {
        "driver": "impala",
        "config": {
            "host": "10.63.82.218",
            "username": "work",
            "password": "TwkdFNAdS1nIikzk",
            "database": "default",
            "port": 21050,
            "auth_mechanism": "LDAP",
        }
    }
    pg_db_config = {
        "driver": "postgres",
        "config": {
            "host": "10.63.82.191",
            "username": "dw_rw",
            "password": "Yxsj@123",
            "database": "test",
            "port": 5432
        }
    }
    csv_db_config = {
        "driver": "csv",
        "config": {
            "filename": "data",
            # "path": ""
        }
    }

    with DataChannel(impala_db_config, pg_db_config) as channel:
        channel.table("tmp.t2")
        # channel.sink_db.execute("truncate table medical.t2")
        channel.insert("medical.t2", 2, is_create=True)
    
    with DataChannel(pg_db_config, impala_db_config) as channel:
        channel.query("select * from medical.t2 limit 9")
        channel.insert("tmp.t3", 2, is_create=True)
    
    with DataChannel(pg_db_config, csv_db_config) as channel: 
        channel.query("select * from medical.dim_date limit 123")
        channel.insert(is_create=True)
        
    with DataChannel(csv_db_config, pg_db_config) as channel: 
        channel.query()
        channel.insert("medical.t_csv", 2, is_create=True)
        
```

## Dependency

```shell
pip install loguru

pip install impyla
pip install psycopg2
pip install mysqlclient
pip install openpyxl
```