{"id":24987447,"url":"https://github.com/sergi/coconut","last_synced_at":"2025-03-29T11:12:37.007Z","repository":{"id":57510540,"uuid":"229639071","full_name":"sergi/coconut","owner":"sergi","description":"An idempotent photo organizer","archived":false,"fork":false,"pushed_at":"2020-02-04T21:28:43.000Z","size":3278,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-26T08:13:55.508Z","etag":null,"topics":["cli","golang","golang-application","photography","utility"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sergi.png","metadata":{"files":{"readme":"README.md","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}},"created_at":"2019-12-22T22:26:09.000Z","updated_at":"2020-12-29T03:00:07.000Z","dependencies_parsed_at":"2022-09-26T16:31:09.096Z","dependency_job_id":null,"html_url":"https://github.com/sergi/coconut","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergi%2Fcoconut","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergi%2Fcoconut/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergi%2Fcoconut/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergi%2Fcoconut/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sergi","download_url":"https://codeload.github.com/sergi/coconut/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246174604,"owners_count":20735417,"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":["cli","golang","golang-application","photography","utility"],"created_at":"2025-02-04T11:43:01.014Z","updated_at":"2025-03-29T11:12:36.988Z","avatar_url":"https://github.com/sergi.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"Coconut automatically organizes photos in a hardrive without much intervention from the user. It is non-destructive and deterministic.\n\n### Installation\n\nMake sure you have a working Go environment.  Go version 1.11+ is supported. [See the install instructions for Go](http://golang.org/doc/install.html).\n\nGo Modules are strongly recommended when using this package. [See the go blog guide on using Go Modules](https://blog.golang.org/using-go-modules).\n\n```\n$ GO111MODULE=on go get github.com/sergi/coconut\n```\n\n### How it works\n\nGiven one or more source folders and a destination folder, Coconut goes through all the image files in the source folders and organizes them in the destination folder using their EXIF metadata, de-duplicating them during the process.Coconut **never** deletes or modifies files in the source folders.\n\nCoconut organizes photos using a folder hierarchy. The default hierarchy is as follows:\n\n```\nYear\n└──Year-Month\n\t └──Geographical Place\n\t \t\t└──original_filename.jpeg\n```\n\nAn example folder hierarchy could look like this, realistically:\n\n```\n2018\n└──September\n   └───South Lake Tahoe-US\n   │   ├──DSC_1735.jpeg\n   │   └──DSC_2187.raw\n   └───Sonoma-US\n       ├──DSC_2395.jpeg\n       └──DSC_0934.cr3\n```\n\nThe folder hierachy can be changed in `config.yml`. Instructions on how to change it are in \"Changing the path template\".\n\n\n\n### Usage\n\n```\ncoconut /source_folder1 /source_folder2 --destination /destination_folder\n```\n\n\n\n### Changing the path template\n\nTBD\n\n###License\n\nMPL 2.0","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsergi%2Fcoconut","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsergi%2Fcoconut","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsergi%2Fcoconut/lists"}