# animal_data_analysis_tools
Develop the utility tools for animal experiments data analysis for the researchers.
## WA DPIRD Weather Downloader
- Command: `wa_dpird_weather_downloader --help`
- Example: `wa_dpird_weather_downloader --station WN --start 2024-03-19T00:00:00 --end 2024-04-19T00:00:00 --out datasets/WN_2024-03-19_to_2025-04-19.csv --api-key YOUR_API_KEY`
The CLI downloads real data from the WA DPIRD API with retries and resumable CSV output.
### Install locally for development
- Editable install: `pip install -e .`
- Run CLI after install: `wa_dpird_weather_downloader --help`
### Usage
- Run (API key required via flag):
- `wa_dpird_weather_downloader --station WN --start 2024-03-19T00:00:00 --end 2025-08-01T00:00:00 --out datasets/WN_2024-03-19_to_2025-08-01.csv --api-key YOUR_API_KEY`
### Flags
- `--station`: station ID/code (e.g., `WN`, `009225`)
- `--start`, `--end`: date-time `YYYY-MM-DDTHH:MM:SS` (UTC)
- `--out`: output CSV path
- `--api-key` (required): DPIRD API key
- `--limit`: page size (default 200)
### Features
- Retries with exponential backoff for 429 and 5xx
- Resumable downloads: appends pages to CSV and maintains a sidecar checkpoint `<out>.ckpt.json`
- Page-by-page writing to keep memory usage low
### Build & publish to PyPI (summary)
1) Build: `python -m build` (install `build` first)
2) Upload: `twine upload dist/*` (use PyPI API token `__token__`)
See below for detailed steps.
### Detailed PyPI publish steps
1. Create PyPI account and API token (scoped to the project)
2. Install tooling: `pip install build twine`
3. Bump version in `pyproject.toml` under `[project] version`
4. Build artifacts: `python -m build` (creates `dist/*.tar.gz` & `dist/*.whl`)
5. Upload to TestPyPI (optional): `twine upload -r testpypi dist/*`
- Then install to test: `pip install -i https://test.pypi.org/simple/ wa-weather-station-tool`
6. Upload to PyPI: `twine upload dist/*`
- Username: `__token__`, Password: your API token
7. Verify install: `pip install wa-weather-station-tool && wa_dpird_weather_downloader --help`
Raw data
{
"_id": null,
"home_page": null,
"name": "wa-weather-station-tool",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "CLI, DPIRD, WA, downloader, weather",
"author": "Animal Data Analysis Tools",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/b8/94/092b592e2de785e4048be4a9393406b981fdc4180dca0e4b7d199e3d6382/wa_weather_station_tool-0.1.0.tar.gz",
"platform": null,
"description": "# animal_data_analysis_tools\nDevelop the utility tools for animal experiments data analysis for the researchers.\n\n## WA DPIRD Weather Downloader\n- Command: `wa_dpird_weather_downloader --help`\n- Example: `wa_dpird_weather_downloader --station WN --start 2024-03-19T00:00:00 --end 2024-04-19T00:00:00 --out datasets/WN_2024-03-19_to_2025-04-19.csv --api-key YOUR_API_KEY`\n\nThe CLI downloads real data from the WA DPIRD API with retries and resumable CSV output.\n\n### Install locally for development\n- Editable install: `pip install -e .`\n- Run CLI after install: `wa_dpird_weather_downloader --help`\n\n### Usage\n- Run (API key required via flag):\n - `wa_dpird_weather_downloader --station WN --start 2024-03-19T00:00:00 --end 2025-08-01T00:00:00 --out datasets/WN_2024-03-19_to_2025-08-01.csv --api-key YOUR_API_KEY`\n\n### Flags\n- `--station`: station ID/code (e.g., `WN`, `009225`)\n- `--start`, `--end`: date-time `YYYY-MM-DDTHH:MM:SS` (UTC)\n- `--out`: output CSV path\n- `--api-key` (required): DPIRD API key\n- `--limit`: page size (default 200)\n\n### Features\n- Retries with exponential backoff for 429 and 5xx\n- Resumable downloads: appends pages to CSV and maintains a sidecar checkpoint `<out>.ckpt.json`\n- Page-by-page writing to keep memory usage low\n\n### Build & publish to PyPI (summary)\n1) Build: `python -m build` (install `build` first)\n2) Upload: `twine upload dist/*` (use PyPI API token `__token__`)\nSee below for detailed steps.\n\n### Detailed PyPI publish steps\n1. Create PyPI account and API token (scoped to the project)\n2. Install tooling: `pip install build twine`\n3. Bump version in `pyproject.toml` under `[project] version`\n4. Build artifacts: `python -m build` (creates `dist/*.tar.gz` & `dist/*.whl`)\n5. Upload to TestPyPI (optional): `twine upload -r testpypi dist/*`\n - Then install to test: `pip install -i https://test.pypi.org/simple/ wa-weather-station-tool`\n6. Upload to PyPI: `twine upload dist/*`\n - Username: `__token__`, Password: your API token\n7. Verify install: `pip install wa-weather-station-tool && wa_dpird_weather_downloader --help`\n",
"bugtrack_url": null,
"license": "Proprietary",
"summary": "WA DPIRD weather station downloader (minimal CLI)",
"version": "0.1.0",
"project_urls": null,
"split_keywords": [
"cli",
" dpird",
" wa",
" downloader",
" weather"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "3159fbfb8fd06e5d455d60ea405b4ca601add2d4d87b13bad82f7a5372c18a5b",
"md5": "c748b01b6b4afc77ce8fe0f0117fed95",
"sha256": "293849ab5b44b2c7e42d484da3436c10eb5e99f928ae5d268bfe5223354be3cc"
},
"downloads": -1,
"filename": "wa_weather_station_tool-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c748b01b6b4afc77ce8fe0f0117fed95",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 7380,
"upload_time": "2025-09-07T02:45:41",
"upload_time_iso_8601": "2025-09-07T02:45:41.760030Z",
"url": "https://files.pythonhosted.org/packages/31/59/fbfb8fd06e5d455d60ea405b4ca601add2d4d87b13bad82f7a5372c18a5b/wa_weather_station_tool-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b894092b592e2de785e4048be4a9393406b981fdc4180dca0e4b7d199e3d6382",
"md5": "fc9a28fbbe95741b457f1481a2c00463",
"sha256": "43e30f6e8d825b1f3c11fe498123ca13163499c7e5f70e6b56856743e444c2ec"
},
"downloads": -1,
"filename": "wa_weather_station_tool-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "fc9a28fbbe95741b457f1481a2c00463",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 608680,
"upload_time": "2025-09-07T02:45:49",
"upload_time_iso_8601": "2025-09-07T02:45:49.852206Z",
"url": "https://files.pythonhosted.org/packages/b8/94/092b592e2de785e4048be4a9393406b981fdc4180dca0e4b7d199e3d6382/wa_weather_station_tool-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-07 02:45:49",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "wa-weather-station-tool"
}