Skip to content

Commit

Permalink
Merge branch 'release/1.8.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
Tibor Casteleijn committed Jan 14, 2025
2 parents 945b394 + 3d284ad commit 053869c
Show file tree
Hide file tree
Showing 9 changed files with 444 additions and 495 deletions.
23 changes: 12 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,26 +70,27 @@ Options:
You can also use the package in your Python code:
```python
from knmi_dataset_downloader import Downloader
from knmi_dataset_downloader import dataset
import asyncio
from datetime import datetime

async def main():
# Initialize the downloader with your own API key
downloader = Downloader(
dataset_name="Actuele10mindataKNMIstations",
version="2",
max_concurrent=10,
api_key="YOUR_API_KEY", # Optional - will use anonymous API key if not provided
output_dir="path/to/output" # Optional - will use default if not provided
)

# Download files for a specific date range
await downloader.download(
stats = await dataset.download(
api_key="YOUR_API_KEY", # Optional - will use anonymous API key if not provided
dataset_name="Actuele10mindataKNMIstations", # Optional - uses default if not provided
version="2", # Optional - uses default if not provided
max_concurrent=10, # Optional - uses default if not provided
output_dir="path/to/output", # Optional - uses default if not provided
start_date=datetime(2024, 1, 1),
end_date=datetime(2024, 1, 31),
limit=5 # Optional - limit the number of files to download
)

# Access download statistics
print(f"Total files found: {stats.total_files}")
print(f"Files downloaded: {stats.downloaded_files}")
print(f"Files skipped: {stats.skipped_files}")

# Run the download
if __name__ == "__main__":
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "hatchling.build"

[project]
name = "knmi-dataset-downloader"
version = "1.7.0"
version = "1.8.0"
description = "A downloader for KNMI weather datasets"
readme = "README.md"
authors = [
Expand Down
12 changes: 11 additions & 1 deletion src/knmi_dataset_downloader/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1,11 @@
from .downloader import Downloader
from .dataset import download, DownloadStats
from .defaults import DEFAULT_DATASET_NAME, DEFAULT_DATASET_VERSION, DEFAULT_MAX_CONCURRENT, DEFAULT_OUTPUT_DIR

__all__ = [
'download',
'DownloadStats',
'DEFAULT_DATASET_NAME',
'DEFAULT_DATASET_VERSION',
'DEFAULT_MAX_CONCURRENT',
'DEFAULT_OUTPUT_DIR'
]
18 changes: 9 additions & 9 deletions src/knmi_dataset_downloader/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import asyncio
from datetime import datetime
from pathlib import Path
from .downloader import Downloader
from . import dataset
from .defaults import (
DEFAULT_OUTPUT_DIR,
DEFAULT_DATASET_NAME,
Expand Down Expand Up @@ -53,7 +53,7 @@ async def async_main() -> None:
'--start-date', '-s',
default=default_start.isoformat(),
help='Start date in ISO 8601 format example: 2024-01-01T00:00:00 or 2024-01-01, '
'default is 30 minutes ago'
'default is 1 hour and 30 minutes ago'
)
parser.add_argument(
'--end-date', '-e',
Expand Down Expand Up @@ -94,17 +94,17 @@ async def async_main() -> None:
print("Please provide an API key using the --api-key argument")
return

# Initialize downloader
downloader = Downloader(
# Download files
await dataset.download(
api_key=api_key,
dataset_name=args.dataset,
version=args.version,
max_concurrent=args.concurrent,
api_key=api_key,
output_dir=args.output_dir
output_dir=args.output_dir,
start_date=start,
end_date=end,
limit=args.limit
)

# Download files
await downloader.download(start_date=start, end_date=end, limit=args.limit)

def main() -> None:
"""Synchronous wrapper for async_main."""
Expand Down
Loading

0 comments on commit 053869c

Please sign in to comment.