semvec/pypi-packages huggingface dataset:
maesters-nwp 0.0.9
A package to get open NWP data in a elegant way
Requires Python: >=3.7

# Maesters - Numercial Weather Prediction

![](https://badgen.net/pypi/v/maesters-nwp) ![](https://badgen.net/badge/license/MIT/pink) ![](https://badgen.net/badge/github/cnmetlab/purple?icon=github) ![](https://badgen.net/https/cal-badge-icd0onfvrxx6.runkit.sh/Asia/Shanghai)
![](https://zenodo.org/badge/doi/10.5281/zenodo.6796046.svg)
![](https://img.shields.io/badge/code%20style-black-000000.svg)
![](https://badgen.net/github/checks/node-formidable/node-formidable/master/macos)
![](https://badgen.net/github/checks/node-formidable/node-formidable/master/ubuntu?label=linux)

![](https://raw.githubusercontent.com/cnmetlab/Maesters-of-NWP/main/pics/usage_20220704.png)


A package focus on fecth open-source global numerical weather prediction product in a elegant way. 


The following data sources are supported.
  
  ✔︎ _Deutscher Wetterdientst_ - **ICON**

  ✔︎ _European Centre for Medium-Range Weather Forecasts_ - **OPER** / **ENFO**

  ✔︎ _Canadian Meteorological Center_ - **GEM** / **GEPS**

The following data sources support is coming. 🚀🚀🚀

  ❏ _National Oceanic and Atmospheric Adminstration_ - GFS

  ~~❏ _Met Office_ - MOGREPS~~ _(not open-source anymore)_



## How to install

> maesters-nwp depends on cdo. And as cdo is not supported on Windows platform, maesters-nwp fail to install on Windows.

### Instal via conda (Recommended)
```shell
conda install -c conda-forge maesters-nwp
```

### Install via pip
1. Install dependence cdo,curl (install [cdo](https://anaconda.org/conda-forge/cdo), [curl](https://anaconda.org/conda-forge/curl))
```shell
conda install -c conda-forge cdo curl
```
2. Install maesters-nwp
```shell
pip install maesters-nwp
```
### Usage
``` python
from maester import Maesters

ec = Maester(source='ecmwf', product='oper', batch='2022-06-29 12:00',hour=[6,30],varname='TP_SFC')

# get xarray object
ec.xarray()

# or only download (if lcoal_dir is not given, default download to current dir)
ec.download(local_dir='./') 

# or operation download all data of the newest batch, default download to $HOME/data/{source}/{product}/{batch:%Y%m%d%H0000}
ec.operation(local_dir='./')

```

### Variable Name

| Source    | Variable |
|-----------|----------|
| ecmwf     | [variables](maesters/config/cmc.toml)|
| dwd       | [variables](maesters/config/dwd.toml)|
| cmc       | [variables](maesters/config/cmc.toml)

### Problem List
_<font color=#008000 >P1: </font>_ _pyporj instal fail on M1 chip_

![](https://raw.githubusercontent.com/cnmetlab/Maesters-of-NWP/main/pics/p1_desc.png)
_<font color=#008000 >S1: </font>_ 
```shell
brew install proj
pip install pyproj
```

### Citation
If this package give helps to your research or work, it will be a enjoyable thing to the contributors of this package. And if you are willing to cite the contribution of this package in your publication, you can find the DOI information at https://doi.org/10.5281/zenodo.6796046.
DatabaseIP 22.8.22
This is an IP database with verification and supports IP dual stack protocol
Requires Python: >=3.7

# What is `SafeIp`?



SafeIp is a library for IP authentication in Python that focuses on authentication security. It builds algorithms written in pure Python and can be ported to other languages.







## **`SafeIp` infrastructure**



```shell

SafeIp				# library name

│ __init__.py		# function table

└─ __ip__data__.py	# system call table

````







## **`SafeIp` function usage method**







```shell

File function: IP database that supports IPv6 and IPv4 dual-stack protocols.

File Description: Add, delete, verify IP information

File author: mxlbb(cute baby fox)

File Date: August 22, 2022

File function: 	SafeIp.add(ip)

				SafeIp.update(ip)

				SafeIp.remove(ip)

				SafeIp.verify(ip)

				SafeIp.printf()

```







# Why use `SafeIp`?



`SafeIp` development principles:



1. **Security**: `SafeIp` (used with `websockets`) is used as authentication, the transmitted data can be in plain text and illegal users can only view it and cannot change it;

2. **Defense: **`SafeIp` (used in conjunction with `websockets`) will form an almost absolute elimination of all illegal user connections and brute force cracking;

3. **Performance**: `SafeIp` (used with `websockets`) will reduce the performance consumption of the server authentication process and greatly improve the resource allocation of productivity.







# Why not use `SafeIp`?



- If you often use web-provided libraries or have your own set of authentication methods, you can deprecate the library functions provided by `SafeIp`.







# what else?



Bug reports, patches and suggestions welcome!



To report a security vulnerability, please contact the author: Admin@mengyuns.com.



For anything else please open an [issue](https://github.com/aaugustin/websockets/issues/new) or send a [pull request](https://github.com/aaugustin/websockets/compare/) .
Python-DatabaseIP 22.8.22
This is an IP database with verification and supports IP dual stack protocol
Requires Python: >=3.7

# What is `SafeIp`?



SafeIp is a library for IP authentication in Python that focuses on authentication security. It builds algorithms written in pure Python and can be ported to other languages.







## **`SafeIp` infrastructure**



```shell

SafeIp				# library name

│ __init__.py		# function table

└─ __ip__data__.py	# system call table

````







## **`SafeIp` function usage method**







```shell

File function: IP database that supports IPv6 and IPv4 dual-stack protocols.

File Description: Add, delete, verify IP information

File author: mxlbb(cute baby fox)

File Date: August 22, 2022

File function: 	SafeIp.add(ip)

				SafeIp.update(ip)

				SafeIp.remove(ip)

				SafeIp.verify(ip)

				SafeIp.printf()

```







# Why use `SafeIp`?



`SafeIp` development principles:



1. **Security**: `SafeIp` (used with `websockets`) is used as authentication, the transmitted data can be in plain text and illegal users can only view it and cannot change it;

2. **Defense: **`SafeIp` (used in conjunction with `websockets`) will form an almost absolute elimination of all illegal user connections and brute force cracking;

3. **Performance**: `SafeIp` (used with `websockets`) will reduce the performance consumption of the server authentication process and greatly improve the resource allocation of productivity.







# Why not use `SafeIp`?



- If you often use web-provided libraries or have your own set of authentication methods, you can deprecate the library functions provided by `SafeIp`.







# what else?



Bug reports, patches and suggestions welcome!



To report a security vulnerability, please contact the author: Admin@mengyuns.com.



For anything else please open an [issue](https://github.com/aaugustin/websockets/issues/new) or send a [pull request](https://github.com/aaugustin/websockets/compare/) .
PdifFinder 1.1.3
This program is designed for annotation of antimicrobal resistance(AMR), pdif site and pdif-ARGs module in bacteria

Author: Shao Mengjie, Liang Qian at 20220803

Email: 1437819081@qq.com; norah-liang@dmicrobe.com

Institute: Hangzhou Digital-Micro Biotech Co.,Ltd

This program is designed for annotation of antimicrobal resistance(AMR), pdif site and pdif-ARGs module in bacteria.

PdifFinder is a python3.X script, running on linux. You can download from github by git clone https://github.com/mjshao06/pdifFinder.git.
ObHavoUz 1.0
ObHavoUz

![alt text](https://i.imgur.com/thARTOK.png)

````
pip install ObHavoUz
````

````
from asyncio import get_event_loop

from obhavo import ObHavo


async def main():
    data = await ObHavo(city='samarqand').obhavo()
    print(data)

if __name__ == '__main__':
    get_event_loop().run_until_complete(main())
````
````
{'city': 'Samarqand', 'day': 'Bugun, 22 avgust', 'info': 'Ochiq havo', 'description': "\n\nNamlik: 13%\nShamol: G'arbiy-shimoli-g'arbiy, 4.4 m/s\nBosim: 757 mm sim. ust.\n\n\nOy: Eski oy\nQuyosh chiqishi: 05:50\nQuyosh botishi: 19:19\n\n\n", 'degree': '+31Â°+15Â°'}
````
````
print(data.get('city'))
>>> Samarqand
````

````
from asyncio import get_event_loop

from obhavo import ObHavo


async def main():
    data = await ObHavo().all()
    print(data)

if __name__ == '__main__':
    get_event_loop().run_until_complete(main())
````
# Shaharlar ro'yhati
**Toshkent**
**Samarqand**
**Andijon**
**Buxoro**
**Jizzax**
**Qarshi**
**Navoyi**
**Namangan**
**Nukus**
**Termiz**
**Urganch**
**Fargona**
**Xiva**