GithubHelp home page GithubHelp logo

isabella232 / vecino Goto Github PK

View Code? Open in Web Editor NEW

This project forked from src-d/vecino

0.0 0.0 0.0 53 KB

Vecino is a command line application to discover Git repositories which are similar to the one that the user provides.

License: Other

Python 68.80% Jupyter Notebook 24.09% Dockerfile 7.11%

vecino's Introduction

Vecino Build Status codecov PyPI

Vecino is a command line application to discover Git repositories which are similar to the one that the user provides.

$ vecino https://github.com/apache/spark
...
                                    apache/spark	4.07
                                   amplab/graphx	5.80
                               EclairJS/eclairjs	5.84
                       EclairJS/eclairjs-nashorn	5.87
                                 cloudera/impyla	6.01
                           databricks/spark-perf	6.26
                                forward3d/rbhive	6.29
                                     apache/hive	6.29
                              ondra-m/ruby-spark	6.31
                        SnappyDataInc/snappydata	6.31

Finding related open source software can be hard. Sometimes using a search engine is not enough. One of the reliable ways to determine projects which seem to be close to yours is to look into the source code and let it judge. Vecino defines similarity through matching or synonymical source code identifiers.

Vecino uses id2vec, source{d}'s source code identifer embeddings and much of ast2vec engine. Parsing is performed with Babelfish. The suggested repositories are taken from the loaded NBOW model - the only currently available now is from October 2016.

Please note

The currently available public models were converted and are outdated and not fully compatible with the preprocessing in ast2vec. Thus the results can be imprecise. The original results can be reproduced in the reference notebook.

Besides, since Babelfish supports only Python and Java at the moment, it is impossible to query repositories written in other languages.

Installation

pip3 install vecino

As in the rest of ML projects at source{d}, only Python3 is supported and Python2 will never be.

Usage

Command line:

$ vecino apache/spark

Python API:

import vecino

engine = vecino.SimilarRepositories()
print(engine.query("https://github.com/apache/spark"))

Docker image

docker build -t srcd/vecino .
docker run -d --privileged -p 9432:9432 --name bblfshd bblfsh/bblfshd
docker exec -it bblfshd bblfshctl driver install --all
docker run -it --rm srcd/vecino https://github.com/apache/spark

In order to cache the downloaded models:

docker run -it --rm -v /path/to/cache/on/host:/root srcd/vecino https://github.com/apache/spark

Contributions

...are welcome! See CONTRIBUTING and code of conduct.

License

Apache 2.0

vecino's People

Contributors

mcuadros avatar strikerrus avatar vmarkovtsev avatar zurk avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.