daylio-parser


Namedaylio-parser JSON
Version 0.4.2 PyPI version JSON
download
home_pagehttps://github.com/staticf0x/daylio-parser
SummaryA Python module to parse Daylio exports
upload_time2023-10-11 20:24:06
maintainer
docs_urlNone
authorstaticf0x
requires_python>=3.10,<3.13
licenseMIT
keywords daylio parser stats
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![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"
}
        
Elapsed time: 0.12141s