summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKornel <kornel@geekhood.net>2019-04-04 11:48:52 +0200
committerKornel <kornel@geekhood.net>2019-04-09 14:37:31 +0100
commit8a24a7b721829576e953010bef8409fa1d691705 (patch)
treecf351297debb6a4dd4528647922d466c672780dc
parentf6fc9f14c8b7ffe7ff82b6dd43b2294f977e2253 (diff)
Category and ranking tuning
-rw-r--r--categories/src/categories.toml8
-rw-r--r--categories/src/tuning.rs67
-rw-r--r--front_end/src/crate_page.rs2
-rw-r--r--kitchen_sink/src/lib_kitchen_sink.rs2
-rw-r--r--ranking/src/lib_ranking.rs6
5 files changed, 50 insertions, 35 deletions
diff --git a/categories/src/categories.toml b/categories/src/categories.toml
index da2be74..bcac85b 100644
--- a/categories/src/categories.toml
+++ b/categories/src/categories.toml
@@ -36,7 +36,7 @@ searching, and more.\
short-description = """
Core algorithms such as hashing, sorting and searching.
"""
-siblings = ["data-structures"]
+siblings = ["data-structures", "compression"]
# [api-bindings]
# name = "API bindings"
@@ -518,8 +518,7 @@ siblings = ["parsing"]
name = "Parsing tools"
title = "Parser tooling"
description = """
-Write or generate parsers of binary and text formats. \
-Format-specific parsers belong in other, more specific categories.
+Low-level, file-format-independent libraries for writing or generating parsers.
"""
short-description = """
Low-level tools and parser generators."""
@@ -574,7 +573,7 @@ Rust.\
"""
short-description = """
Shared solutions for particular situations specific to programming in Rust."""
-siblings = ["no-std"]
+siblings = ["no-std", "memory-management"]
[science]
name = "Science"
@@ -643,6 +642,7 @@ in textual form.\
"""
short-description = """
Deal with the complexities of human language when expressed in textual form."""
+siblings = ["value-formatting", "template-engine"]
[value-formatting]
name = "Value formatting"
diff --git a/categories/src/tuning.rs b/categories/src/tuning.rs
index 78940a1..e8ffabb 100644
--- a/categories/src/tuning.rs
+++ b/categories/src/tuning.rs
@@ -21,13 +21,14 @@ lazy_static! {
(Cond::Any(&["winauth", "ntlm"]), &[("os::windows-apis", 1.25, 0.2), ("authentication", 1.3, 0.2)]),
(Cond::Any(&["windows", "winsdk", "win32", "activex"]), &[("os::macos-apis", 0., 0.), ("os::unix-apis", 0., 0.), ("science::math", 0.8, 0.), ("memory-management", 0.9, 0.)]),
- (Cond::Any(&["macos", "mac", "osx", "ios", "cocoa", "erlang"]), &[("os::windows-apis", 0., 0.), ("no-std", 0.01, 0.)]),
- (Cond::Any(&["macos", "mac", "osx", "cocoa", "mach-o", "uikit", "appkit"]), &[("os::macos-apis", 1.4, 0.2), ("science::math", 0.75, 0.)]),
+ (Cond::Any(&["macos", "osx", "ios", "cocoa", "erlang"]), &[("os::windows-apis", 0., 0.), ("no-std", 0.01, 0.)]),
+ (Cond::Any(&["macos", "osx", "cocoa", "mach-o", "uikit", "appkit"]), &[("os::macos-apis", 1.4, 0.2), ("science::math", 0.75, 0.)]),
(Cond::All(&["os", "x"]), &[("os::macos-apis", 1.2, 0.)]),
- (Cond::Any(&["dmg"]), &[("os::macos-apis", 1.2, 0.1)]),
+ (Cond::Any(&["dmg", "fsevents", "fseventsd"]), &[("os::macos-apis", 1.2, 0.1)]),
+ (Cond::All(&["macos", "apis"]), &[("os::macos-apis", 1.15, 0.05)]),
(Cond::All(&["core", "foundation"]), &[("os::macos-apis", 1.2, 0.1), ("os", 0.8, 0.), ("concurrency", 0.3, 0.)]),
(Cond::Any(&["corefoundation"]), &[("os::macos-apis", 1.2, 0.1), ("os", 0.8, 0.), ("concurrency", 0.3, 0.)]),
- (Cond::Any(&["core"]), &[("os::macos-apis", 1.05, 0.), ("os", 0.95, 0.), ("concurrency", 0.9, 0.)]),
+ (Cond::All(&["mac"]), &[("os::macos-apis", 1.1, 0.)]),
(Cond::Any(&["keycode", "platforms", "platform", "processor", "child", "system", "executable", "processes"]),
&[("os", 1.2, 0.1), ("network-programming", 0.7, 0.), ("cryptography", 0.5, 0.), ("date-and-time", 0.8, 0.),
("games", 0.7, 0.), ("authentication", 0.6, 0.), ("internationalization", 0.7, 0.)]),
@@ -99,9 +100,9 @@ lazy_static! {
(Cond::All(&["ffi", "has:is_dev"]), &[("development-tools::ffi", 1.2, 0.1)]),
(Cond::All(&["ffi", "has:is_build"]), &[("development-tools::ffi", 1.2, 0.1)]),
(Cond::All(&["interface", "api"]), &[("games", 0.2, 0.), ("algorithms", 0.8, 0.)]),
- (Cond::Any(&["bindings", "binding", "ffi-bindings", "wrapper", "api-wrapper"]),
- &[("development-tools::ffi", 0.8, 0.), ("games", 0.2, 0.), ("command-line-utilities", 0.2, 0.), ("no-std", 0.9, 0.),
- ("development-tools::cargo-plugins", 0.7, 0.), ("rust-patterns", 0.8, 0.), ("rendering::data-formats", 0.2, 0.)]),
+ (Cond::Any(&["bindings", "api-bindings", "binding", "ffi-bindings", "wrapper", "api-wrapper"]),
+ &[("development-tools::ffi", 0.8, 0.), ("database-implementations", 0.8, 0.), ("games", 0.2, 0.), ("command-line-utilities", 0.2, 0.),
+ ("no-std", 0.9, 0.), ("development-tools::cargo-plugins", 0.7, 0.), ("rust-patterns", 0.8, 0.), ("rendering::data-formats", 0.2, 0.)]),
(Cond::Any(&["rgb", "palette"]), &[("command-line-utilities", 0.8, 0.), ("config", 0.8, 0.)]),
(Cond::Any(&["cargo"]), &[("development-tools", 1.1, 0.), ("development-tools::build-utils", 1.1, 0.),
@@ -291,10 +292,13 @@ lazy_static! {
(Cond::All(&["configuration", "management"]),
&[("config", 1.2, 0.1)]),
(Cond::Any(&["log", "logger", "logging", "logs"]),
- &[("development-tools::debugging", 1.2, 0.1), ("rust-patterns", 0.9, 0.), ("wasm", 0.7, 0.), ("concurrency", 0.8, 0.), ("algorithms", 0.6, 0.),
+ &[("development-tools::debugging", 1.2, 0.1), ("rust-patterns", 0.9, 0.), ("wasm", 0.7, 0.),
+ ("concurrency", 0.8, 0.), ("algorithms", 0.6, 0.),
("config", 0.9, 0.), ("emulators", 0.8, 0.), ("encoding", 0.8, 0.), ("games", 0.01, 0.), ("development-tools::profiling", 0.9, 0.),
- ("command-line-utilities", 0.8, 0.)]),
- (Cond::Any(&["dlsym", "debug", "debugging", "debugger", "disassemlber", "demangle", "dwarf", "backtrace", "disassembly", "disassembler", "symbolicate", "coredump", "valgrind", "lldb"]),
+ ("command-line-interface", 0.9, 0.), ("command-line-utilities", 0.8, 0.)]),
+ (Cond::Any(&["dlsym", "debug", "debugging", "debugger", "disassemlber", "demangle", "dwarf", "stacktrace"]),
+ &[("development-tools::debugging", 1.2, 0.1), ("concurrency", 0.9, 0.), ("algorithms", 0.7, 0.), ("wasm", 0.9, 0.), ("emulators", 0.9, 0.), ("games", 0.01, 0.), ("development-tools::profiling", 0.7, 0.), ("command-line-utilities", 0.8, 0.)]),
+ (Cond::Any(&["backtrace", "disassembly", "disassembler", "symbolicate", "coredump", "valgrind", "lldb"]),
&[("development-tools::debugging", 1.2, 0.1), ("concurrency", 0.9, 0.), ("algorithms", 0.7, 0.), ("wasm", 0.9, 0.), ("emulators", 0.9, 0.), ("games", 0.01, 0.), ("development-tools::profiling", 0.7, 0.), ("command-line-utilities", 0.8, 0.)]),
(Cond::Any(&["elf", "archive"]), &[("development-tools::debugging", 0.8, 0.), ("games", 0.4, 0.)]),
(Cond::Any(&["elf"]), &[("encoding", 1.1, 0.), ("os::unix-apis", 1.1, 0.)]),
@@ -314,6 +318,7 @@ lazy_static! {
(Cond::Any(&["rope"]), &[("command-line-utilities", 0.5, 0.), ("multimedia::images", 0.5, 0.)]),
(Cond::Any(&["binary", "streaming", "version", "buffer", "recursive", "escape"]),
&[("development-tools::testing", 0.75, 0.), ("internationalization", 0.75, 0.), ("development-tools::build-utils", 0.8, 0.)]),
+ (Cond::Any(&["escape"]), &[("text-processing", 1.2, 0.05), ("compression", 0.8, 0.)]),
(Cond::Any(&["string", "unescape", "opengl", "memchr", "ios", "cuda"]),
&[("development-tools::testing", 0.75, 0.), ("internationalization", 0.8, 0.), ("development-tools::build-utils", 0.8, 0.)]),
(Cond::Any(&["dex", "android"]),
@@ -422,7 +427,9 @@ lazy_static! {
(Cond::Any(&["qt", "x11", "wayland", "gtk", "window-events"]), &[("gui", 1.35, 0.1), ("rendering::graphics-api", 1.1, 0.), ("algorithms", 0.8, 0.), ("no-std", 0.7, 0.), ("os::unix-apis", 1.2, 0.1), ("cryptography::cryptocurrencies", 0.9, 0.), ("os::macos-apis", 0.25, 0.), ("caching", 0.5, 0.), ("command-line-interface", 0.15, 0.)]),
(Cond::All(&["window", "manager"]), &[("gui", 1.4, 0.2)]),
(Cond::All(&["ui", "framework"]), &[("gui", 1.2, 0.), ("rendering::graphics-api", 1.2, 0.)]),
- (Cond::Any(&["window", "ui", "tui", "dashboard", "displaying", "desktop", "compositor"]),
+ (Cond::Any(&["window", "ui", "tui", "dashboard", "notification"]),
+ &[("gui", 1.2, 0.1), ("command-line-utilities", 0.9, 0.), ("hardware-support", 0.9, 0.), ("asynchronous", 0.8, 0.), ("internationalization", 0.9, 0.)]),
+ (Cond::Any(&["displaying", "desktop", "compositor"]),
&[("gui", 1.2, 0.1), ("command-line-utilities", 0.9, 0.), ("hardware-support", 0.9, 0.), ("asynchronous", 0.8, 0.), ("internationalization", 0.9, 0.)]),
(Cond::Any(&["dashboard", "displaying", "inspector", "instrumentation"]), &[("visualization", 1.2, 0.1), ("games", 0.5, 0.)]),
@@ -467,7 +474,7 @@ lazy_static! {
&[("authentication", 1.4, 0.2), ("command-line-utilities", 0.9, 0.), ("hardware-support", 0.8, 0.), ("config", 0.8, 0.), ("web-programming::http-client", 0.8, 0.), ("parsing", 0.7, 0.)]),
(Cond::NotAny(&["database", "db", "databases", "datastore", "queryable", "indexed", "columnar", "persistent", "relational", "dbms", "migrations", "key-value", "kv", "kvs", "sql", "nosql", "geoip", "key-value", "orm", "schema", "lmdb", "odbc", "transactions", "transactional",
- "sqlite3", "leveldb", "postgres", "postgresql", "dynamodb", "mysql", "hadoop", "sqlite", "mongo", "elasticsearch", "tkiv", "cassandra", "rocksdb"]),
+ "sqlite3", "leveldb", "postgres", "postgresql", "dynamodb", "mysql", "hadoop", "sqlite", "mongo", "memcached", "elasticsearch", "tkiv", "cassandra", "rocksdb"]),
&[("database-implementations", 0.8, 0.), ("database", 0.8, 0.)]),
(Cond::Any(&["database", "databases", "datastore"]), &[("database-implementations", 1.3, 0.3), ("cryptography::cryptocurrencies", 0.9, 0.), ("multimedia::encoding", 0.8, 0.),("database", 1.3, 0.1), ("caching", 0.88, 0.), ("development-tools", 0.9, 0.)]),
(Cond::All(&["personal", "information", "management"]), &[("database-implementations", 1.5, 0.3)]),
@@ -478,15 +485,17 @@ lazy_static! {
("command-line-utilities", 0.5, 0.), ("rendering::engine", 0.6, 0.)]),
(Cond::Any(&["tkiv", "transactions", "transactional"]), &[("database", 1.5, 0.3),("database-implementations", 1.2, 0.1), ("data-structures", 1.2, 0.1), ("command-line-utilities", 0.5, 0.)]),
(Cond::Any(&["sqlite", "hadoop"]), &[("web-programming", 0.7, 0.), ("web-programming::http-client", 0.8, 0.)]),
- (Cond::Any(&["database", "db", "sqlite", "sqlite3", "leveldb", "diesel", "postgres", "postgresql","mysql", "dynamodb", "hadoop"]),
+ (Cond::Any(&["database", "db", "sqlite", "sqlite3", "leveldb", "diesel", "postgres", "postgresql", "mysql", "dynamodb", "hadoop"]),
&[("database", 1.4, 0.2), ("cryptography::cryptocurrencies", 0.5, 0.), ("cryptography", 0.7, 0.), ("text-processing", 0.7, 0.), ("rust-patterns", 0.7, 0.), ("database-implementations", 1.1, 0.),
("value-formatting", 0.7, 0.), ("internationalization", 0.7, 0.), ("hardware-support", 0.6, 0.), ("web-programming", 0.9, 0.), ("algorithms", 0.9, 0.), ("data-structures", 0.9, 0.), ("web-programming::http-server", 0.8, 0.),
("command-line-interface", 0.5, 0.), ("multimedia::video", 0.5, 0.), ("command-line-utilities", 0.9, 0.), ("memory-management", 0.7, 0.), ("development-tools", 0.9, 0.)]),
- (Cond::Any(&["orm", "mongo", "elasticsearch", "cassandra", "rocksdb", "redis", "couchdb"]),
- &[("database", 1.4, 0.2), ("database-implementations", 0.9, 0.), ("cryptography::cryptocurrencies", 0.5, 0.), ("cryptography", 0.7, 0.), ("text-processing", 0.7, 0.), ("rust-patterns", 0.7, 0.),
+ (Cond::Any(&["orm", "mongo", "elasticsearch", "memcached", "mariadb", "cassandra", "rocksdb", "redis", "couchdb"]),
+ &[("database", 1.4, 0.2), ("database-implementations", 0.85, 0.), ("cryptography::cryptocurrencies", 0.5, 0.), ("cryptography", 0.7, 0.), ("text-processing", 0.7, 0.), ("rust-patterns", 0.7, 0.),
("value-formatting", 0.7, 0.), ("internationalization", 0.7, 0.), ("hardware-support", 0.6, 0.), ("web-programming", 1.1, 0.), ("algorithms", 0.9, 0.), ("data-structures", 0.9, 0.),
("command-line-interface", 0.5, 0.), ("multimedia::video", 0.5, 0.), ("command-line-utilities", 0.9, 0.), ("memory-management", 0.7, 0.)]),
(Cond::All(&["kv", "distributed"]), &[("database", 1.3, 0.2), ("database-implementations", 1.2, 0.1)]),
+ (Cond::Any(&["csv", "driver"]), &[("database-implementations", 0.9, 0.)]),
+ (Cond::Any(&["validator"]), &[("database", 0.9, 0.)]),
(Cond::Any(&["search", "lsm-tree"]), &[("database", 1.2, 0.), ("algorithms", 1.2, 0.), ("config", 0.8, 0.), ("database-implementations", 1.2, 0.)]),
(Cond::All(&["database", "embedded"]), &[("database", 1.2, 0.1), ("embedded", 0.2, 0.), ("database-implementations", 1.2, 0.1)]),
(Cond::All(&["database", "has:is_sys"]), &[("database", 1.3, 0.1), ("database-implementations", 0.5, 0.)]),
@@ -500,7 +509,7 @@ lazy_static! {
(Cond::All(&["aws", "rusoto", "nextcloud"]), &[("network-programming", 1.2, 0.1), ("multimedia::video", 0.8, 0.), ("data-structures", 0.6, 0.), ("algorithms", 0.2, 0.), ("parsing", 0.5, 0.), ("filesystem", 0.6, 0.), ("web-programming", 1.2, 0.1)]),
(Cond::All(&["aws", "sdk"]), &[("network-programming", 1.2, 0.2), ("web-programming", 1.2, 0.1), ("data-structures", 0.6, 0.), ("filesystem", 0.5, 0.)]),
(Cond::All(&["cloud", "google"]), &[("network-programming", 1.2, 0.1), ("web-programming", 1.2, 0.2), ("data-structures", 0.6, 0.), ("no-std", 0.7, 0.), ("development-tools::build-utils", 0.6, 0.)]),
- (Cond::All(&["api", "client"]), &[("network-programming", 1.1, 0.05), ("web-programming", 1.1, 0.05), ("algorithms", 0.8, 0.), ("config", 0.8, 0.), ("data-structures", 0.6, 0.), ("development-tools::cargo-plugins", 0.7, 0.)]),
+ (Cond::All(&["api", "client"]), &[("network-programming", 1.1, 0.05), ("web-programming", 1.1, 0.05), ("algorithms", 0.8, 0.), ("config", 0.8, 0.), ("value-formatting", 0.8, 0.), ("data-structures", 0.6, 0.), ("development-tools::cargo-plugins", 0.7, 0.)]),
(Cond::All(&["service", "google"]), &[("network-programming", 1.2, 0.1), ("web-programming", 1.2, 0.2), ("data-structures", 0.6, 0.)]),
(Cond::Any(&["rusoto", "azure", "amazon", "google-apis", "aws-lambda", "aws-lambda-functions"]), &[("network-programming", 1.3, 0.3), ("web-programming", 1.2, 0.1), ("algorithms", 0.8, 0.), ("no-std", 0.7, 0.), ("multimedia::video", 0.9, 0.), ("cryptography::cryptocurrencies", 0.6, 0.)]),
@@ -516,11 +525,11 @@ lazy_static! {
(Cond::All(&["software", "implementation"]), &[("simulation", 1.3, 0.), ("emulators", 1.2, 0.), ("development-tools", 0.8, 0.)]),
(Cond::Any(&["animation", "anim"]), &[("multimedia", 1.2, 0.), ("multimedia::video", 1.2, 0.1), ("rendering", 1.1, 0.), ("simulation", 0.7, 0.)]),
- (Cond::Any(&["rsync", "xmpp", "ldap", "openssh", "ssh", "elb", "iptables", "kademlia", "bittorrent", "sctp", "docker"]),
+ (Cond::Any(&["rsync", "xmpp", "ldap", "openssh", "ssh", "socks5", "elb", "iptables", "kademlia", "bittorrent", "sctp", "docker"]),
&[("network-programming", 1.2, 0.2), ("web-programming", 0.6, 0.), ("development-tools::testing", 0.5, 0.), ("algorithms", 0.9, 0.),("os::windows-apis", 0.6, 0.)]),
(Cond::Any(&["bot", "netsec", "waf", "curl", "net", "notification", "chat"]),
&[("network-programming", 1.1, 0.1), ("web-programming", 1.1, 0.1), ("parsing", 0.8, 0.), ("data-structures", 0.8, 0.), ("development-tools::procedural-macro-helpers", 0.7, 0.)]),
- (Cond::Any(&["ip", "ipv6", "ipv4"]), &[("network-programming", 1.2, 0.1), ("web-programming", 1.1, 0.), ("parsing", 0.8, 0.)]),
+ (Cond::Any(&["ip", "ipv6", "ipv4", "proxy"]), &[("network-programming", 1.2, 0.1), ("web-programming", 1.1, 0.), ("parsing", 0.8, 0.)]),
(Cond::Any(&["http2", "http/2", "http", "https", "httpd", "tcp", "irc", "tcp-client", "multicast", "anycast", "bgp", "amazon", "aws", "amazon-s3", "cloud", "service"]),
&[("network-programming", 1.1, 0.1), ("filesystem", 0.7, 0.), ("memory-management", 0.5, 0.), ("asynchronous", 0.8, 0.), ("algorithms", 0.8, 0.), ("text-processing", 0.8, 0.),
("command-line-interface", 0.5, 0.), ("development-tools::procedural-macro-helpers", 0.8, 0.), ("development-tools::build-utils", 0.6, 0.)]),
@@ -631,6 +640,8 @@ lazy_static! {
(Cond::Any(&["unicode", "characters", "grapheme", "crlf", "codepage", "whitespace", "utf", "utf-8", "utf8", "case"]),
&[("text-processing", 1.1, 0.2), ("rendering", 0.9, 0.), ("embedded", 0.8, 0.), ("games", 0.7, 0.), ("web-programming", 0.9, 0.), ("rendering::data-formats", 0.5, 0.), ("development-tools::testing", 0.6, 0.)]),
+ (Cond::Any(&["ascii"]), &[("text-processing", 1.2, 0.)]),
+ (Cond::All(&["ascii", "convert"]), &[("text-processing", 1.2, 0.1)]),
(Cond::Any(&["pdf", "epub", "ebook", "book", "typesetting", "xetex"]),
&[("text-processing", 1.3, 0.2), ("science", 0.9, 0.), ("science::math", 0.8, 0.), ("no-std", 0.8, 0.), ("games", 0.8, 0.),
("database-implementations", 0.8, 0.), ("rendering::data-formats", 1.2, 0.),
@@ -677,9 +688,6 @@ lazy_static! {
(Cond::All(&["command", "line"]), &[("command-line-utilities", 1.15, 0.1), ("command-line-interface", 1.15, 0.)]),
(Cond::Any(&["commandline", "command-line", "cmdline"]),
&[("command-line-utilities", 1.1, 0.1), ("command-line-interface", 1.1, 0.), ("development-tools::ffi", 0.7, 0.)]),
- (Cond::Any(&["has:bin"]), &[("command-line-utilities", 1.1, 0.), ("command-line-interface", 0.8, 0.), ("development-tools::cargo-plugins", 0.8, 0.), ("no-std", 0.7, 0.), ("game-engines", 0.9, 0.),
- ("development-tools::procedural-macro-helpers", 0.7, 0.), ("memory-management", 0.4, 0.), ("algorithms", 0.8, 0.)]),
- (Cond::NotAny(&["has:bin"]), &[("games", 0.8, 0.), ("development-tools::cargo-plugins", 0.9, 0.), ("command-line-utilities", 0.4, 0.)]),
(Cond::Any(&["has:is_build", "has:is_dev"]), &[("os::windows-apis", 0.9, 0.), ("development-tools", 1.1, 0.),
("science", 0.8, 0.), ("science::math", 0.8, 0.), ("games", 0.8, 0.), ("value-formatting", 0.9, 0.)]),
@@ -711,7 +719,9 @@ lazy_static! {
(Cond::All(&["text", "editor"]), &[("text-editors", 1.4, 0.4), ("text-processing", 0.8, 0.), ("parsing", 0.5, 0.), ("internationalization", 0.1, 0.)]),
(Cond::All(&["repl"]), &[("parsing", 0.7, 0.)]),
+ (Cond::Any(&["cli"]), &[("command-line-utilities", 1.1, 0.), ("command-line-interface", 1.1, 0.)]),
(Cond::Any(&["tui"]), &[("command-line-interface", 1.1, 0.05)]),
+ (Cond::Any(&["dep:clap", "dep:structopt"]), &[("command-line-utilities", 1.1, 0.), ("command-line-interface", 0.9, 0.)]),
(Cond::All(&["curses", "interface"]), &[("command-line-interface", 1.1, 0.05)]),
(Cond::All(&["terminal", "ui"]), &[("command-line-interface", 1.1, 0.)]),
(Cond::Any(&["terminal", "ncurses", "curses", "ansi", "progressbar", "vt100", "ansi_term"]),
@@ -722,6 +732,9 @@ lazy_static! {
&[("command-line-interface", 1.2, 0.1), ("multimedia::images", 0.1, 0.), ("multimedia", 0.4, 0.), ("no-std", 0.9, 0.), ("wasm", 0.9, 0.),
("science::math", 0.8, 0.), ("hardware-support", 0.7, 0.), ("command-line-utilities", 0.75, 0.), ("internationalization", 0.9, 0.),
("development-tools::procedural-macro-helpers", 0.7, 0.), ("memory-management", 0.5, 0.), ("rendering::engine", 0.8, 0.), ("emulators", 0.5, 0.)]),
+ (Cond::Any(&["has:bin"]), &[("command-line-utilities", 1.1, 0.), ("command-line-interface", 0.8, 0.), ("development-tools::cargo-plugins", 0.8, 0.), ("no-std", 0.7, 0.), ("game-engines", 0.9, 0.),
+ ("development-tools::procedural-macro-helpers", 0.7, 0.), ("memory-management", 0.4, 0.), ("algorithms", 0.8, 0.)]),
+ (Cond::NotAny(&["has:bin"]), &[("games", 0.8, 0.), ("development-tools::cargo-plugins", 0.9, 0.), ("command-line-utilities", 0.4, 0.)]),
(Cond::Any(&["hardware", "verilog", "bluetooth", "drone", "rs232","enclave", "adafruit", "laser", "altimeter", "sensor"]),
&[("hardware-support", 1.2, 0.3), ("command-line-utilities", 0.7, 0.), ("multimedia::images", 0.6, 0.), ("os", 0.9, 0.), ("development-tools::testing", 0.8, 0.), ("development-tools::procedural-macro-helpers", 0.6, 0.), ("development-tools", 0.9, 0.)]),
@@ -820,7 +833,7 @@ lazy_static! {
&[("memory-management", 1.3, 0.2), ("caching", 0.8, 0.), ("algorithms", 0.8, 0.), ("game-engines", 0.7, 0.), ("development-tools", 0.8, 0.)]),
(Cond::Any(&["allocator", "slab", "memory-allocator"]),
&[("memory-management", 1.3, 0.2), ("caching", 0.8, 0.), ("database", 0.8, 0.), ("algorithms", 0.8, 0.), ("game-engines", 0.7, 0.), ("development-tools", 0.8, 0.)]),
- (Cond::Any(&["memory", "garbage", "rc", "oom"]), &[("memory-management", 1.25, 0.1), ("os", 1.1, 0.), ("development-tools::cargo-plugins", 0.8, 0.),
+ (Cond::Any(&["memory", "garbage", "rc", "oom", "malloc"]), &[("memory-management", 1.25, 0.1), ("os", 1.1, 0.), ("development-tools::cargo-plugins", 0.8, 0.),
("development-tools::build-utils", 0.8, 0.), ("internationalization", 0.7, 0.)]),
(Cond::All(&["memory", "allocation"]), &[("memory-management", 1.25, 0.1)]),
@@ -828,17 +841,18 @@ lazy_static! {
(Cond::Any(&["vectorclock"]), &[("games", 0.25, 0.), ("algorithms", 1.5, 0.2), ("date-and-time", 0.3, 0.)]),
(Cond::Any(&["phf"]), &[("date-and-time", 0.4, 0.)]),
- (Cond::Any(&["cli", "utility", "utilities", "ripgrep", "tools"]),
+ (Cond::Any(&["utility", "utilities", "ripgrep", "tools"]),
&[("command-line-utilities", 1.1, 0.2), ("internationalization", 0.8, 0.), ("algorithms", 0.6, 0.), ("games", 0.01, 0.), ("filesystem", 0.8, 0.),
("rendering::engine", 0.6, 0.), ("science", 0.9, 0.), ("simulation", 0.75, 0.), ("data-structures", 0.6, 0.)]),
(Cond::All(&["cli", "utility"]),
&[("command-line-utilities", 1.3, 0.3), ("command-line-interface", 0.3, 0.), ("data-structures", 0.6, 0.), ("rust-patterns", 0.7, 0.), ("algorithms", 0.8, 0.), ("games", 0.1, 0.), ("filesystem", 0.6, 0.), ("science", 0.8, 0.)]),
(Cond::All(&["cli", "tool"]),
&[("command-line-utilities", 1.3, 0.3), ("command-line-interface", 0.3, 0.), ("data-structures", 0.6, 0.), ("rust-patterns", 0.7, 0.), ("filesystem", 0.8, 0.), ("science", 0.8, 0.)]),
- (Cond::Any(&["bash", "shell", "command", "tool"]),
+ (Cond::All(&["bash", "tool"]),
+ &[("command-line-utilities", 1.2, 0.2)]),
+ (Cond::Any(&["bash", "shell", "command", "tool", "util"]),
&[("command-line-utilities", 1.05, 0.025), ("asynchronous", 0.9, 0.), ("rust-patterns", 0.9, 0.)]),
-
(Cond::NotAny(&["web", "html", "js", "javascript", "json", "jwt", "proxy", "apache", "rpc", "rest", "thrift", "serverless", "graphql", "lambda", "aws", "mime", "wordpress", "rss", "atom", "xml", "css", "xss", "rocket", "webhook", "conduit", "hyper", "nodejs", "asmjs", "browser", "front-end", "ipfs", "youtube", "google", "jsonrpc", "http-api", "json-api", "dep:actix-web"]),
&[("web-programming", 0.8, 0.)]),
(Cond::NotAny(&["web", "http", "http2", "api", "fetch", "http-client", "serverless", "graphql", "lambda", "s3", "aws", "client", "rest", "thrift", "gotham", "hyper", "request", "json", "jsonrpc", "rpc", "curl", "tls", "requests", "http-api", "json-api"]),
@@ -884,7 +898,8 @@ lazy_static! {
&[("network-programming", 1.2, 0.), ("web-programming::websocket", 0.88, 0.), ("parsing", 0.9, 0.), ("config", 0.9, 0.), ("rendering::data-formats", 0.5, 0.),
("value-formatting", 0.8, 0.), ("data-structures", 0.7, 0.), ("rust-patterns", 0.8, 0.), ("command-line-utilities", 0.9, 0.), ("development-tools", 0.9, 0.), ("development-tools::testing", 0.9, 0.)]),
(Cond::Any(&["backend", "server-sent"]), &[("web-programming::http-server", 1.2, 0.1), ("command-line-utilities", 0.8, 0.)]),
- (Cond::Any(&["client"]), &[("web-programming", 1.1, 0.), ("network-programming", 1.1, 0.), ("web-programming::http-server", 0.9, 0.), ("development-tools::cargo-plugins", 0.8, 0.)]),
+ (Cond::Any(&["client"]), &[("web-programming", 1.1, 0.), ("network-programming", 1.1, 0.), ("web-programming::http-server", 0.9, 0.),
+ ("development-tools::cargo-plugins", 0.8, 0.), ("value-formatting", 0.8, 0.)]),
(Cond::Any(&["kubernetes", "terraform", "coreos"]), &[("web-programming", 1.1, 0.), ("network-programming", 1.2, 0.)]),
(Cond::All(&["http", "server"]), &[("web-programming::http-server", 1.2, 0.11)]),
(Cond::All(&["http", "client"]), &[("web-programming", 1.2, 0.1), ("web-programming::http-server", 0.8, 0.), ("development-tools::procedural-macro-helpers", 0.2, 0.)]),
diff --git a/front_end/src/crate_page.rs b/front_end/src/crate_page.rs
index c506489..8b2199b 100644
--- a/front_end/src/crate_page.rs
+++ b/front_end/src/crate_page.rs
@@ -105,7 +105,7 @@ impl<'a> CratePage<'a> {
title: self.page_title(),
keywords: if keywords != "" { Some(keywords) } else { None },
created: Some(self.date_created()),
- description: self.ver.description().map(|d| format!("{} | Rust package at Crates.rs", d)),
+ description: self.ver.description().map(|d| format!("{} | Cargo package at Crates.rs", d)),
item_name: Some(self.ver.short_name().to_string()),
item_description: self.ver.description().map(|d| d.to_string()),
alternate: self.ver.crates_io_url(),
diff --git a/kitchen_sink/src/lib_kitchen_sink.rs b/kitchen_sink/src/lib_kitchen_sink.rs
index bb06027..78122de 100644
--- a/kitchen_sink/src/lib_kitchen_sink.rs
+++ b/kitchen_sink/src/lib_kitchen_sink.rs
@@ -966,7 +966,7 @@ impl KitchenSink {
"piston2d-graphics" | "amethyst_core" | "amethyst" | "specs" | "piston" | "allegro" | "minifb" |
"rgb" | "imgref" |
"core-foundation" |
- "proc-macro2" | "cargo" | "cargo_metadata" | "git2" |
+ "proc-macro2" | "cargo" | "cargo_metadata" | "git2" | "dbus" |
"hound" | "lopdf" |
"nom" | "lalrpop" | "combine" |
"clap" | "structopt" |
diff --git a/ranking/src/lib_ranking.rs b/ranking/src/lib_ranking.rs
index f180496..38d1fbb 100644
--- a/ranking/src/lib_ranking.rs
+++ b/ranking/src/lib_ranking.rs
@@ -322,7 +322,7 @@ pub fn crate_score_temporal(cr: &CrateTemporalInputs) -> Score {
let age = (Utc::now() - latest_date).num_days();
let days_past_expiration_date = (age - expected_update_interval).max(0);
// score decays for a ~year after the crate should have been updated
- let decay_days = expected_update_interval/2 + if cr.is_nightly {60} else if cr.is_app {360} else {200};
+ let decay_days = expected_update_interval/2 + if cr.is_nightly {60} else if cr.is_app {300} else {200};
(decay_days - days_past_expiration_date).max(0) as f64 / (decay_days as f64)
},
Err(e) => {
@@ -337,12 +337,12 @@ pub fn crate_score_temporal(cr: &CrateTemporalInputs) -> Score {
let downloads_cleaned = (cr.downloads_per_month_minus_most_downloaded_user as f64 / if cr.is_app {1.} else {2.} - 50.).max(0.) + 50.;
// distribution of downloads follows power law.
// apps have much harder to get high download numbers.
- let pop = (downloads.log2() - 6.6) / (if cr.is_app {1.} else {2.});
+ let pop = (downloads.log2() - 6.6) / (if cr.is_app {3.} else {5.});
let pop_cleaned = downloads_cleaned.log2() - 5.6;
assert!(pop > 0.);
assert!(pop_cleaned > 0.);
// FIXME: max should be based on the most downloaded crate?
- score.score_f("Downloads", 8., pop/2.);
+ score.score_f("Downloads", 6., pop);
score.score_f("Downloads (cleaned)", 18., pop_cleaned);
// Don't expect apps to have rev deps (omitting these entirely proprtionally increases importance of other factors)