
Security News
CISA Kills Off RSS Feeds for KEVs and Cyber Alerts
CISA is discontinuing official RSS support for KEV and cybersecurity alerts, shifting updates to email and social media, disrupting automation workflows.
guesslang-experimental
Advanced tools
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 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
# ⟶ Programming language: Go
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%.
Visual Studio Code detects the programming language of the source code that you paste into the editor using Guesslang machine learning model.
Chameledit is a simple web-editor that automatically highlights your code.
Guesslang documentation is available at https://guesslang.readthedocs.io/en/latest/
Guesslang language detection explained here https://guesslang.readthedocs.io/en/latest/contents.html#how-does-guesslang-guess
Guesslang is based on Tensorflow machine learning framework
Python 3.7+ is required
Install the latest stable version:
pip3 install guesslang
pip3 install .
To run Tensorflow on Microsoft Windows you need to install Visual C++ runtime libraries, available on Microsoft website
guesslang --help
/etc/bashrc
configuration file:guesslang /etc/bashrc
# ⟶ Programming language: Shell
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
# ⟶ Programming language: Scala
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
# Language name Probability
# Python 74.80%
# Haskell 6.73%
# CoffeeScript 5.32%
# Groovy 1.95%
# Markdown 0.93%
# ...
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) # ⟶ Erlang
Gesslang training dataset created with GuesslangTools
Guesslang developped with Tensorflow
Guesslang icon created with AndroidAssetStudio and Eduardo Tunni's Warnes font
Example source codes used here retrieved from Rosetta Code
Guesslang — Copyright (c) 2021 Y. SOMDA, MIT License
FAQs
Detect the programming language of a source code
We found that guesslang-experimental demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISA is discontinuing official RSS support for KEV and cybersecurity alerts, shifting updates to email and social media, disrupting automation workflows.
Security News
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.
Research
Security News
Socket uncovers an npm Trojan stealing crypto wallets and BullX credentials via obfuscated code and Telegram exfiltration.