# gridwiz_analytics
Utilities to analyze GridWiz e-bike data from Excel files. **You provide the file at call-time** (e.g., `July.xlsx`).
## Install
```bash
pip install .
# or build first:
python -m build && pip install dist/*.whl
```
## Usage
```python
from gridwiz_analytics import (
RevenueTrendAnalyzer, PeakUsageAnalyzer,
HourlyPeakAnalyzer, BikeUsageAnalyzer,
DailyRevenueAnalyzer, DailyRidingAnalyzer
)
# Revenue per parking spot (read Excel when you instantiate)
rev = RevenueTrendAnalyzer("July.xlsx")
print(rev.total_revenue_by_spot())
rev.plot_revenue_by_spot(selected_spots=[
"Gridwiz Parking Area","Fakultas Teknik","Fakultas Kedokteran"
])
# Peak usage by day for selected spots
peak = PeakUsageAnalyzer("Agustus.xlsx")
peak.plot_daily_peak_usage(["Islamic Center"])
# Hourly usage for top-N spots
hourly = HourlyPeakAnalyzer("august.xlsx")
hourly.plot_hourly_usage_top_spots(from_spots=["Islamic Center","UTTARA"], top_n=5)
# Total usage counts (filtered list)
bike = BikeUsageAnalyzer("data_july.xlsx")
bike.plot_usage([
"Gridwiz Parking Area","Fakultas Teknik","UPT Perpustakaan","Rektorat"
])
# Daily revenue per spot (wide date range filled with zeros)
daily_rev = DailyRevenueAnalyzer("16-26.xlsx")
daily_rev.plot_daily_revenue(["Gridwiz Parking Area","Fakultas Teknik"])
# Daily riding counts per spot
daily_ride = DailyRidingAnalyzer("16-26.xlsx")
daily_ride.plot_daily_riding(["Islamic Center","UTTARA"], title="Daily Riding Partnership")
```
Raw data
{
"_id": null,
"home_page": null,
"name": "gridwiz-analytics",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "analysis, analytics, data, gridwiz",
"author": "GridWiz Team",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/cd/c9/c9dd0fae5edd0ad4a33b541c2e0d2d0ce66cc23c3f749c2c9f88c644ef68/gridwiz_analytics-0.1.0.tar.gz",
"platform": null,
"description": "# gridwiz_analytics\n\nUtilities to analyze GridWiz e-bike data from Excel files. **You provide the file at call-time** (e.g., `July.xlsx`).\n\n## Install\n```bash\npip install .\n# or build first:\npython -m build && pip install dist/*.whl\n```\n\n## Usage\n```python\nfrom gridwiz_analytics import (\n RevenueTrendAnalyzer, PeakUsageAnalyzer,\n HourlyPeakAnalyzer, BikeUsageAnalyzer,\n DailyRevenueAnalyzer, DailyRidingAnalyzer\n)\n\n# Revenue per parking spot (read Excel when you instantiate)\nrev = RevenueTrendAnalyzer(\"July.xlsx\")\nprint(rev.total_revenue_by_spot())\nrev.plot_revenue_by_spot(selected_spots=[\n \"Gridwiz Parking Area\",\"Fakultas Teknik\",\"Fakultas Kedokteran\"\n])\n\n# Peak usage by day for selected spots\npeak = PeakUsageAnalyzer(\"Agustus.xlsx\")\npeak.plot_daily_peak_usage([\"Islamic Center\"])\n\n# Hourly usage for top-N spots\nhourly = HourlyPeakAnalyzer(\"august.xlsx\")\nhourly.plot_hourly_usage_top_spots(from_spots=[\"Islamic Center\",\"UTTARA\"], top_n=5)\n\n# Total usage counts (filtered list)\nbike = BikeUsageAnalyzer(\"data_july.xlsx\")\nbike.plot_usage([\n \"Gridwiz Parking Area\",\"Fakultas Teknik\",\"UPT Perpustakaan\",\"Rektorat\"\n])\n\n# Daily revenue per spot (wide date range filled with zeros)\ndaily_rev = DailyRevenueAnalyzer(\"16-26.xlsx\")\ndaily_rev.plot_daily_revenue([\"Gridwiz Parking Area\",\"Fakultas Teknik\"])\n\n# Daily riding counts per spot\ndaily_ride = DailyRidingAnalyzer(\"16-26.xlsx\")\ndaily_ride.plot_daily_riding([\"Islamic Center\",\"UTTARA\"], title=\"Daily Riding Partnership\")\n```\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Data analysis utilities for GridWiz (extracted from notebook)",
"version": "0.1.0",
"project_urls": {
"Homepage": "https://example.com/gridwiz"
},
"split_keywords": [
"analysis",
" analytics",
" data",
" gridwiz"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "533c4084428d6930aee0b3287f6fefe6d0af42b8e1f59efbd8719f353074966e",
"md5": "e9379406f96e39eab69744bbe0846024",
"sha256": "faeadb1d78847369368d2dc0af0493b6013fae3ba823aa5ae16e120309346b68"
},
"downloads": -1,
"filename": "gridwiz_analytics-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e9379406f96e39eab69744bbe0846024",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 6038,
"upload_time": "2025-10-14T01:08:15",
"upload_time_iso_8601": "2025-10-14T01:08:15.359119Z",
"url": "https://files.pythonhosted.org/packages/53/3c/4084428d6930aee0b3287f6fefe6d0af42b8e1f59efbd8719f353074966e/gridwiz_analytics-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "cdc9c9dd0fae5edd0ad4a33b541c2e0d2d0ce66cc23c3f749c2c9f88c644ef68",
"md5": "e849516db26e970af805ba6c4bfc92c0",
"sha256": "4224e94aa2650f98dd50bbe830ca37e941add311149928466170b5d13e982f31"
},
"downloads": -1,
"filename": "gridwiz_analytics-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "e849516db26e970af805ba6c4bfc92c0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 5073,
"upload_time": "2025-10-14T01:08:16",
"upload_time_iso_8601": "2025-10-14T01:08:16.480842Z",
"url": "https://files.pythonhosted.org/packages/cd/c9/c9dd0fae5edd0ad4a33b541c2e0d2d0ce66cc23c3f749c2c9f88c644ef68/gridwiz_analytics-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-14 01:08:16",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "gridwiz-analytics"
}