Saravanan666/pypi-org huggingface dataset:
Package: pynut-ftp
pynut - Laurent TupinIt provides various functions to simplify the users life.InstallationYou can install the package fromPyPI:python -m pip install pynut-ftpThe package is supported on Python 3.7 and above.How to useYou can call a function as this example:$ ----------------------------------------------------
>>> from pyNutTools import nutDate
>>> nutDate.today()This is the libraries I am using with the package$ ----------------------------------------------------
>>> paramiko==2.11.0DocumentationTemporary documentation for nutFtp :Class c_FTP and c_SFTP allow you to Download / Upload on a server
Decorated to be a singleton as to keep the same instance / connection
FTP uses the ftplib library, SFTP paramiko

from pyNutFtp import nutFtp as ftp

1.1. Download FTP

ftp.fBl_ftpDownFileBinary(host, uid, pwd, ['FTP Folder'], fileName, folderToSave, bl_ssl = False)
    OR
_ftp = ftp.ftp_prep(host, uid, pwd, ['FTP Folder'], bl_ssl = False)
_ftp.ftp_DownloadFile(fileName, folderToSave)

1.2. Download SFTP

ftp.ssh_downFile(host, uid, pwd, ['FTP Folder'], fileName, folderToSave, int_port = 10022)
    OR
_sftp = sftp_prep(host, uid, pwd, ['FTP Folder'], int_timeout = -1, int_port = 10022)
_sftp.sftp_DownloadFile(fileName, folderToSave)

2.1 Upload FTP

ftp.fBl_ftpUpFile_Bi(host, uid, pwd, ['FTP Folder'], fileName, folderToSave,  bl_ssl = False)
    OR
_ftp = ftp_prep(host, uid, pwd, ['FTP Folder'], bl_ssl = False)
_ftp.ftp_UploadFile(fileName, folderToSave)

2.2 Upload SFTP

bl_success = ftp.ssh_upFile(host, uid, pwd, ['FTP Folder'], fileName, folderToSave, int_port = 10022)
    OR
