{"id":13547395,"url":"https://github.com/propensive/rapture","last_synced_at":"2025-04-02T19:33:06.478Z","repository":{"id":16793927,"uuid":"19552536","full_name":"propensive/rapture","owner":"propensive","description":"Rapture","archived":true,"fork":false,"pushed_at":"2018-01-10T18:22:30.000Z","size":1872,"stargazers_count":182,"open_issues_count":63,"forks_count":39,"subscribers_count":9,"default_branch":"dev","last_synced_at":"2025-03-27T06:46:10.528Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/propensive.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-05-07T22:28:23.000Z","updated_at":"2025-01-24T12:58:31.000Z","dependencies_parsed_at":"2022-08-25T15:02:48.535Z","dependency_job_id":null,"html_url":"https://github.com/propensive/rapture","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/propensive%2Frapture","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/propensive%2Frapture/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/propensive%2Frapture/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/propensive%2Frapture/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/propensive","download_url":"https://codeload.github.com/propensive/rapture/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246880365,"owners_count":20848849,"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-08-01T12:00:54.996Z","updated_at":"2025-04-02T19:33:02.210Z","avatar_url":"https://github.com/propensive.png","language":"Scala","readme":"# Rapture\n\n[![Build Status](https://travis-ci.org/propensive/rapture.png?branch=dev)](https://travis-ci.org/propensive/rapture)\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.propensive/rapture-core_2.11/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.propensive/rapture-core_2.11)\n[![License](http://img.shields.io/:license-Apache%202-brightgreen.svg)](http://www.apache.org/licenses/LICENSE-2.0.txt)\n[![Gitter](https://img.shields.io/badge/gitter-join%20chat-green.svg)](https://gitter.im/propensive/rapture)\n[![Javadocs](https://javadoc.io/badge/com.propensive/rapture_2.12.svg)](https://javadoc.io/doc/com.propensive/rapture-core_2.12)\n\nRapture is an evolving collection of *useful* libraries for solving common,\neveryday programming tasks, using advanced features of Scala to offer better\ntype-safety through powerful APIs that all Scala developers, beginners and\nadvanced users, should find intuitive.\n\nRapture consists of a number of modules, the most notable of which are:\n\n - Core (`core`) — a library of common utilities for other projects, notably\n   *modes* and the `Result` type\n - [JSON](doc/json.md) (`json`) — comprehensive support for working with JSON\n   data\n - XML (`xml`) — comprehensive, but experimental, support for working with XML\n   data\n - I/O (`io`) — I/O (network, filesystem) functionality and infrastructure\n - I18n (`i18n`) — simple, typesafe representation of internationalized strings\n - CLI (`cli`) — support for working with command-line applications and shell\n   interaction\n\n# Themes in Rapture\n\nThe Rapture modules share a common philosophy that has evolved over time and\nexperience. Here are a few of the philosophical themes crosscutting all of the\nRapture modules.\n\n - A primary goal of intuitive, readable APIs and minimal code repetition\n - Extreme type-safety, with a goal to reduce the surface area of code exposed\n   to runtime exceptions\n - Thoroughly typeclass-driven design, for extensibility\n - Fearless exploitation of all Scala features, where (but only where) it is\n   appropriate\n - Agnostic support for multiple, alternative implementations of many\n   operations with pluggable backends\n - Extensive, but principled, usage of implicits to configure and constrain\n   operations\n - Support for modes in most APIs; the ability to change how failures are\n   handled through return types\n\n## Availability\n\nSnapshots of Rapture are available for Scala 2.10 and 2.11 under the *Apache\n2.0 License* in the [Sonatype Snapshots\nrepository](https://oss.sonatype.org/content/repositories/snapshots/com/propensive/),\nwith group ID `com.propensive` and artifact ID `rapture-[module]`, where module\nis the name of the module, as taken from the list above.\n\nDevelopment work to get most Rapture modules working on\n[Scala.JS](htp://www.scala-js.org/) is ongoing.\n\nYou can build and run Rapture locally by cloning this repository and running\n`sbt publishLocal`.\n\n## Contributing\n\nRapture openly welcomes contributions! We would love to receive pull requests\nof bugfixes and enhancements from other developers. To avoid potential wasted\neffort, bugs should first be reported on the Github issue tracker, and it's\nnormally a good idea to talk about enhancements on the [Gitter\nchannel](https://gitter.im/propensive/rapture) before embarking on any\ndevelopment.\n\nAlternatively, just send Jon Pretty\n([@propensive](https://twitter.com/propensive/)) a tweet to start a\nconversation.\n\nCurrent contributors include:\n\n - Jon Pretty\n - Raúl Raja Martínez\n - Alistair Johnson\n\n## Documentation\n\nRapture's documentation is currently sparse, though we are working to improve\nthis.\n\n","funding_links":[],"categories":["Scala"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpropensive%2Frapture","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpropensive%2Frapture","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpropensive%2Frapture/lists"}