https://github.com/f/equiv
It finds equivalents of the things.
https://github.com/f/equiv
Last synced: 12 months ago
JSON representation
It finds equivalents of the things.
- Host: GitHub
- URL: https://github.com/f/equiv
- Owner: f
- License: mit
- Created: 2016-01-08T20:51:54.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2016-02-05T22:06:19.000Z (over 10 years ago)
- Last Synced: 2025-04-03T18:40:36.481Z (about 1 year ago)
- Language: Crystal
- Homepage:
- Size: 346 KB
- Stars: 62
- Watchers: 5
- Forks: 7
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

# Equiv
#### ❗️ THIS PROJECT IS IN HARD DEVELOPMENT AND BIG CHANGES MAY HAPPEN
#### (PLEASE GIVE YOUR IDEAS TO MAKE IT BETTER)
It finds equivalents of the things.
The programming world grows so fast. **Loads of packages are being created** day by
day. And there are **so many programming laguages** around. When the developers try
new languages, **they need to reuse their experience**.
`equiv` allows you to use your experience in all programming languages. And **it
makes you adopt a new language faster**.
Let's say you are a **Rubyist** who wants to develop **a web application with Python**.
Since you are a Ruby user, you already know *Sinatra*, but don't know the Python world.
Just use `equiv` and it will find you the **Python equivalent of Sinatra**.
```
equiv sinatra of python
```
It finds the equivalent:
```
ruby/sinatra is a micro web framework
equivalent in python is are:
- flask
> pip install flask
```
And also you can just use the concepts like `micro_web_framework`
```
equiv micro_web_framework of ruby
```
It finds the best match.
```
equivalent in ruby are:
- sinatra
> gem install sinatra
```
## Numbers
#### We highly need contributions to increase numbers of registered libraries!
| Registered Languages | Registered Libraries |
| -------------------- | -------------------- |
| 6 | 23 |
Want to add more? Extend [our registry](https://github.com/f/equiv/tree/master/src/data)
## Installation
## OS X
You can install `equiv` using [Homebrew](http://brew.sh).
```
brew tap f/equiv
brew install equiv
# Enable Autocompletion
eval "$(equiv --completion)"
```
## Usage
It's super simple...
```
equiv [the concept] of [the language]
equiv [the language]/[the library] of [the language]
```
```
$ equiv http_client of python
equivalent in python are:
- requests
> pip install requests
```
```
$ equiv python/requests of node
python/requests is a http client
equivalent in node are:
- request
> npm install request --save
```
You don't have to say programming language.
```
$ equiv sinatra of crystal
ruby/sinatra is a micro web framework
equivalent in crystal are:
- kemal
> Please add `sdogruyol/kemal` to `shards.yml`
```
## Help Us
Please extend the library from `src/data/[language].cr` file.
| Language |
| -------- |
| [Crystal](https://github.com/f/equiv/edit/master/src/data/crystal.cr) |
| [Go Language](https://github.com/f/equiv/edit/master/src/data/golang.cr) |
| [Node.js](https://github.com/f/equiv/edit/master/src/data/node.cr) |
| [PHP](https://github.com/f/equiv/edit/master/src/data/php.cr) |
| [Python](https://github.com/f/equiv/edit/master/src/data/python.cr) |
| [Ruby](https://github.com/f/equiv/edit/master/src/data/ruby.cr) |
| [Add new language...](https://github.com/f/equiv/new/master/src/data?filename=language.cr&value=Equiv%3A%3ALanguage.add%20%22language%22%2C%20%22The%20New%20Language%22%2C%20%7B%0A%20%20concept%3A%20%5B%0A%20%20%20%20%7B%0A%20%20%20%20%20%20name%3A%20%20%20%20%22library%22%2C%0A%20%20%20%20%20%20install%3A%20%22library%20install%20command%22%2C%0A%20%20%20%20%7D%2C%0A%20%20%5D%2C%0A%7D) |
## Roadmap
- Add **more and more** languages and libraries
- Data is built into the binary, it may be a remote service or another repo which
can be updated with a command like `equiv update`. Now the binary has to be updated
when registry updated.
## Contributing
1. Fork it ( https://github.com/f/equiv/fork )
2. Create your feature branch (git checkout -b my-new-feature)
3. Commit your changes (git commit -am 'Add some feature')
4. Push to the branch (git push origin my-new-feature)
5. Create a new Pull Request
## Contributors
- [@f](https://github.com/f) Fatih Kadir Akın - creator, maintainer
- [@ustun](https://github.com/ustun) Üstün Özgür - the owner of the idea