_sftp = sftp_prep(host, uid, pwd, ['FTP Folder'], int_port = 10022)
_sftp.sftp_UploadFile(fileName, folderToSave)END
Package: pyNutrient
Getting StartedInstallationThe recommended way to install this software is withpip:pip install rcwaAnd that's it!Hello World ProgramTo run a simple example, run:python -m rcwa.examples.bragg_mirrorFeaturesDocumentationThis  project is documented onRead The Docs. For additional information, including downloading examples, you can view this project ongithub.Author: Jordan Edmunds, UC Irvine Alumnus, UC Berkeley Ph.D. StudentDate Started: 2020/01/05LicenseThis project is distributed under theMIT license.This project uses the FoodData Central database from the awesome folks at the USDA:U.S. Department of Agriculture, Agricultural Research Service. FoodData Central, 2019. fdc.nal.usda.gov.
Package: pyNutriScore
pyNutriScoreThe goal of the project is to provide simple package that can calculate the Nutri-Score.What is the Nutri-Score ?The Nutri-Score is a nutrition label that converts the nutritional value of products into a simple code consisting of 5 letters, each with its own colour.Each product is awarded a score based on a scientific algorithm.This formula takes into account the nutrients to avoid (energy value and the amount of sugars, saturated fats and salt) and the positive ones (the amount of fibre, protein, fruit, vegetables and nuts).You can therefore see at a glance which products are recommended and which should be avoided.Source:https://nutriscore.colruytgroup.com/colruytgroup/en/about-nutri-score/Paper:https://pdfs.semanticscholar.org/3d1c/c206bc286bb5f80452821a0d26ff9e55b387.pdfWhere to get itThe source code is currently hosted on GitHub at:https://github.com/lemonhead94/pyNutriScoreUsageInstallpipinstallpyNutriScoreCalculate the nutri-score:frompyNutriScoreimportNutriScoreresult=NutriScore().calculate({'energy':0,'fibers':4,'fruit_percentage':60,'proteins':2,'saturated_fats':2,'sodium':500,'sugar':10,},'solid'# either 'solid' or 'beverage')print(result)# Output: 2Calculate the nutri-score class:frompyNutriScoreimportNutriScoreresult=NutriScore().calculate_class({'energy':0,'fibers':4,'fruit_percentage':60,'proteins':2,'saturated_fats':2,'sodium':500,'sugar':10,},'solid'# either 'solid' or 'beverage')print(result)# Output: "B"LicenseMITContributionFeel free to add suggestions, PRs, comments and bug reports.CreditsThis is a re-implementation of the TypeScript packagenutri-scorebyAlex Kolarskiin Python.AuthorsJorit Studer (jorit.studer@gmail.com)
Package: pynutrition
pynutritionLLM-driven Python daily nutrition appInstallationpip install pynutritionUsagefrompynutritionimportIngredient,Quantity,Calories,Compositionfrompynutrition.nutrientsimportFat,Saturates,Carbohydrate,Sugar,Protein,Saltyoghurt=Ingredient(name="Greek Yoghurt Bakoma (5900197012723)",quantity=Quantity(250),calories=Calories(100),composition=Composition({Fat(7.5),Saturates(4.5),Carbohydrate(4.7),Sugar(4.7),Protein(3.5),Salt(0.12)}),base=100)walnuts=Ingredient("Walnuts Carrefour (5905617004623)",Quantity(30),Calories(666),composition=Composition({Fat(60.3),Saturates(6.6),Carbohydrate(11.5),Sugar(9.9),Protein(16)}),base=100)meal=yoghurt+walnutsprint(meal.calories.as_int())# round(2.5 * 100 + 0.3 * 666)>>>450Thebaseis used for calculations of nutritional information which are expressed as amounts perbase,  often (as in the example) equal to 100g. All quantities are expressed in grams.You can use.get_dataand.load_datato fetch nutrional data with GPT-4 in the format accepted by the app and load each retrieved row asIngredientthat can be used to compose meals.InfoSoftware engineers, plagued by the stereotype of poor eating and collecting bad habitsSource:HackerNoonThis is a one-day project I quickly built (and tuned) for myself to improve my diet and nutrition. While you can see the haste in the code and design, I have realised even such rudimentary version might be useful to you. I want to contribute to supporting others in the community in their goal of becoming healthier, happier and stronger.I hope I will find some time to make this project grow. If you are interested in extending its functionalities, found bugs or want to help, hit me up throughissues.
Package: pynvcodec
NvCodec - PythonRequirecuda >= 11.2numpy >= 1.7python >= 3.6gcc >= 7.5make >= 4.1InstallpipinstallpynvcodecUsage0. Init PyNvCodecfromnvcodecimportVideoSource,VideoDecoder,VideoEncoder1. Use VideoSourcesource=VideoSource("rtmp://RTMP_URL")h264_data=source.read()2. Use VideoDecoderdecoder=VideoDecoder()# output OpenCV format frameframes=decoder.decode(h264_data)# output SDL format frameframes=decoder.decode(h264_data,1)3. Use VideoEncoderencoder=VideoEncoder(width,height)h264_data=encoder.encode(frame)
Package: pynventory
PynventoryCreate a DokuWiki Linux Server inventory table.# pynventory --help
usage: pynventory 192.168.1.0/24 --hostname --cpu_cores --memory

Create a DokuWiki friendly inventory table of you servers

positional arguments:
  ip_range      CIDR IP range. ie: 192.168.0.0/24

optional arguments:
  -h, --help    show this help message and exit
  --cpu_cores
  --hostname
  --os_version
  --ntp_host
  --memory
  --disk
  --kernel
  -d            enable verbose output to stderr
