From 8a24a7b721829576e953010bef8409fa1d691705 Mon Sep 17 00:00:00 2001 From: Kornel Date: Thu, 4 Apr 2019 11:48:52 +0200 Subject: Category and ranking tuning --- categories/src/categories.toml | 8 ++--- categories/src/tuning.rs | 67 ++++++++++++++++++++++-------------- front_end/src/crate_page.rs | 2 +- kitchen_sink/src/lib_kitchen_sink.rs | 2 +- ranking/src/lib_ranking.rs | 6 ++-- 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) -- cgit v1.2.3