{"id":13571491,"url":"https://github.com/karlicoss/orgparse","last_synced_at":"2025-10-03T16:28:47.439Z","repository":{"id":2574031,"uuid":"3554326","full_name":"karlicoss/orgparse","owner":"karlicoss","description":"Python module for reading Emacs org-mode files","archived":false,"fork":false,"pushed_at":"2024-05-04T15:22:31.000Z","size":192,"stargazers_count":393,"open_issues_count":17,"forks_count":45,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-05-15T14:54:29.231Z","etag":null,"topics":["org","org-mode","python"],"latest_commit_sha":null,"homepage":"https://orgparse.readthedocs.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/karlicoss.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-02-26T19:52:42.000Z","updated_at":"2025-05-13T19:24:19.000Z","dependencies_parsed_at":"2023-11-12T12:38:40.400Z","dependency_job_id":"4d7ac134-ba11-4c00-b28d-f1530d34f9b5","html_url":"https://github.com/karlicoss/orgparse","commit_stats":{"total_commits":230,"total_committers":16,"mean_commits":14.375,"dds":0.3652173913043478,"last_synced_commit":"da56aae64a6373ae8bab2dde9dc756f904f1d8f8"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karlicoss%2Forgparse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karlicoss%2Forgparse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karlicoss%2Forgparse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karlicoss%2Forgparse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/karlicoss","download_url":"https://codeload.github.com/karlicoss/orgparse/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254364217,"owners_count":22058880,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["org","org-mode","python"],"created_at":"2024-08-01T14:01:02.458Z","updated_at":"2025-10-03T16:28:47.346Z","avatar_url":"https://github.com/karlicoss.png","language":"Python","readme":"===========================================================\n  orgparse - Python module for reading Emacs org-mode files\n===========================================================\n\n\n* `Documentation (Read the Docs) \u003chttps://orgparse.readthedocs.org\u003e`_\n* `Repository (at GitHub) \u003chttps://github.com/karlicoss/orgparse\u003e`_\n* `PyPI \u003chttps://pypi.python.org/pypi/orgparse\u003e`_\n\nInstall\n-------\n\n  pip install orgparse\n\n\nUsage\n-----\n\nThere are pretty extensive doctests if you're interested in some specific method. Otherwise here are some example snippets:\n\n\nLoad org node\n^^^^^^^^^^^^^\n::\n\n    from orgparse import load, loads\n\n    load('PATH/TO/FILE.org')\n    load(file_like_object)\n\n    loads('''\n    * This is org-mode contents\n      You can load org object from string.\n    ** Second header\n    ''')\n\n\nTraverse org tree\n^^^^^^^^^^^^^^^^^\n\n\u003e\u003e\u003e root = loads('''\n... * Heading 1\n... ** Heading 2\n... *** Heading 3\n... ''')\n\u003e\u003e\u003e for node in root[1:]:  # [1:] for skipping root itself\n...     print(node)\n* Heading 1\n** Heading 2\n*** Heading 3\n\u003e\u003e\u003e h1 = root.children[0]\n\u003e\u003e\u003e h2 = h1.children[0]\n\u003e\u003e\u003e h3 = h2.children[0]\n\u003e\u003e\u003e print(h1)\n* Heading 1\n\u003e\u003e\u003e print(h2)\n** Heading 2\n\u003e\u003e\u003e print(h3)\n*** Heading 3\n\u003e\u003e\u003e print(h2.get_parent())\n* Heading 1\n\u003e\u003e\u003e print(h3.get_parent(max_level=1))\n* Heading 1\n\n\nAccessing node attributes\n^^^^^^^^^^^^^^^^^^^^^^^^^\n\n\u003e\u003e\u003e root = loads('''\n... * DONE Heading          :TAG:\n...   CLOSED: [2012-02-26 Sun 21:15] SCHEDULED: \u003c2012-02-26 Sun\u003e\n...   CLOCK: [2012-02-26 Sun 21:10]--[2012-02-26 Sun 21:15] =\u003e  0:05\n...   :PROPERTIES:\n...   :Effort:   1:00\n...   :OtherProperty:   some text\n...   :END:\n...   Body texts...\n... ''')\n\u003e\u003e\u003e node = root.children[0]\n\u003e\u003e\u003e node.heading\n'Heading'\n\u003e\u003e\u003e node.scheduled\nOrgDateScheduled((2012, 2, 26))\n\u003e\u003e\u003e node.closed\nOrgDateClosed((2012, 2, 26, 21, 15, 0))\n\u003e\u003e\u003e node.clock\n[OrgDateClock((2012, 2, 26, 21, 10, 0), (2012, 2, 26, 21, 15, 0))]\n\u003e\u003e\u003e bool(node.deadline)   # it is not specified\nFalse\n\u003e\u003e\u003e node.tags == set(['TAG'])\nTrue\n\u003e\u003e\u003e node.get_property('Effort')\n60\n\u003e\u003e\u003e node.get_property('UndefinedProperty')  # returns None\n\u003e\u003e\u003e node.get_property('OtherProperty')\n'some text'\n\u003e\u003e\u003e node.body\n'  Body texts...'\n","funding_links":[],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarlicoss%2Forgparse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkarlicoss%2Forgparse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarlicoss%2Forgparse/lists"}