Metadata-Version: 2.4
Name: mlcast
Version: 0.0.1a2
Summary: Machine learning weather nowcasting library
Project-URL: Documentation, https://github.com/mlcast-community/mlcast
Project-URL: Homepage, https://github.com/mlcast-community/mlcast
Project-URL: Issues, https://github.com/mlcast-community/mlcast/issues
Project-URL: Repository, https://github.com/mlcast-community/mlcast
Author-email: Gabriele Franch <franch@fbk.eu>, Leif Denby <lcd@dmi.dk>
Maintainer-email: MLCast Community <franch@fbk.eu>
License: Apache-2.0
License-File: LICENSE
Keywords: machine-learning,meteorology,nowcasting,precipitation,pytorch,radar,weather
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Scientific/Engineering :: Atmospheric Science
Requires-Python: >=3.10
Requires-Dist: fire>=0.7
Requires-Dist: ipykernel>=6.29.5
Requires-Dist: lightning>=2.5.2
Requires-Dist: numpy>=2.2.6
Requires-Dist: torch>=2.7.1
Requires-Dist: xarray>=2025.6.1
Requires-Dist: zarr<=3
Provides-Extra: dev
Requires-Dist: pre-commit>=3.5; extra == 'dev'
Requires-Dist: ruff>=0.8; extra == 'dev'
Description-Content-Type: text/markdown

# mlcast

The MLCast Community is a collaborative effort bringing together meteorological services, research institutions, and academia across Europe to develop a unified Python package for AI-based nowcasting. This is an initiative of the E-AI WG6 (Nowcasting) of EUMETNET.

This repo contains the `mlcast` package for machine learning-based weather nowcasting.

## Project Status

⚠️ **Under Development** - This package is currently in early development stages and not usable by end users. The API and functionality are subject to change.

## Installation

```bash
# Install from source
git clone https://github.com/mlcast/mlcast
cd mlcast
uv pip install -e .

# For development
uv pip install -e ".[dev]"
```

## Project Structure

```
mlcast/
├── src/mlcast/          # Main package source code
│   ├── __init__.py      # Package initialization and version
│   ├── data/            # Data loading and preprocessing
│   │   ├── zarr_datamodule.py   # PyTorch Lightning data module for Zarr
│   │   └── zarr_dataset.py      # PyTorch dataset for Zarr arrays
│   ├── models/          # Lightning model implementations
│   │   └── base.py      # Abstract base classes for nowcasting models
│   └── modules/         # Pure PyTorch neural network modules
│       └── convgru_modules.py   # ConvGRU encoder-decoder modules
├── examples/            # Example scripts and notebooks
│   └── scripts/
│       └── simple_train.py      # Basic training example
├── pyproject.toml       # Project metadata and dependencies
├── LICENSE              # Apache 2.0 license
└── README.md            # This file
```

## Development

This project uses `uv` for dependency management. To set up the development environment:

```bash
# Install uv if not already installed
curl -LsSf https://astral.sh/uv/install.sh | sh

# Install dependencies
uv sync

# Run pre-commit hooks
uv run pre-commit install
```

## Contributing

Please feel free to raise issues or PRs if you have any suggestions or questions.

## Links to presentations for discussion about the API

- [2024/02/04 first design discussions](https://docs.google.com/presentation/d/1oWmnyxOfUMWgeQi0XyX4fX9YDMX1vl6h/edit?usp=drive_link&rtpof=true&sd=true)

## License

This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
