Skip to content
This repository has been archived by the owner on Oct 1, 2021. It is now read-only.
/ clj-symphony Public archive

An idiomatic Clojure wrapper for the symphony-java-client

License

Notifications You must be signed in to change notification settings

symphonyoss/clj-symphony

Repository files navigation

Build Status Open Issues Average time to resolve an issue License Dependencies Status CII Best Practices FINOS - Released

clj-symphony

This library is an idiomatic Clojure wrapper for the symphony-java-client library, a client binding and SDK for the Symphony chat platform's REST API.

Installation

clj-symphony is available as a Maven artifact from Clojars. The latest released version is:

Clojars Project

Trying it Out

If you prefer to kick the library's tyres without creating a project, you can use the lein try plugin:

$ lein try org.symphonyoss/clj-symphony

or (as of v0.10.0), if you have installed the Clojure CLI tools:

$ clj -Sdeps '{:deps {org.symphonyoss/clj-symphony {:mvn/version "#.#.#"}}}'  # Where #.#.# is replaced with an actual version number >= 0.10.0

Either way, you will be dropped in a REPL with the library downloaded and ready for use.

Usage

The functionality is provided by several clj-symphony._____ namespaces.

Require them in the REPL:

(require '[clj-symphony.connect         :as syc]  :reload-all)
(require '[clj-symphony.user            :as syu]  :reload-all)
(require '[clj-symphony.stream          :as sys]  :reload-all)
(require '[clj-symphony.chat            :as sych] :reload-all)
(require '[clj-symphony.room            :as syrm] :reload-all)
(require '[clj-symphony.message         :as sym]  :reload-all)
(require '[clj-symphony.user-connection :as syuc] :reload-all)

Require them in your project:

(ns my-app.core
  (:require [clj-symphony.connect         :as syc]
            [clj-symphony.user            :as syu]
            [clj-symphony.stream          :as sys]
            [clj-symphony.chat            :as sych]
            [clj-symphony.room            :as syrm]
            [clj-symphony.message         :as sym]
            [clj-symphony.user-connection :as syuc]))

Detailed API documentation is published here.

Roadmap

This project's roadmap is managed exclusively via milestones in the project's GitHub issue tracker. Typically there will be two milestones that are being tracked at most points in time:

  1. The next maintenance (patch) release.
  2. The next feature (minor or major) release.

This project strictly follows semantic versioning rules for determining how issues are assigned to each of these milestones, and what impact that will have on the release's version number (including whether a feature release is major or minor, depending on whether backwards compatibility is broken or not).

Tested Versions

clj-symphony is tested on:

JVM v1.7 JVM v1.8 (LTS) JVM v9 & v10 (FR) JVM v11 (LTS) JVM v12 & v13 (FR) JVM v14 (FR)
Clojure 1.7.0 1,2 1 1,3 1 1,4 1
Clojure 1.8.0 2 3 4
Clojure 1.9.0 2 3 4
Clojure 1.10.1 2,5 3 4

1 clj-symphony only supports Clojure 1.8 and up

2 symphony-java-client only supports JVM v1.8 and up

3 Java FRs 9 & 10 have been superceded by the latest Java LTS (v11), and are no longer supported by Oracle

4 Java FRs 12 & 13 have been superceded by the latest Java FR (v14), and are no longer supported by Oracle

5 Clojure v1.10 only supports JVM v1.8 and up

Contributor Information

Contributing Guidelines

GitHub project

Bug Tracker

License

Copyright 2016 Fintech Open Source Foundation

Distributed under the Apache License, Version 2.0.

3rd Party Licenses

To see the full list of licenses of all third party libraries used by this project, please run:

$ lein licenses :csv | cut -d , -f3 | sort | uniq

To see the dependencies and licenses in detail, run:

$ lein licenses