This is NOT A TYPOSQUATTING PACKAGE
It's a fork of the original https://github.com/yoeo/guesslang / pypi package guesslang
Reason of fork - abandoned project. I need a specific patch. Fixing tensorflow dependency myself until https://github.com/yoeo/guesslang/pull/62 is merged
Install:
pip install guesslang-experimental
Guesslang
![Pypi version](https://img.shields.io/pypi/v/guesslang.svg)
![Guesslang](docs/_static/images/guesslang-readme.png)
Guesslang detects the programming language of a given source code:
echo '
package main
import "fmt"
func main() {
fmt.Println("My mascot is a gopher and Google loves me. Who am I?")
}
' | guesslang
Guesslang supports 54 programming languages
:
Languages | | | | |
---|
Assembly | Batchfile | C | C# | C++ |
Clojure | CMake | COBOL | CoffeeScript | CSS |
CSV | Dart | DM | Dockerfile | Elixir |
Erlang | Fortran | Go | Groovy | Haskell |
HTML | INI | Java | JavaScript | JSON |
Julia | Kotlin | Lisp | Lua | Makefile |
Markdown | Matlab | Objective-C | OCaml | Pascal |
Perl | PHP | PowerShell | Prolog | Python |
R | Ruby | Rust | Scala | Shell |
SQL | Swift | TeX | TOML | TypeScript |
Verilog | Visual Basic | XML | YAML | |
With a guessing accuracy higher than 90%.
Apps powered by Guesslang
Microsoft Visual Studio Code, automatic language detection
Visual Studio Code
detects the programming language of the source code
that you paste into the editor
using Guesslang machine learning model.
![](docs/_static/images/vscode.gif)
Chameledit
Chameledit is a simple web-editor
that automatically highlights your code.
![](docs/_static/images/chameledit.gif)
Other projects...
- Pasta, the Slack
bot that pretty-pastes source code.
- GG, a silly guessing game.
Documentation
Installation
pip3 install guesslang
- or install Guesslang from source code:
pip3 install .
To run Tensorflow
on Microsoft Windows you need to install Visual C++ runtime libraries,
available on Microsoft website
Guesslang command line
- Show all available options
guesslang --help
- Detect the programming language of
/etc/bashrc
configuration file:
guesslang /etc/bashrc
- Detect the programming language of a given text:
echo '
/** Turn command line arguments to uppercase */
object Main {
def main(args: Array[String]) {
val res = for (a <- args) yield a.toUpperCase
println("Arguments: " + res.toString)
}
}
' | guesslang
- Show the detection probabilities for a given source code:
echo "
def qsort(items):
if not items:
return []
else:
pivot = items[0]
less = [x for x in items if x < pivot]
more = [x for x in items[1:] if x >= pivot]
return qsort(less) + [pivot] + qsort(more)
if __name__ == '__main__':
items = [1, 4, 2, 7, 9, 3]
print(f'Sorted: {qsort(items)}')
" | guesslang --probabilities
Guesslang Python package
from guesslang import Guess
guess = Guess()
name = guess.language_name("""
% Quick sort
-module (recursion).
-export ([qsort/1]).
qsort([]) -> [];
qsort([Pivot|T]) ->
qsort([X || X <- T, X < Pivot])
++ [Pivot] ++
qsort([X || X <- T, X >= Pivot]).
""")
print(name)
License and credits