semvec/pypi-packages huggingface dataset:
grib2sail 0.4.0
Grib files downloader for sailing purposes
Requires Python: >=3.10

# GRIB2Sail

<p align="center">
  <img src="https://raw.githubusercontent.com/Ch1nkara/GRIB2Sail/main/docs/assets/grib2sail_logo.png" alt="GRIB2Sail" width="40%">
</p>
<p align="center">
  <em>Grib files downloader for sailing purposes</em>
</p>
<p align="center">
  <img src="https://img.shields.io/pypi/v/grib2sail.svg">
  <img src="https://img.shields.io/github/actions/workflow/status/Ch1nkara/GRIB2Sail/release.yml">
  <img src="https://img.shields.io/badge/license-GPL%20v3-blue.svg">
</p>

Currently the supported models are:
 - AROME (001 and 0025)
 - AROME ANTILLE
 - AROME GUYANE
 - AROME INDIEN
 - AROME NOUVELLE CALEDONIE
 - AROME POLYNESIE
 - GFS (0025)

## Installation

To install GRIB2Sail simply run:
```bash
pip install grib2sail
```

To download GRIB from meteofrance's models (Aome), you must create a free 
account on meteofrance.fr. The procedure is as follow:
 1. Create an account on [the Météo-France API portal](https://portail-api.meteofrance.fr)
 2. Subscribe to the desired service (Arome)
 3. Go to "My API" then, from your subscribed model: "Generate Token"
 4. Checkout the curl field at the bottom, it looks like :
   ```bash
   curl -k -X POST https://portal-api.meteofrance.fr/token -d "grant_type=client_credentials" -H "Authorization: Basic ABCDEF1234abcdef"
   ```
 5. The string that comes after Basic is your application ID 
   (ABCDEF1234abcdef in this example)
 6. Copy/paste this application ID to GRIB2Sail when prompted (you will only
   be prompted the first time you use GRIB2Sail)

## Usage

To get the GRIB file containing the wind, the wind_gust, the atmospheric 
pressure and the cloud coverage for the area between latitude 11.5N - 12.5N 
and longitude 62.5W - 61.5W with a 3 hour step from the AROME ANTILLE model 
run:
```bash
python -m grib2sail --lat 11.5,12.5 --lon -62.5,-61.5 --step 3h --data wind,wind_gust,cloud,pressure
```

The first time you will be prompted to enter your application ID. It will be 
stored in your keyring for subsequent run.

The downloaded grib file will be present in the working directory named `arome_antille_1970-01-01T00.00.00Z_3h.grib2`.

It can now be imported in a navigation software such as OpenCPN

## Roadmap

This is still the early stage of the development the main upcoming features 
are:
 - adding more supported models (arpege, ecmwf...)
 - adding more supported variables (rain, sea state)
 - adding a GUI
bitwarden-sdk 2.0.0
A Bitwarden Client for python
Requires Python: >=3.0

# Build locally

## Requirements

- Python 3
- Rust
- `maturin` (install with `pip install maturin`, or `pip install maturin[patchelf]` on Linux)
- `npm`
- `uv` (recommended; used in test automation)

## Build

```bash
npm install
npm run schemas # generate schemas.py

cd languages/python/
```

You will need to build and run the script using a virtual environment. This will be slightly
different depending on the OS you are using:

```bash
# --- Linux/macOS ---
python3 -m venv .venv
source .venv/bin/activate

# --- Windows ---
python -m venv venv

venv\Scripts\activate.bat # cmd.exe
venv\Scripts\Activate.ps1 # Powershell
```

## Run

```bash
maturin develop
python3 ./example.py

deactivate # run this to close the virtual session
```

You can now import `BitwardenClient` in your Python code with:

```python
from bitwarden_sdk import BitwardenClient
```

# Use without building locally

```bash
pip install bitwarden-sdk
```

# Run

Set the `ORGANIZATION_ID` and `ACCESS_TOKEN` environment variables to your organization ID and
access token, respectively.

```bash
python3 ./example.py
```