Package: pynvest
Visão GeralA bibliotecapynvestfoi criada para facilitar o processo de extração e análise de indicadores financeiros da bolsa de valores brasileira (B3). Isto é obtido através deweb scrappingsaplicados a plataformas/sites financeiros para extração de atributos e valores capazes de proporcionar, aos usuários, uma jornada interessante de análise de dados.QuickstartA instalação da biblioteca pode ser feita através de qualquer gerenciador de pacotes Python, como opip, por exemplo:pipinstallpynvestA partir deste ponto, os usuários poderão utilizarscrapperscapazes de entregar indicadores financeiros em formatos amigáveis (como DataFrames dopandas, por exemplo).# Importando classefrompynvest.scrappers.fundamentusimportFundamentus# Instanciando objeto da classepynvest_scrapper=Fundamentus()# Obtendo indicadores financeiros de uma Açãodf_itub3=pynvest_scrapper.coleta_indicadores_de_ativo("itub3")📽️ Demonstração de método de extração de indicadores financeirosReadthedocs📚 Para saber mais sobre essa iniciativa, acesse apágina oficial de documentação da biblitoecacriada com carinho e dedicação para todos os interessados na solução. Viva o open source!Entre em ContatoGitHub:@ThiagoPaniniLinkedIn:Thiago PaniniHashnode:panini-tech-labDevTo:thiagopanini
Package: pynvi
pynviBuildCoveragemasterdevelopmentpynviTürkiye Cumhuriyeti Nüfus ve Vatandaşlık İşleri Genel
Müdürlüğü SOAP servisi için oluşturulmuş köprü bir Python
kütüphanesidir.Neler Yapılabilir?Bu kütüphane ile Türkiye Cumhuriyeti Nüfus ve Vatandaşlık İşleri
Genel Müdürlüğü'nün SOAP servisinin verdiği hizmetlerden
yararlanılabilir. Neler yapılacağına dair bir fikir edinmek içinilgili bağlantıya gözatın.Her ne kadar resmi kaynaklarda kullanımın sınırları ([throttling](https://en.wikipedia.org/wiki/Throttling_process_(computing)gibi)) belirtilmemişse de geliştirici servise fazla yüklenmemeyi göz önünde
bulundurmalıdır.Yüklemepipile yükleme yapabilirsiniz.pip install pynviKullanımVatandaş Sorgulamapynvi.verify_identitymetodu ile vatandaş sorgusu yapabilirsiniz.ArgümanTürVarsayılanidentity_numberint-namestr-surnamestr-year_of_birthint-Örneklerpynvi.verify_identity(11111111111,"ERAY","ERDİN",1994)# TrueUyarıNVİ,namevesurnamedeğerlerini hepsi büyük harf olarak kabul
etmektedir. Ad ve soyadın hepsinin büyük harf olmaması durumunda
iseFalsedöndürmektedir. Bu kütüphane,namevesurnamedeğerlerinizi otomatik olarak büyük harfe döndürmeyecektir. Bunu
sizin sağlamanız beklenmektedir.# Eğer yukarıdaki örnek doğruysapynvi.verify_identity(11111111111,"Eray","Erdin",1994)# Falsepynvi.verify_identity(11111111111,"eray","erdin",1994)# FalseUyarıSunuucu tarafından bir hata geldiğindeNVIExceptionile yakalayabilirsiniz.try:pynvi.verify_identity(11111111111,"ERAY","ERDİN",1994)exceptpynvi.NVIExceptionase:# bir hata var ise buradayız# birçok sebepten sunucu hata verebilir# sunucu meşgul ya da düşmüş olabilirprint(e.message)# hata mesajıprint(e.response)# hataya ait Response
Package: py-nvidia-cumulus
py-nvidia-cumulusUnofficial Python API client forNvidia Cumulus Linux.📖 General informationThe client aims to provide a thin wrapper over theCumulus OpenAPI specification.Therefore, it abstracts endpoints in a Pythonic fashion.🛠 InstallationTo install the package, run the following command:pip install py-nvidia-cumulusTo install the package locally, clone this repository and run the following command:pip install .🚀 QuickstartTo start using the client, instantiate the Cumulus class with the host and authentication detailsfromcumulusimportCumulusnv=Cumulus(url="https://127.0.0.1:8765",auth=("cumulus","password"))# nv.http_session = requests.Session() # set your own session if necessarynv.http_session.verify=False# disable SSL verification if necessary📄 ExamplesGet the IP address of an interface relative to the OpenAPI endpoint# Instantiate the Cumulus class firstloopback=nv.interface.get('lo/ip/address')print(loopback)# {'127.0.0.1/8': {}, '::1/128': {}}Update interface configuration relative to the OpenAPI endpoint:# Instantiate the Cumulus class firstnv.revision.create()# create a revision# patch an interface by providing the created revision ID, new data, and path to the objectnv.interface.patch(rev=nv.revision.rev,data={"10.255.255.2/32":{}},target_path="lo/ip/address")nv.revision.apply()# apply the changesnv.revision.is_applied()# watch the switch to make sure the changes were applied successfullyHere is a more complex example on how to deploy the entire switch configuration using therootendpoint.
We will also see how to get the diff between the current revision and the one we are applying.fromcumulusimportCumulusconfiguration={"key":"value"}nv=Cumulus(url="https://127.0.0.1:8765",auth=("cumulus","password"))nv.http_session.verify=False# by default the switch uses self-signed certificatenv.revision.create()# remove previous configuration completely.# Otherwise, only new keys will be applied and old ones won't be removednv.root.delete(nv.revision.rev)nv.root.patch(rev=nv.revision.rev,data=configuration)# see the changes between the current and pending revisionsprint(nv.root.diff(nv.revision.rev))nv.revision.apply()# check switch status for 3 minutesnv.revision.is_applied(retries=180)# update revision to get the success/error messagenv.revision.refresh()print(nv.revision.config)Due to the very dynamic nature of Nvidia Cumulus API, there may not always be a model to cover the endpoint you want to use.
Adding your own model is very simple.fromcumulusimportCumulusfromcumulus.modelsimportBaseModelnv=Cumulus(url="https://127.0.0.1:8765",auth=("cumulus","password"))programming=BaseModel(client=nv,endpoint="system/forwarding/programming")print(programming.get(endpoint_params={"rev":"applied"}))🏷️ VersioningWe useSemVerfor versioning.
To see the available versions, check thePyPI pageortags in this repository.🤝 ContributionWe welcome contributions, issues, and feature requests!
Also, please refer to ourcontribution guidelinesfor details.Made with♥byNamecheap Cloud Team
Package: pynvidiasmi
# pynvidiasmi
Querynvidia-smicommand and return its output as a list of dictionaries.`python >> from pynvidiasmi import query, get_available_gpus >> # 'query' returns a dictionary with the queried fields >> # Possible fields can be obtained vianvidia-smi--help-query-gpu>>query(fields=["index","name", "pstate", "utilization.gpu","utilization.memory"])[{'index':0, 'name':'A100-SXM4-40GB','pstate': 'P0', 'utilization.gpu': 0, 'utilization.memory': 0}, {'index': 1, 'name':'A100-SXM4-40GB','pstate': 'P0', 'utilization.gpu': 47, 'utilization.memory': 10}] >> # 'get_available_gpus' queries the gpu 'times' times, waiting 'sleep' seconds between queries >> # and returns the GPUs that satisfy the memory and compute constraints all the times. >> # This helps in obtaining the GPUs that are available for starting a computation. >> get_available_gpus(memory_threshold=0, compute_threshold=0, times=3, sleep=1.0) [0] `
Package: pynvjpeg
NvJpeg - PythonRequirenvjpegcuda >= 10.2numpy >= 1.7python >= 3.6gcc >= 7.5make >= 4.1SystemLinux(x86, x86_64)
Nvidia Jetson OSInstallpipinstallpynvjpegUsage0. Init PyNvJpegfromnvjpegimportNvJpegnj=NvJpeg()1. Use PyNvJpegRead Jpeg File to Numpyimg=nj.read("_JPEG_FILE_PATH_")# like cv2.imread("_JPEG_FILE_PATH_")Write Numpy to Jpeg Filenj.write("_JPEG_FILE_PATH_",img)# or nj.write("_JPEG_FILE_PATH_", quality)# int quality default 70, mean jpeg quality# like cv2.imwrite("_JPEG_FILE_PATH_", img)Decode Jpeg bytes in variableimg=nj.decode(jpeg_bytes)# like cv2.imdecode(variable)Encode image numpy array to bytesjpeg_bytes=nj.encode(img)# or with jpeg quality# jpeg_bytes = nj.encode(img, 70)# int quality default 70, mean jpeg quality# like cv2.imencode(".jpg", variable)[1]
Package: pynvme
pynvme: builds your own tests.Pynvme is an user-space NVMe test driver with Python API. It is an open, fast, and extensible solution for SSD developers and test engineers to build their own tests intuitively.Featuresaccess PCI configuration spaceaccess NVMe registers in BAR spacesend any NVMe admin/IO commandssupport callback functions for NVMe commandssupport MSI/MSIx interruptstransparent checksum verification on every LBAgenerates IO workload of high performance and low latencysupport multiple namespacessupport multiple tests on different controllersintegrate with pytestintegrate with VSCode to display cmdlog in GUIsupport NVMe over TCP targetsHMB: Host Memory Buffer (PyNVMe3 only)ZNS: Zoned Namespace (PyNVMe3 only)TCG (PyNVMe3 only)LinksRepositoriesGitHub:https://github.com/pynvme/pynvmeMirror:https://gitee.com/pynvme/pynvmeDocumentsWeb:https://pynvme.readthedocs.io/PDF:https://buildmedia.readthedocs.org/media/pdf/pynvme/latest/pynvme.pdfPresentationIntroduction:pynvme builds your own tests.SPDK PRC Summit 2019, Beijing. Why SSD Developers Need Pynvme and Why Pynvme Needs SPDK.pdf,video.SDC2020. Pynvme: an Open, Fast and Extensible NVMe SSD Test Tool.pdf,video.ContactEmail:sales@pynv.me
Package: pynvraw
pynvrawPure-Python wrappings overnvapiwhich only require NVidia drivers and CUDA being isntalled on the machine.Due to the nature of nvapi it only works on Windows (as nvapi is Windows-only).This package allows monitoring of some values for NVidia cards and doing some basic control like setting fan rotation, power limit or overclock.Use at your own risk!Inspirationshttps://github.com/arrivan/fermtools/blob/master/nvapi/_NvAPI_IDs.txthttps://1vwjbxf1wko0yhnr.wordpress.com/2015/08/10/overclocking-tools-for-nvidia-gpus-suck-i-made-my-own/https://github.com/falahati/NvAPIWrapper/blob/master/NvAPIWrapper/Native/Helpers/FunctionId.cshttps://github.com/graphitemaster/NVFC/blob/master/src/nvapi.cpphttps://github.com/processhacker/plugins-extra/blob/master/NvGpuPlugin/nvidia.hhttps://github.com/processhacker/plugins-extra/blob/master/NvGpuPlugin/nvidia.c
Package: pynvx
PynvxPython bindings for NVIDIA CUDA APIs.APIsInitializationcudaInitcudaInit() -> int> Initialize CUDA Runtime.System QueriescudaSystemGetDriverVersioncudaSystemGetDriverVersion() -> int> Get CUDA Driver version.cudaSystemGetRuntimeVersioncudaSystemGetRuntimeVersion() -> int> Get CUDA Runtime version.cudaDeviceGetCountcudaDeviceGetCount() -> int> Get CUDA device count.cudaDeviceGetHandlescudaDeviceGetHandles() -> List[int]> Get CUDA device handles in list.Device QueriescudaGetNamecudaGetName(handle) -> str> Get CUDA device name.cudaGetClockRatecudaGetClockRate(handle) -> int> Get CUDA device clock rate in kilohertz.cudaGetComputeCapabilitycudaGetComputeCapability(handle) -> List[int]> Get CUDA revision numbers in list [major, minor], defining the device’s compute capability.cudaGetMajorcudaGetMajor(handle) -> int> Get CUDA major revision numbers defining the device’s compute capability.cudaGetMinorcudaGetMinor(handle) -> int> Get CUDA minor revision numbers defining the device’s compute capability.cudaGetMemInfocudaGetMemInfo(handle) -> List[int]> Get CUDA memory information of the device in list [total, free, used].cudaGetMemTotalcudaGetMemTotal(handle) -> int> Get CUDA total memory of the device.cudaGetMemFreecudaGetMemFree(handle) -> int> Get CUDA free memory of the device.cudaGetMemUsedcudaGetMemUsed(handle) -> int> Get CUDA used memory of the device.cudaGetMultiProcessorCountcudaGetMultiProcessorCount(handle) -> int> Get CUDA multiprocessor numbers on the device.cudaGetPciBusIDcudaGetPciBusID(handle) -> int> Get CUDA PCI bus identifier of the device.cudaGetPciDeviceIDcudaGetPciDeviceID(handle) -> int> Get CUDA PCI device (sometimes called slot) identifier of the device.cudaGetPciDomainIDcudaGetPciDomainID(handle) -> int> Get CUDA PCI domain identifier of the device.
Package: pynwfd
this is a python api for cma nwfd-grib2 c/c++ library.install_requires:python3installing:pip install pynwfdhow to use:from pynwfd.grib_write import *
import numpy as np

data_size=193*220
grib_size=(500+data_size*4)*12 #12 hour,193*220 points,float type 
cgrib=(c_ubyte*grib_size)()

data=np.zeros((12,193,220))-1
data[1,10:20,10:20]=63

filename='leo-null.grb2'
#status=0:业务产品 1:测试产品 2:科研产品 3:再分析 
lens=Nwfd().nwfd_create(cgrib,2021, 3, 28, 8, 0, 0,status=0)
# def nwfd_addgrid(self,cgrib,slon,elon,slat,elat,DX,DY,Ni,Nj):
lens=Nwfd().nwfd_addgrid(cgrib, 101.05, 112, 22.1, 31.7, 0.05, 0.05, 220, 193)
for i in range(12):
    #  def nwfd_addfield_jpeg(self,cgrib,category,element,statistical, year, month, day, hour, minute,second, 
    #                                forecasttime, timerange, data, ngrdpts, leveltype, level, isforecast=True, istimepoint=False)
    lens=Nwfd().nwfd_addfield_jpeg(cgrib,1,201,0,2021,3,28,8,0,0,i+1,1,data[i,:,:],data_size,1,0,True,False)
lens=Nwfd().nwfd_end(cgrib)
lens=Nwfd().nwfd_savetofile(cgrib, lens, grib2file=filename)the last:send email to me ,if have issues,also suggests.

email: dpqnju@126.com
Package: pynwheel
A Python client for Pinwheel's APIInteract with Pinwheel's API in PythonInstallationFrom PyPi:python -m pip install pynwheelFrom GitHubpython -m pip install git+https://github.com/nwithan8/pynwheel.gitUsageCan retrieve data from Pinwheel's API as raw JSON or pydantic objectsImport thepynwheelpackage to initialize the API
Example:importpynwheelapi=pynwheel.API(api_type=pynwheel.APIType.PRODUCTION,api_key="thisisanapikey")Setraw=Trueto return JSON data,raw=Falseto return objects.
NOTE: Object creation not supported yet. Will default to JSON responses.DocumentationDocumentation available onReadTheDocs
Package: pynwjs
PyNWJSPyNWJS is a pair of frameworks in Python and JavaScript to integrate the powerful GUI framework NWJS in Python programs.
In particular, it allows you to run a regular NWJS application as the GUI of a Python program
and establish an event-based communication between the two.
Both sides can register event callbacks on arbitrary custom events and emit such events,
e.g., to notify about button presses or results of extended computations.License:BSD 3Author:Philipp SchillingerRepo:https://github.com/pschillinger/pynwjsDocs:https://pynwjs.readthedocs.ioIssues:https://github.com/pschillinger/pynwjs/issuesPyNWJS does not have any dependencies itself, but expects either your application or the user system to provide the desiredNWJSexecutable.
Package: pynwn
pynwnpynwn is now a wrapper (or will be) aroundrollnw.  Older versions can be found onmaster-obsoleteanddevelop-obsolete.  Getting CI going, first.. then the rest.importpynwnpynwn.kernel.start()mod=pynwn.kernel.load_module("mymodule.mod")forareainmod:# Do neat thingsStatusformatsImageIniNssNssLexerNssParserTwoDAi18nLanguageLocStringTlkconversion - unneeded, Python strings are already utf8kernelConfigKernelObjectsResourcesStringsobjectsAreaCreatureDialogDoorEncounterFactionItemJournalModuleObjectBasePalettePlaceableSoundStoreTriggerWaypointcomponentsAppearanceCombatInfoCommonCreatureStatsEquipsInventoryLevelStatsLocalDataLocationLockSavesSpellBookTrapresourcesBif - unexposedContainerDirectoryErfKeyNWSyncResourceResourceDescriptorResourceTypeResrefZipserializationArchivesGffInputArchiveGffOutputArchiveSerializationgff_commonutilByteArrayTokenizer - unneededbase64 - unneededcompressionenum_flags - unneededgame_installmacros - unneededplatformscope_exit - unneededstring - unneededtemplates - unneeded
Package: pynws
pynwsA python library to asynchronously retrieve weather observation from NWS/NOAA.ExampleSeeexample.pyfor a runnable example.PHILLY=(39.95,-75.16)USERID="testing@address.xyz"asyncdefexample():asyncwithaiohttp.ClientSession()assession:nws=pynws.SimpleNWS(*PHILLY,USERID,session)awaitnws.set_station()awaitnws.update_observation()awaitnws.update_forecast()awaitnws.update_alerts_forecast_zone()print(nws.observation)print(nws.forecast[0])print(nws.alerts_forecast_zone)Functionalitypynws exposes the ability to retrieve raw data usingraw_datamodule.Nwsclass offers ability to retrieve minimally processed data for a single location.SimpleNWSclass offers data caching and several other helpers for interpreting output.Units for Observations in SimpleNWSNWS API does not expose all possible units for observations.  Known units are converted to the following:unit typeknown NWS unitspynws unittemperaturedegF, degCCelsiuspressurePaPascalspeedm_s-1, km_h-1km_h-1percentpercentpercentangledegree_(angle)degreesdistancemmeter