# 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 pypi
pip install mlcast
```
or
```bash
# Install from source
git clone https://github.com/mlcast-community/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.
Raw data
{
"_id": null,
"home_page": null,
"name": "mlcast",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": "MLCast Community <franch@fbk.eu>",
"keywords": "machine-learning, meteorology, nowcasting, precipitation, pytorch, radar, weather",
"author": null,
"author_email": "Gabriele Franch <franch@fbk.eu>, Leif Denby <lcd@dmi.dk>",
"download_url": "https://files.pythonhosted.org/packages/06/6b/3983dd04088e47296f80f61c01af6f04db92c8da898866163080285eb321/mlcast-0.0.1a4.tar.gz",
"platform": null,
"description": "# mlcast\n\nThe 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.\n\nThis repo contains the `mlcast` package for machine learning-based weather nowcasting.\n\n## Project Status\n\n\u26a0\ufe0f **Under Development** - This package is currently in early development stages and not usable by end users. The API and functionality are subject to change.\n\n## Installation\n```bash\n# Install from pypi\npip install mlcast\n```\n\nor\n```bash\n# Install from source\ngit clone https://github.com/mlcast-community/mlcast\ncd mlcast\nuv pip install -e .\n\n# For development\nuv pip install -e \".[dev]\"\n```\n\n## Project Structure\n\n```\nmlcast/\n\u251c\u2500\u2500 src/mlcast/ # Main package source code\n\u2502 \u251c\u2500\u2500 __init__.py # Package initialization and version\n\u2502 \u251c\u2500\u2500 data/ # Data loading and preprocessing\n\u2502 \u2502 \u251c\u2500\u2500 zarr_datamodule.py # PyTorch Lightning data module for Zarr\n\u2502 \u2502 \u2514\u2500\u2500 zarr_dataset.py # PyTorch dataset for Zarr arrays\n\u2502 \u251c\u2500\u2500 models/ # Lightning model implementations\n\u2502 \u2502 \u2514\u2500\u2500 base.py # Abstract base classes for nowcasting models\n\u2502 \u2514\u2500\u2500 modules/ # Pure PyTorch neural network modules\n\u2502 \u2514\u2500\u2500 convgru_modules.py # ConvGRU encoder-decoder modules\n\u251c\u2500\u2500 examples/ # Example scripts and notebooks\n\u2502 \u2514\u2500\u2500 scripts/\n\u2502 \u2514\u2500\u2500 simple_train.py # Basic training example\n\u251c\u2500\u2500 pyproject.toml # Project metadata and dependencies\n\u251c\u2500\u2500 LICENSE # Apache 2.0 license\n\u2514\u2500\u2500 README.md # This file\n```\n\n## Development\n\nThis project uses `uv` for dependency management. To set up the development environment:\n\n```bash\n# Install uv if not already installed\ncurl -LsSf https://astral.sh/uv/install.sh | sh\n\n# Install dependencies\nuv sync\n\n# Run pre-commit hooks\nuv run pre-commit install\n```\n\n## Contributing\n\nPlease feel free to raise issues or PRs if you have any suggestions or questions.\n\n## Links to presentations for discussion about the API\n\n- [2024/02/04 first design discussions](https://docs.google.com/presentation/d/1oWmnyxOfUMWgeQi0XyX4fX9YDMX1vl6h/edit?usp=drive_link&rtpof=true&sd=true)\n\n## License\n\nThis project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Machine learning weather nowcasting library",
"version": "0.0.1a4",
"project_urls": {
"Documentation": "https://github.com/mlcast-community/mlcast",
"Homepage": "https://github.com/mlcast-community/mlcast",
"Issues": "https://github.com/mlcast-community/mlcast/issues",
"Repository": "https://github.com/mlcast-community/mlcast"
},
"split_keywords": [
"machine-learning",
" meteorology",
" nowcasting",
" precipitation",
" pytorch",
" radar",
" weather"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "370e11ced28439f52fa7d4812cab2c00607251c1ec4b3807df9293abc578f477",
"md5": "5363fae9330fb5b7426d1d87e48f0f19",
"sha256": "a4b6a0af6d34ecfb0c1559ff891e551f211b6096c994c26b05a911776b14b28c"
},
"downloads": -1,
"filename": "mlcast-0.0.1a4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5363fae9330fb5b7426d1d87e48f0f19",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 14081,
"upload_time": "2025-08-28T20:10:04",
"upload_time_iso_8601": "2025-08-28T20:10:04.224235Z",
"url": "https://files.pythonhosted.org/packages/37/0e/11ced28439f52fa7d4812cab2c00607251c1ec4b3807df9293abc578f477/mlcast-0.0.1a4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "066b3983dd04088e47296f80f61c01af6f04db92c8da898866163080285eb321",
"md5": "1dd8fdff8b426602dcf382d20361ae32",
"sha256": "2ff9e909445a32f03a1c65f38d31269975c8ee029d56e41b388eeaf7576612c0"
},
"downloads": -1,
"filename": "mlcast-0.0.1a4.tar.gz",
"has_sig": false,
"md5_digest": "1dd8fdff8b426602dcf382d20361ae32",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 153028,
"upload_time": "2025-08-28T20:10:05",
"upload_time_iso_8601": "2025-08-28T20:10:05.743543Z",
"url": "https://files.pythonhosted.org/packages/06/6b/3983dd04088e47296f80f61c01af6f04db92c8da898866163080285eb321/mlcast-0.0.1a4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-28 20:10:05",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "mlcast-community",
"github_project": "mlcast",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "mlcast"
}