{"id":19288322,"url":"https://github.com/techascent/tech.io","last_synced_at":"2025-12-12T01:07:00.725Z","repository":{"id":53132117,"uuid":"142067337","full_name":"techascent/tech.io","owner":"techascent","description":"Generalized IO interface that uses urls and makes doing rapid research easier","archived":false,"fork":false,"pushed_at":"2023-09-24T16:05:59.000Z","size":206,"stargazers_count":15,"open_issues_count":1,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-11-04T05:35:41.522Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/techascent.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":"2018-07-23T20:44:21.000Z","updated_at":"2024-10-05T21:54:09.000Z","dependencies_parsed_at":"2023-02-16T19:31:05.304Z","dependency_job_id":null,"html_url":"https://github.com/techascent/tech.io","commit_stats":null,"previous_names":["tech-ascent/tech.io"],"tags_count":81,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techascent%2Ftech.io","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techascent%2Ftech.io/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techascent%2Ftech.io/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techascent%2Ftech.io/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/techascent","download_url":"https://codeload.github.com/techascent/tech.io/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223888381,"owners_count":17220083,"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":[],"created_at":"2024-11-09T22:08:43.222Z","updated_at":"2025-12-12T01:07:00.695Z","avatar_url":"https://github.com/techascent.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# tech.io\n\n[![Clojars Project](https://clojars.org/techascent/tech.io/latest-version.svg)](https://clojars.org/techascent/tech.io)\n\nSimple Clojure IO library to enable rapid development on at least files, http/https, and s3.\n\n* [API Documentation](https://techascent.github.io/tech.io/)\n\n\n## Design\n\nThe philosophy is to split the difference between do-as-I-want programming which is what\nI do at the repl and do-as-I-say programming which matches system programming much\ncloser.  \"tech.io\" is DWIW, but it is built on an set of protocols to enable very\nprecise DWIS programming where surprises are minimal.\n\n### Do What I Want:\n```clojure\n(io/get-nippy \"s3://blah/blah.nippy\")\n\n(io/copy \"s3://blah/blah.nippy\" \"file://blah.nippy\")\n\n(io/put-image! \"s3://blah/blah.jpg\" buffered-image)\n\n```\nThis layer has a global variable you can use to override the way the system maps from\nurl-\u003eio-provider.  Using this variable you can setup global caching so that anything\ndownloaded or read will get cached, regardless of where it came from (http, https, file,\ns3).  You can also setup redirection where a directory looks like s3 for unit tests that\nread/write to s3 urls.\n\n## License\n\nCopyright © 2018 TechAscent, LLC\n\nDistributed under the Eclipse Public License either version 1.0 or (at\nyour option) any later version.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechascent%2Ftech.io","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftechascent%2Ftech.io","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechascent%2Ftech.io/lists"}