harmony alternatives and similar packages
Based on the "Development" category.
Alternatively, view harmony alternatives based on common mentions on social networks and blogs.
-
cabal-install-parsers
Scripts and instructions for using CI services (e.g. Travis CI or Appveyor) with multiple GHC configurations -
fourmolu
A fourk of ormolu that uses four space indentation and allows arbitrary configuration. Don't like it? PRs welcome!
WorkOS - The modern identity platform for B2B SaaS
Do you think we are missing an alternative of harmony or a related project?
Popular Comparisons
README
Harmony is a web service specification compiler that generates implementation (server and client) and tests.
Targets supported
- Server
- Node.js (
-sjs
)
- Node.js (
- Client
- Python (
-cpython
) - Includes Hypothesis based tests.
- Java (
-cjava
)
- Python (
Installation
- From Hackage:
cabal install harmony
- From source code:
git clone https://www.github.com/SantiMunin/harmony
cd harmony
cabal install
Usage
After installing the package (cabal install
), you will get the harmony
executable. Afterwards:
Usage: harmony [OPTION...] input_file
-c[CLIENTS] --client[=CLIENTS] Desired output for the client: {-cpython,
-cjava}
-s[SERVERS] --server[=SERVERS] Desired output for the server: {-sjs}
-o[OUTPUT_DIR] --output_dir[=OUTPUT_DIR] Output path
Check the Targets supported section to figure out the code related to each target. Also, refer to the wiki for more information.
Syntax
The input file should follow the syntax specified in language_spec/Language.cf
. Example:
service_name: HouseworkService
service_version: 1.0.0
enum Color { RED, BLUE, BLACK }
struct Task {
// Primary key
@PK
name : String,
color : Color
}
struct Person {
name: String,
age: Int,
tasks: [Task]
}
resource Person ("/person")
Contributing
See the wiki.