[![ci-badge][]][ci-link] [![docs-badge][]][docs-link]
[![py-versions-badge][]][pypi-link] [![pypi-badge][]][pypi-link]
# daylio-parser
A Python module to parse Daylio CSV exports
## Development
Install `poetry`, `tox` and `tox-poetry`.
Installing the virtual env:
`$ poetry install`
Switching into the venv:
`$ poetry shell`
Running test for the current python version:
`$ pytest -v --cov=daylio_parser --cov-report term-missing tests`
Running all checks with tox prior to running GitHub actions:
`$ tox`
## TODO
- [x] Parse CSV into entries (parser.py)
- [x] Implement MoodConfig (config.py) to allow multiple moods
- [x] Plus a default config for clean Daylio installs
- [ ] Stats
- [ ] Mood stability algorithm
- [x] Average moods by day
- [x] Average mood by activity
- [x] Find mood periods — aka periods of moods meeting certain criteria
- [ ] Extend mood period search — search above, below and in between thresholds
- [x] Prepare data for plotting
- [x] Splitting entries into bands
- [x] Interpolating data for smooth charts
- [x] Calculating rolling mean
- [ ] Re-export data into other formats
- [ ] JSON
[ci-link]: https://github.com/staticf0x/daylio-parser/actions/workflows/check.yml
[ci-badge]: https://img.shields.io/github/workflow/status/staticf0x/daylio-parser/Check/master
[docs-link]: https://daylio-parser.readthedocs.io/en/latest/
[docs-badge]: https://img.shields.io/readthedocs/daylio-parser/latest
[py-versions-badge]: https://img.shields.io/pypi/pyversions/daylio-parser
[pypi-link]: https://pypi.org/project/daylio-parser/
[pypi-badge]: https://img.shields.io/pypi/v/daylio-parser
Raw data
{
"_id": null,
"home_page": "https://github.com/staticf0x/daylio-parser",
"name": "daylio-parser",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10,<3.13",
"maintainer_email": "",
"keywords": "daylio,parser,stats",
"author": "staticf0x",
"author_email": "staticf0x@pm.me",
"download_url": "https://files.pythonhosted.org/packages/0b/16/007f111601b0c314964d2fba2a2711d991173e314d337616b8e79dcb6a09/daylio_parser-0.4.2.tar.gz",
"platform": null,
"description": "[![ci-badge][]][ci-link] [![docs-badge][]][docs-link]\n[![py-versions-badge][]][pypi-link] [![pypi-badge][]][pypi-link]\n\n# daylio-parser\n\nA Python module to parse Daylio CSV exports\n\n## Development\n\nInstall `poetry`, `tox` and `tox-poetry`.\n\nInstalling the virtual env:\n\n`$ poetry install`\n\nSwitching into the venv:\n\n`$ poetry shell`\n\nRunning test for the current python version:\n\n`$ pytest -v --cov=daylio_parser --cov-report term-missing tests`\n\nRunning all checks with tox prior to running GitHub actions:\n\n`$ tox`\n\n## TODO\n\n- [x] Parse CSV into entries (parser.py)\n- [x] Implement MoodConfig (config.py) to allow multiple moods\n - [x] Plus a default config for clean Daylio installs\n- [ ] Stats\n - [ ] Mood stability algorithm\n - [x] Average moods by day\n - [x] Average mood by activity\n - [x] Find mood periods \u2014 aka periods of moods meeting certain criteria\n - [ ] Extend mood period search \u2014 search above, below and in between thresholds\n- [x] Prepare data for plotting\n - [x] Splitting entries into bands\n - [x] Interpolating data for smooth charts\n - [x] Calculating rolling mean\n- [ ] Re-export data into other formats\n - [ ] JSON\n\n[ci-link]: https://github.com/staticf0x/daylio-parser/actions/workflows/check.yml\n[ci-badge]: https://img.shields.io/github/workflow/status/staticf0x/daylio-parser/Check/master\n[docs-link]: https://daylio-parser.readthedocs.io/en/latest/\n[docs-badge]: https://img.shields.io/readthedocs/daylio-parser/latest\n[py-versions-badge]: https://img.shields.io/pypi/pyversions/daylio-parser\n[pypi-link]: https://pypi.org/project/daylio-parser/\n[pypi-badge]: https://img.shields.io/pypi/v/daylio-parser\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A Python module to parse Daylio exports",
"version": "0.4.2",
"project_urls": {
"Documentation": "https://daylio-parser.readthedocs.io/en/latest/",
"Homepage": "https://github.com/staticf0x/daylio-parser",
"Repository": "https://github.com/staticf0x/daylio-parser"
},
"split_keywords": [
"daylio",
"parser",
"stats"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "134c15fe97d936e0c1056d32e9473ec3da77d590d2005d4a3397973008c0964b",
"md5": "3ccbf9a7acab7d50749ab3fcca9da367",
"sha256": "f613170e24760cbb6a0a52f209df6c808a6ab79ab9cc74302ca6ac465834b09d"
},
"downloads": -1,
"filename": "daylio_parser-0.4.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3ccbf9a7acab7d50749ab3fcca9da367",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10,<3.13",
"size": 8417,
"upload_time": "2023-10-11T20:24:04",
"upload_time_iso_8601": "2023-10-11T20:24:04.152034Z",
"url": "https://files.pythonhosted.org/packages/13/4c/15fe97d936e0c1056d32e9473ec3da77d590d2005d4a3397973008c0964b/daylio_parser-0.4.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0b16007f111601b0c314964d2fba2a2711d991173e314d337616b8e79dcb6a09",
"md5": "ad55e81b140b93e1f00767de418e3843",
"sha256": "f85cf63ceef293baf78106256129ec9082aabb4272f658fd6c9ba079872e0739"
},
"downloads": -1,
"filename": "daylio_parser-0.4.2.tar.gz",
"has_sig": false,
"md5_digest": "ad55e81b140b93e1f00767de418e3843",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10,<3.13",
"size": 6964,
"upload_time": "2023-10-11T20:24:06",
"upload_time_iso_8601": "2023-10-11T20:24:06.105803Z",
"url": "https://files.pythonhosted.org/packages/0b/16/007f111601b0c314964d2fba2a2711d991173e314d337616b8e79dcb6a09/daylio_parser-0.4.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-10-11 20:24:06",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "staticf0x",
"github_project": "daylio-parser",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "daylio-parser"
}