Giter Site home page Giter Site logo

juancarlospaco / faster-than-requests Goto Github PK

View Code? Open in Web Editor NEW
1.1K 21.0 87.0 20.43 MB

Faster requests on Python 3

Home Page: https://gist.github.com/juancarlospaco/37da34ed13a609663f55f4466c4dbc3e

License: MIT License

Shell 1.70% Python 25.85% Nim 69.72% Dockerfile 2.73%
python python3 python-library http-requests python-requests web-scraping download-file speed curl cython

faster-than-requests's Introduction

Faster-than-Requests

screenshot

screenshot

Library Speed Files LOC Dependencies Developers WebSockets Multi-Threaded Web Scraper Built-in
PyWGET 152.39 1 338 Wget >17
Requests 15.58 >20 2558 >=7 >527
Requests (cached object) 5.50 >20 2558 >=7 >527
Urllib 4.00 ??? 1200 0 (std lib) ???
Urllib3 3.55 >40 5242 0 (No SSL), >=5 (SSL) >188
PyCurl 0.75 >15 5932 Curl, LibCurl >50
PyCurl (no SSL) 0.68 >15 5932 Curl, LibCurl >50
Faster_than_requests 0.40 1 999 0 1 ✔️ ✔️ 7, One-Liner
  • Lines Of Code counted using CLOC.
  • Direct dependencies of the package when ready to run.
  • Benchmarks run on Docker from Dockerfile on this repo.
  • Developers counted from the Contributors list of Git.
  • Speed is IRL time to complete 10000 HTTP local requests.
  • Stats as of year 2020.
  • x86_64 64Bit AMD, SSD, Arch Linux.

Use

import faster_than_requests as requests

requests.get("http://httpbin.org/get")                                      # GET
requests.post("http://httpbin.org/post", "Some Data Here")                  # POST
requests.download("http://example.com/foo.jpg", "out.jpg")                  # Download a file
requests.scraper(["http://foo.io", "http://bar.io"], threads=True)          # Multi-Threaded Web Scraper
requests.scraper5(["http://foo.io"], sqlite_file_path="database.db")        # URL-to-SQLite Web Scraper
requests.scraper6(["http://python.org"], ["(www|http:|https:)+[^\s]+[\w]"]) # Regex-powered Web Scraper
requests.scraper7("http://python.org", "body > div.someclass a#someid"])    # CSS Selector Web Scraper
requests.websocket_send("ws://echo.websocket.org", "data here")             # WebSockets Binary/Text

Table Of Contents

get() post() put() head()
patch() delete() download() download2()
scraper() scraper2() scraper3() scraper4()
scraper5() scraper6() scraper7() get2str()
get2str2() get2dict() get2json()
post2str() post2dict() post2json() post2list()
download3() tuples2json() set_headers() multipartdata2str()
datauri() urlparse() urlencode() urldecode()
encodequery() encodexml() debugs() minifyhtml()
How to set DEBUG mode websocket_send() websocket_ping()
How to Install How to Windows FAQ Get Help
PyPI GitHub Actions / CI Examples Sponsors

get()

Description: Takes an URL string, makes an HTTP GET and returns a dict with the response.

Arguments:

  • url the remote URL, string type, required, must not be empty string, example https://dev.to.
  • user_agent User Agent, string type, optional, should not be empty string.
  • max_redirects Maximum Redirects, int type, optional, defaults to 9, example 5, example 1.
  • proxy_url Proxy URL, string type, optional, if is "" then NO Proxy is used, defaults to "", example 172.15.256.1:666.
  • proxy_auth Proxy Auth, string type, optional, if proxy_url is "" then is ignored, defaults to "".
  • timeout Timeout, int type, optional, Milliseconds precision, defaults to -1, example 9999, example 666.
  • http_headers HTTP Headers, List of Tuples type, optional, example [("key", "value")], example [("DNT", "1")].

Examples:

import faster_than_requests as requests
requests.get("http://example.com")

Returns: Response, list type, values of the list are string type, values of the list can be empty string, the lenght of the list is always 7 items, the values are like [body, type, status, version, url, length, headers], you can use to_json() to get JSON or to_dict() to get a dict or to_tuples() to get a tuples.

See Also: get2str() and get2str2()

post()

Description: Takes an URL string, makes an HTTP POST and returns a dict with the response.

Arguments:

  • url the remote URL, string type, required, must not be empty string, example https://dev.to.
  • body the Body data, string type, required, can be empty string. To Post Files use this too.
  • multipart_data MultiPart data, optional, list of tupes type, must not be empty list, example [("key", "value")].
  • user_agent User Agent, string type, optional, should not be empty string.
  • max_redirects Maximum Redirects, int type, optional, defaults to 9, example 5, example 1.
  • proxy_url Proxy URL, string type, optional, if is "" then NO Proxy is used, defaults to "", example 172.15.256.1:666.
  • proxy_auth Proxy Auth, string type, optional, if proxy_url is "" then is ignored, defaults to "".
  • timeout Timeout, int type, optional, Milliseconds precision, defaults to -1, example 9999, example 666.
  • http_headers HTTP Headers, List of Tuples type, optional, example [("key", "value")], example [("DNT", "1")].

Examples:

import faster_than_requests as requests
requests.post("http://httpbin.org/post", "Some Data Here")

Returns: Response, list type, values of the list are string type, values of the list can be empty string, the lenght of the list is always 7 items, the values are like [body, type, status, version, url, length, headers], you can use to_json() to get JSON or to_dict() to get a dict or to_tuples() to get a tuples.

put()

Description: Takes an URL string, makes an HTTP PUT and returns a dict with the response.

Arguments:

  • url the remote URL, string type, required, must not be empty string, example https://nim-lang.org.
  • body the Body data, string type, required, can be empty string.
  • user_agent User Agent, string type, optional, should not be empty string.
  • max_redirects Maximum Redirects, int type, optional, defaults to 9, example 5, example 1.
  • proxy_url Proxy URL, string type, optional, if is "" then NO Proxy is used, defaults to "", example 172.15.256.1:666.
  • proxy_auth Proxy Auth, string type, optional, if proxy_url is "" then is ignored, defaults to "".
  • timeout Timeout, int type, optional, Milliseconds precision, defaults to -1, example 9999, example 666.
  • http_headers HTTP Headers, List of Tuples type, optional, example [("key", "value")], example [("DNT", "1")].

Examples:

import faster_than_requests as requests
requests.put("http://httpbin.org/post", "Some Data Here")

Returns: Response, list type, values of the list are string type, values of the list can be empty string, the lenght of the list is always 7 items, the values are like [body, type, status, version, url, length, headers], you can use to_json() to get JSON or to_dict() to get a dict or to_tuples() to get a tuples.

delete()

Description: Takes an URL string, makes an HTTP DELETE and returns a dict with the response.

Arguments:

  • url the remote URL, string type, required, must not be empty string, example https://nim-lang.org.
  • user_agent User Agent, string type, optional, should not be empty string.
  • max_redirects Maximum Redirects, int type, optional, defaults to 9, example 5, example 1.
  • proxy_url Proxy URL, string type, optional, if is "" then NO Proxy is used, defaults to "", example 172.15.256.1:666.
  • proxy_auth Proxy Auth, string type, optional, if proxy_url is "" then is ignored, defaults to "".
  • timeout Timeout, int type, optional, Milliseconds precision, defaults to -1, example 9999, example 666.
  • http_headers HTTP Headers, List of Tuples type, optional, example [("key", "value")], example [("DNT", "1")].

Examples:

import faster_than_requests as requests
requests.delete("http://example.com/api/something")

Returns: Response, list type, values of the list are string type, values of the list can be empty string, the lenght of the list is always 7 items, the values are like [body, type, status, version, url, length, headers], you can use to_json() to get JSON or to_dict() to get a dict or to_tuples() to get a tuples.

patch()

Description: Takes an URL string, makes an HTTP PATCH and returns a dict with the response.

Arguments:

  • url the remote URL, string type, required, must not be empty string, example https://archlinux.org.
  • body the Body data, string type, required, can be empty string.
  • user_agent User Agent, string type, optional, should not be empty string.
  • max_redirects Maximum Redirects, int type, optional, defaults to 9, example 5, example 1.
  • proxy_url Proxy URL, string type, optional, if is "" then NO Proxy is used, defaults to "", example 172.15.256.1:666.
  • proxy_auth Proxy Auth, string type, optional, if proxy_url is "" then is ignored, defaults to "".
  • timeout Timeout, int type, optional, Milliseconds precision, defaults to -1, example 9999, example 666.
  • http_headers HTTP Headers, List of Tuples type, optional, example [("key", "value")], example [("DNT", "1")].

Examples:

import faster_than_requests as requests
requests.patch("http://example.com", "My Body Data Here")

Returns: Response, list type, values of the list are string type, values of the list can be empty string, the lenght of the list is always 7 items, the values are like [body, type, status, version, url, length, headers], you can use to_json() to get JSON or to_dict() to get a dict or to_tuples() to get a tuples.

head()

Description: Takes an URL string, makes an HTTP HEAD and returns a dict with the response.

Arguments:

  • url the remote URL, string type, required, must not be empty string, example https://nim-lang.org.
  • user_agent User Agent, string type, optional, should not be empty string.
  • max_redirects Maximum Redirects, int type, optional, defaults to 9, example 5, example 1.
  • proxy_url Proxy URL, string type, optional, if is "" then NO Proxy is used, defaults to "", example 172.15.256.1:666.
  • proxy_auth Proxy Auth, string type, optional, if proxy_url is "" then is ignored, defaults to "".
  • timeout Timeout, int type, optional, Milliseconds precision, defaults to -1, example 9999, example 666.
  • http_headers HTTP Headers, List of Tuples type, optional, example [("key", "value")], example [("DNT", "1")].

Examples:

import faster_than_requests as requests
requests.head("http://example.com/api/something")

Returns: Response, list type, values of the list are string type, values of the list can be empty string, the lenght of the list is always 7 items, the values are like [body, type, status, version, url, length, headers], you can use to_json() to get JSON or to_dict() to get a dict or to_tuples() to get a tuples.

to_dict()

Description: Convert the response to dict.

Arguments:

  • ftr_response Response from any of the functions that return a response.

Returns: Response, dict type.

to_json()

Description: Convert the response to Pretty-Printed JSON.

Arguments:

  • ftr_response Response from any of the functions that return a response.

Returns: Response, Pretty-Printed JSON.

to_tuples()

Description: Convert the response to a list of tuples.

Arguments:

  • ftr_response Response from any of the functions that return a response.

Returns: Response, list of tuples.

Extras: Go beyond requests

scraper()

Description: Multi-Threaded Ready-Made URL-Deduplicating Web Scraper from a list of URLs.

All arguments are optional, it only needs the URL to get to work. Scraper is designed to be like a 2-Step Web Scraper, that makes a first pass collecting all URL Links and then a second pass actually fetching those URLs. Requests are processed asynchronously. This means that it doesn’t need to wait for a request to be finished to be processed.

Arguments:

  • list_of_urls List of URLs, URL must be string type, required, must not be empty list, example ["http://example.io"].
  • html_tag HTML Tag to parse, string type, optional, defaults to "a" being Links, example "h1".
  • case_insensitive Case Insensitive, True for Case Insensitive, boolean type, optional, defaults to True, example True.
  • deduplicate_urls Deduplicate list_of_urls removing repeated URLs, boolean type, optional, defaults to False, example False.
  • threads Passing threads = True uses Multi-Threading, threads = False will Not use Multi-Threading, boolean type, optional, omitting it will Not use Multi-Threading.

Examples:

import faster_than_requests as requests
requests.scraper(["https://nim-lang.org", "http://example.com"], threads=True)

Returns: Scraped Webs.

scraper2()

Description: Multi-Tag Ready-Made URL-Deduplicating Web Scraper from a list of URLs. All arguments are optional, it only needs the URL to get to work. Scraper is designed to be like a 2-Step Web Scraper, that makes a first pass collecting all URL Links and then a second pass actually fetching those URLs. Requests are processed asynchronously. This means that it doesn’t need to wait for a request to be finished to be processed. You can think of this scraper as a parallel evolution of the original scraper.

Arguments:

  • list_of_urls List of URLs, URL must be string type, required, must not be empty list, example ["http://example.io"].
  • list_of_tags List of HTML Tags to parse, List type, optional, defaults to ["a"] being Links, example ["h1", "h2"].
  • case_insensitive Case Insensitive, True for Case Insensitive, boolean type, optional, defaults to True, example True.
  • deduplicate_urls Deduplicate list_of_urls removing repeated URLs, boolean type, optional, defaults to False, example False.
  • verbose Verbose, print to terminal console the progress, bool type, optional, defaults to True, example False.
  • delay Delay between a download and the next one, MicroSeconds precision (1000 = 1 Second), integer type, optional, defaults to 0, must be a positive integer value, example 42.
  • threads Passing threads = True uses Multi-Threading, threads = False will Not use Multi-Threading, boolean type, optional, omitting it will Not use Multi-Threading.
  • agent User Agent, string type, optional, must not be empty string.
  • redirects Maximum Redirects, integer type, optional, defaults to 5, must be positive integer.
  • timeout Timeout, MicroSeconds precision (1000 = 1 Second), integer type, optional, defaults to -1, must be a positive integer value, example 42.
  • header HTTP Header, any HTTP Headers can be put here, list type, optional, example [("key", "value")].
  • proxy_url HTTPS Proxy Full URL, string type, optional, must not be empty string.
  • proxy_auth HTTPS Proxy Authentication, string type, optional, defaults to "", empty string is ignored.

Examples:

import faster_than_requests as requests
requests.scraper2(["https://nim-lang.org", "http://example.com"], list_of_tags=["h1", "h2"], case_insensitive=False)

Returns: Scraped Webs.

scraper3()

Description: Multi-Tag Ready-Made URL-Deduplicating Web Scraper from a list of URLs.

This Scraper is designed with lots of extra options on the arguments. All arguments are optional, it only needs the URL to get to work. Scraper is designed to be like a 2-Step Web Scraper, that makes a first pass collecting all URL Links and then a second pass actually fetching those URLs. You can think of this scraper as a parallel evolution of the original scraper.

Arguments:

  • list_of_urls List of URLs, URL must be string type, required, must not be empty list, example ["http://example.io"].
  • list_of_tags List of HTML Tags to parse, List type, optional, defaults to ["a"] being Links, example ["h1", "h2"].
  • case_insensitive Case Insensitive, True for Case Insensitive, boolean type, optional, defaults to True, example True.
  • deduplicate_urls Deduplicate list_of_urls removing repeated URLs, boolean type, optional, defaults to False, example False.
  • start_with Match at the start of the line, similar to str().startswith(), string type, optional, example "<cite ".
  • ends_with Match at the end of the line, similar to str().endswith(), string type, optional, example "</cite>".
  • delay Delay between a download and the next one, MicroSeconds precision (1000 = 1 Second), integer type, optional, defaults to 0, must be a positive integer value, example 42.
  • line_start Slice the line at the start by this index, integer type, optional, defaults to 0 meaning no slicing since string start at index 0, example 3 cuts off 3 letters of the line at the start.
  • line_end Slice the line at the end by this reverse index, integer type, optional, defaults to 1 meaning no slicing since string ends at reverse index 1, example 9 cuts off 9 letters of the line at the end.
  • pre_replacements List of tuples of strings to replace before parsing, replacements are in parallel, List type, optional, example [("old", "new"), ("red", "blue")] will replace "old" with "new" and will replace "red" with "blue".
  • post_replacements List of tuples of strings to replace after parsing, replacements are in parallel, List type, optional, example [("old", "new"), ("red", "blue")] will replace "old" with "new" and will replace "red" with "blue".
  • agent User Agent, string type, optional, must not be empty string.
  • redirects Maximum Redirects, integer type, optional, defaults to 5, must be positive integer.
  • timeout Timeout, MicroSeconds precision (1000 = 1 Second), integer type, optional, defaults to -1, must be a positive integer value, example 42.
  • header HTTP Header, any HTTP Headers can be put here, list type, optional, example [("key", "value")].
  • proxy_url HTTPS Proxy Full URL, string type, optional, must not be empty string.
  • proxy_auth HTTPS Proxy Authentication, string type, optional, defaults to "", empty string is ignored.
  • verbose Verbose, print to terminal console the progress, bool type, optional, defaults to True, example False.

Examples:

import faster_than_requests as requests
requests.scraper3(["https://nim-lang.org", "http://example.com"], list_of_tags=["h1", "h2"], case_insensitive=False)

Returns: Scraped Webs.

scraper4()

Description: Images and Photos Ready-Made Web Scraper from a list of URLs.

The Images and Photos scraped from the first URL will be put into a new sub-folder named 0, Images and Photos scraped from the second URL will be put into a new sub-folder named 1, and so on. All arguments are optional, it only needs the URL to get to work. You can think of this scraper as a parallel evolution of the original scraper.

Arguments:

  • list_of_urls List of URLs, URL must be string type, required, must not be empty list, example ["https://unsplash.com/s/photos/cat", "https://unsplash.com/s/photos/dog"].
  • case_insensitive Case Insensitive, True for Case Insensitive, boolean type, optional, defaults to True, example True.
  • deduplicate_urls Deduplicate list_of_urls removing repeated URLs, boolean type, optional, defaults to False, example False.
  • visited_urls Do not visit same URL twice, even if redirected into, keeps track of visited URLs, bool type, optional, defaults to True.
  • delay Delay between a download and the next one, MicroSeconds precision (1000 = 1 Second), integer type, optional, defaults to 0, must be a positive integer value, example 42.
  • folder Directory to download Images and Photos, string type, optional, defaults to current folder, must not be empty string, example /tmp.
  • force_extension Force file extension to be this file extension, string type, optional, defaults to ".jpg", must not be empty string, example ".png".
  • https_only Force to download images on Secure HTTPS only ignoring plain HTTP, sometimes HTTPS may redirect to HTTP, bool type, optional, defaults to False, example True.
  • html_output Collect all scraped Images and Photos into 1 HTML file with all elements scraped, bool type, optional, defaults to True, example False.
  • csv_output Collect all scraped URLs into 1 CSV file with all links scraped, bool type, optional, defaults to True, example False.
  • verbose Verbose, print to terminal console the progress, bool type, optional, defaults to True, example False.
  • print_alt print to terminal console the alt attribute of the Images and Photos, bool type, optional, defaults to False, example True.
  • picture Scrap images from the new HTML5 <picture> tags instead of <img> tags, <picture> are Responsive images for several resolutions but also you get duplicated images, bool type, optional, defaults to False, example True.
  • agent User Agent, string type, optional, must not be empty string.
  • redirects Maximum Redirects, integer type, optional, defaults to 5, must be positive integer.
  • timeout Timeout, MicroSeconds precision (1000 = 1 Second), integer type, optional, defaults to -1, must be a positive integer value, example 42.
  • header HTTP Header, any HTTP Headers can be put here, list type, optional, example [("key", "value")].
  • proxy_url HTTPS Proxy Full URL, string type, optional, must not be empty string.
  • proxy_auth HTTPS Proxy Authentication, string type, optional, defaults to "", empty string is ignored.

Examples:

import faster_than_requests as requests
requests.scraper4(["https://unsplash.com/s/photos/cat", "https://unsplash.com/s/photos/dog"])

Returns: None.

scraper5()

Description: Recursive Web Scraper to SQLite Database, you give it an URL, it gives back an SQLite.

SQLite database can be visualized with any SQLite WYSIWYG, like https://sqlitebrowser.org If the script gets interrupted like with CTRL+C it will try its best to keep data consistent. Additionally it will create a CSV file with all the scraped URLs. HTTP Headers are stored as Pretty-Printed JSON. Date and Time are stored as Unix Timestamps. All arguments are optional, it only needs the URL and SQLite file path to get to work. You can think of this scraper as a parallel evolution of the original scraper.

Arguments:

  • list_of_urls List of URLs, URL must be string type, required, must not be empty list, example ["https://unsplash.com/s/photos/cat", "https://unsplash.com/s/photos/dog"].
  • sqlite_file_path Full file path to a new SQLite Database, must be .db file extension, string type, required, must not be empty string, example "scraped_data.db".
  • skip_ends_with Skip the URL if ends with this pattern, list type, optional, must not be empty list, example [".jpg", ".pdf"].
  • case_insensitive Case Insensitive, True for Case Insensitive, boolean type, optional, defaults to True, example True.
  • deduplicate_urls Deduplicate list_of_urls removing repeated URLs, boolean type, optional, defaults to False, example False.
  • visited_urls Do not visit same URL twice, even if redirected into, keeps track of visited URLs, bool type, optional, defaults to True.
  • delay Delay between a download and the next one, MicroSeconds precision (1000 = 1 Second), integer type, optional, defaults to 0, must be a positive integer value, example 42.
  • https_only Force to download images on Secure HTTPS only ignoring plain HTTP, sometimes HTTPS may redirect to HTTP, bool type, optional, defaults to False, example True.
  • only200 Only commit to Database the successful scraping pages, ignore all errors, bool type, optional, example True.
  • agent User Agent, string type, optional, must not be empty string.
  • redirects Maximum Redirects, integer type, optional, defaults to 5, must be positive integer.
  • timeout Timeout, MicroSeconds precision (1000 = 1 Second), integer type, optional, defaults to -1, must be a positive integer value, example 42.
  • max_loops Maximum total Loops to do while scraping, like a global guard for infinite redirections, integer type, optional, example 999.
  • max_deep Maximum total scraping Recursive Deep, like a global guard for infinite deep recursivity, integer type, optional, example 999.
  • header HTTP Header, any HTTP Headers can be put here, list type, optional, example [("key", "value")].
  • proxy_url HTTPS Proxy Full URL, string type, optional, must not be empty string.
  • proxy_auth HTTPS Proxy Authentication, string type, optional, defaults to "", empty string is ignored.

Examples:

import faster_than_requests as requests
requests.scraper5(["https://example.com"], "scraped_data.db")

Returns: None.

scraper6()

Description: Regex powered Web Scraper from a list of URLs. Scrap web content using a list of Perl Compatible Regular Expressions (PCRE standard). You can configure the Regular Expressions to be case insensitive or multiline or extended.

This Scraper is designed for developers that know Regular Expressions. Learn Regular Expressions.

All arguments are optional, it only needs the URL and the Regex to get to work. You can think of this scraper as a parallel evolution of the original scraper.

Regex Arguments: (Arguments focused on Regular Expression parsing and matching)

  • list_of_regex List of Perl Compatible Regular Expressions (PCRE standard) to match the URL against, List type, required, example ["(www|http:|https:)+[^\s]+[\w]"].
  • case_insensitive Case Insensitive Regular Expressions, do caseless matching, True for Case Insensitive, boolean type, optional, defaults to False, example True.
  • multiline Multi-Line Regular Expressions, ^ and $ match newlines within data, boolean type, optional, defaults to False, example True.
  • extended Extended Regular Expressions, ignore all whitespaces and # comments, boolean type, optional, defaults to False, example True.
  • dot Dot . matches anything, including new lines, boolean type, optional, defaults to False, example True.
  • start_with Perl Compatible Regular Expression to match at the start of the line, similar to str().startswith() but with Regular Expressions, string type, optional.
  • ends_with Perl Compatible Regular Expression to match at the end of the line, similar to str().endswith() but with Regular Expressions, string type, optional.
  • post_replacement_regex Perl Compatible Regular Expressions (PCRE standard) to replace after parsing, string type, optional, this option works with post_replacement_by, this is like a Regex post-processing, this option is for experts on Regular Expressions.
  • post_replacement_by string to replace by after parsing, string type, optional, this option works with post_replacement_regex, this is like a Regex post-processing, this option is for experts on Regular Expressions.
  • re_start Perl Compatible Regular Expression matchs start at this index, positive integer type, optional, defaults to 0, this option is for experts on Regular Expressions.

Arguments:

  • list_of_urls List of URLs, URL must be string type, required, must not be empty list, example ["http://example.io"].
  • deduplicate_urls Deduplicate list_of_urls removing repeated URLs, boolean type, optional, defaults to False, example False.
  • delay Delay between a download and the next one, MicroSeconds precision (1000 = 1 Second), integer type, optional, defaults to 0, must be a positive integer value, example 42.
  • agent User Agent, string type, optional, must not be empty string.
  • redirects Maximum Redirects, integer type, optional, defaults to 5, must be positive integer.
  • timeout Timeout, MicroSeconds precision (1000 = 1 Second), integer type, optional, defaults to -1, must be a positive integer value, example 42.
  • header HTTP Header, any HTTP Headers can be put here, list type, optional, example [("key", "value")].
  • proxy_url HTTPS Proxy Full URL, string type, optional, must not be empty string.
  • proxy_auth HTTPS Proxy Authentication, string type, optional, defaults to "", empty string is ignored.
  • verbose Verbose, print to terminal console the progress, bool type, optional, defaults to True, example False.

Examples:

import faster_than_requests as requests
requests.scraper6(["http://nim-lang.org", "http://python.org"], ["(www|http:|https:)+[^\s]+[\w]"])

Returns: Scraped Webs.

scraper7()

Description: CSS Selector powered Web Scraper. Scrap web content using a CSS Selector. The CSS Syntax does NOT take Regex nor Regex-like syntax nor literal tag attribute values.

All arguments are optional, it only needs the URL and CSS Selector to get to work. You can think of this scraper as a parallel evolution of the original scraper.

Arguments:

  • url The URL, string type, required, must not be empty string, example "http://python.org".
  • css_selector CSS Selector, string type, required, must not be empty string, example "body nav.class ul.menu > li > a".
  • agent User Agent, string type, optional, must not be empty string.
  • redirects Maximum Redirects, integer type, optional, defaults to 9, must be positive integer.
  • timeout Timeout, MicroSeconds precision (1000 = 1 Second), integer type, optional, defaults to -1, must be a positive integer value, example 42.
  • header HTTP Header, any HTTP Headers can be put here, list type, optional, example [("key", "value")].
  • proxy_url HTTPS Proxy Full URL, string type, optional, must not be empty string.
  • proxy_auth HTTPS Proxy Authentication, string type, optional, defaults to "", empty string is ignored.

Examples:

import faster_than_requests as requests
requests.scraper7("http://python.org", "body > div.class a#someid")
import faster_than_requests as requests
requests.scraper7("https://nim-lang.org", "a.pure-menu-link")

[
  '<a class="pure-menu-link" href="/blog.html">Blog</a>',
  '<a class="pure-menu-link" href="/features.html">Features</a>',
  '<a class="pure-menu-link" href="/install.html">Download</a>',
  '<a class="pure-menu-link" href="/learn.html">Learn</a>',
  '<a class="pure-menu-link" href="/documentation.html">Documentation</a>',
  '<a class="pure-menu-link" href="https://forum.nim-lang.org">Forum</a>',
  '<a class="pure-menu-link" href="https://github.com/nim-lang/Nim">Source</a>'
]

More examples: https://github.com/juancarlospaco/faster-than-requests/blob/master/examples/web_scraper_via_css_selectors.py

Returns: Scraped Webs.

websocket_ping()

Description: WebSocket Ping.

Arguments:

  • url the remote URL, string type, required, must not be empty string, example "ws://echo.websocket.org".
  • data data to send, string type, optional, can be empty string, default is empty string, example "".
  • hangup Close the Socket without sending a close packet, optional, default is False, not sending close packet can be faster.

Examples:

import faster_than_requests as requests
requests.websocket_ping("ws://echo.websocket.org")

Returns: Response, string type, can be empty string.

websocket_send()

Description: WebSocket send data, binary or text.

Arguments:

  • url the remote URL, string type, required, must not be empty string, example "ws://echo.websocket.org".
  • data data to send, string type, optional, can be empty string, default is empty string, example "".
  • is_text if True data is sent as Text else as Binary, optional, default is False.
  • hangup Close the Socket without sending a close packet, optional, default is False, not sending close packet can be faster.

Examples:

import faster_than_requests as requests
requests.websocket_send("ws://echo.websocket.org", "data here")

Returns: Response, string type.

get2str()

Description: Takes an URL string, makes an HTTP GET and returns a string with the response Body.

Arguments:

  • url the remote URL, string type, required, must not be empty string, example https://archlinux.org.

Examples:

import faster_than_requests as requests
requests.get2str("http://example.com")

Returns: Response body, string type, can be empty string.

get2str2()

Description: Takes a list of URLs, makes 1 HTTP GET for each URL, and returns a list of strings with the response Body. This makes all GET fully parallel, in a single Thread, in a single Process.

Arguments:

  • list_of_urls A list of the remote URLs, list type, required. Objects inside the list must be string type.

Examples:

import faster_than_requests as requests
requests.get2str2(["http://example.com/foo", "http://example.com/bar"]) # Parallel GET

Returns: List of response bodies, list type, values of the list are string type, values of the list can be empty string, can be empty list.

get2dict()

Description: Takes an URL, makes an HTTP GET, returns a dict with the response Body.

Arguments:

  • url the remote URL, string type, required, must not be empty string, example https://alpinelinux.org.

Examples:

import faster_than_requests as requests
requests.get2dict("http://example.com")

Returns: Response, dict type, values of the dict are string type, values of the dict can be empty string, but keys are always consistent.

get2json()

Description: Takes an URL, makes an HTTP GET, returns a Minified Computer-friendly single-line JSON with the response Body.

Arguments:

  • url the remote URL, string type, required, must not be empty string, example https://alpinelinux.org.
  • pretty_print Pretty Printed JSON, optional, defaults to False.

Examples:

import faster_than_requests as requests
requests.get2json("http://example.com", pretty_print=True)

Returns: Response Body, Pretty-Printed JSON.

post2str()

Description: Takes an URL, makes an HTTP POST, returns the response Body as string type.

Arguments:

  • url the remote URL, string type, required, must not be empty string.
  • body the Body data, string type, required, can be empty string.
  • multipart_data MultiPart data, optional, list of tupes type, must not be empty list, example [("key", "value")].

Examples:

import faster_than_requests as requests
requests.post2str("http://example.com/api/foo", "My Body Data Here")

Returns: Response body, string type, can be empty string.

post2dict()

Description: Takes an URL, makes a HTTP POST on that URL, returns a dict with the response.

Arguments:

  • url the remote URL, string type, required, must not be empty string.
  • body the Body data, string type, required, can be empty string.
  • multipart_data MultiPart data, optional, list of tupes type, must not be empty list, example [("key", "value")].

Examples:

import faster_than_requests as requests
requests.post2dict("http://example.com/api/foo", "My Body Data Here")

Returns: Response, dict type, values of the dict are string type, values of the dict can be empty string, but keys are always consistent.

post2json()

Description: Takes a list of URLs, makes 1 HTTP GET for each URL, returns a list of responses.

Arguments:

  • url the remote URL, string type, required, must not be empty string.
  • body the Body data, string type, required, can be empty string.
  • multipart_data MultiPart data, optional, list of tupes type, must not be empty list, example [("key", "value")].
  • pretty_print Pretty Printed JSON, optional, defaults to False.

Examples:

import faster_than_requests as requests
requests.post2json("http://example.com/api/foo", "My Body Data Here")

Returns: Response, string type.

post2list()

Description: Takes a list of URLs, makes 1 HTTP POST for each URL, returns a list of responses.

Arguments:

  • list_of_urls the remote URLS, list type, required, the objects inside the list must be string type.
  • body the Body data, string type, required, can be empty string.
  • multipart_data MultiPart data, optional, list of tupes type, must not be empty list, example [("key", "value")].

Examples:

import faster_than_requests as requests
requests.post2list("http://example.com/api/foo", "My Body Data Here")

Returns: List of response bodies, list type, values of the list are string type, values of the list can be empty string, can be empty list.

download()

Description: Takes a list of URLs, makes 1 HTTP GET for each URL, returns a list of responses.

Arguments:

  • url the remote URL, string type, required, must not be empty string.
  • filename the local filename, string type, required, must not be empty string, full path recommended, can be relative path, includes file extension.

Examples:

import faster_than_requests as requests
requests.download("http://example.com/api/foo", "my_file.ext")

Returns: None.

download2()

Description: Takes a list of URLs, makes 1 HTTP GET Download for each URL of the list.

Arguments:

  • list_of_files list of tuples, tuples must be 2 items long, first item is URL and second item is filename. The remote URL, string type, required, must not be empty string, is the first item on the tuple. The local filename, string type, required, must not be empty string, can be full path, can be relative path, must include file extension.
  • delay Delay between a download and the next one, MicroSeconds precision (1000 = 1 Second), integer type, optional, defaults to 0, must be a positive integer value.
  • threads Passing threads = True uses Multi-Threading, threads = False will Not use Multi-Threading, omitting it will Not use Multi-Threading.

Examples:

import faster_than_requests as requests
requests.download2([("http://example.com/cat.jpg", "kitten.jpg"), ("http://example.com/dog.jpg", "doge.jpg")])

Returns: None.

download3()

Description: Takes a list of URLs, makes 1 HTTP GET Download for each URL of the list. It will Retry again and again in loop until the file is downloaded or tries is 0, whatever happens first. If all retries have failed and tries is 0 it will error out.

Arguments:

  • list_of_files list of tuples, tuples must be 2 items long, first item is URL and second item is filename. The remote URL, string type, required, must not be empty string, is the first item on the tuple. The local filename, string type, required, must not be empty string, can be full path, can be relative path, must include file extension.
  • delay Delay between a download and the next one, MicroSeconds precision (1000 = 1 Second), integer type, optional, defaults to 0, must be a positive integer value.
  • tries how many Retries to try, positive integer type, optional, defaults to 9, must be a positive integer value.
  • backoff Back-Off between retries, positive integer type, optional, defaults to 2, must be a positive integer value.
  • jitter Jitter applied to the Back-Off between retries (Modulo math operation), positive integer type, optional, defaults to 2, must be a positive integer value.
  • verbose be Verbose, bool type, optional, defaults to True.

Returns: None.

Examples:

import faster_than_requests as requests
requests.download3(
  [("http://INVALID/cat.jpg", "kitten.jpg"), ("http://INVALID/dog.jpg", "doge.jpg")],
  delay = 1, tries = 9, backoff = 2, jitter = 2, verbose = True,
)

Examples of Failed download output (intended):

$ python3 example_fail_all_retry.py

Retry: 3 of 3
(url: "http://NONEXISTENT", filename: "a.json")
No such file or directory
Additional info: "Name or service not known"
Retrying in 64 microseconds...
Retry: 2 of 3
(url: "http://NONEXISTENT", filename: "a.json")
No such file or directory
Additional info: "Name or service not known"
Retrying in 128 microseconds (Warning: This is the last Retry!).
Retry: 1 of 3
(url: "http://NONEXISTENT", filename: "a.json")
No such file or directory
Additional info: "Name or service not known"
Retrying in 256 microseconds (Warning: This is the last Retry!).
Traceback (most recent call last):
  File "example_fail_all_retry.py", line 3, in <module>
    downloader.download3()
  ...

$

set_headers()

Description: Set the HTTP Headers from the arguments. This is for the functions that NOT allow http_headers as argument.

Arguments:

  • http_headers HTTP Headers, List of Tuples type, required, example [("key", "value")], example [("DNT", "1")]. List of tuples, tuples must be 2 items long, must not be empty list, must not be empty tuple, the first item of the tuple is the key and second item of the tuple is value, keys must not be empty string, values can be empty string, both must the stripped.

Examples:

import faster_than_requests as requests
requests.set_headers(headers = [("key", "value")])
import faster_than_requests as requests
requests.set_headers([("key0", "value0"), ("key1", "value1")])
import faster_than_requests as requests
requests.set_headers([("content-type", "text/plain"), ("dnt", "1")])

Returns: None.

multipartdata2str()

Description: Takes MultiPart Data and returns a string representation. Converts MultipartData to 1 human readable string. The human-friendly representation is not machine-friendly, so is not Serialization nor Stringification, just for humans. It is faster and different than stdlib parse_multipart.

Arguments:

  • multipart_data MultiPart data, optional, list of tupes type, must not be empty list, example [("key", "value")].

Examples:

import faster_than_requests as requests
requests.multipartdata2str([("key", "value")])

Returns: string.

datauri()

Description: Takes data and returns a standard Base64 Data URI (RFC-2397). At the time of writing Python stdlib does not have a function that returns Data URI (RFC-2397) on base64 module. This can be used as URL on HTML/CSS/JS. It is faster and different than stdlib base64.

Arguments:

  • data Arbitrary Data, string type, required.
  • mime MIME Type of data, string type, required, example "text/plain".
  • encoding Encoding, string type, required, defaults to "utf-8", example "utf-8", "utf-8" is recommended.

Examples:

import faster_than_requests as requests
requests.datauri("Nim", "text/plain")

Returns: string.

urlparse()

Description: Parse any URL and return parsed primitive values like scheme, username, password, hostname, port, path, query, anchor, opaque, etc. It is faster and different than stdlib urlparse.

Arguments:

  • url The URL, string type, required.

Examples:

import faster_than_requests as requests
requests.urlparse("https://nim-lang.org")

Returns: scheme, username, password, hostname, port, path, query, anchor, opaque, etc.

urlencode()

Description: Encodes a URL according to RFC-3986, string to string. It is faster and different than stdlib urlencode.

Arguments:

  • url The URL, string type, required.
  • use_plus When use_plus is true, spaces are encoded as + instead of %20.

Examples:

import faster_than_requests as requests
requests.urlparse("https://nim-lang.org", use_plus = True)

Returns: string.

urldecode()

Description: Decodes a URL according to RFC-3986, string to string. It is faster and different than stdlib unquote.

Arguments:

  • url The URL, string type, required.
  • use_plus When use_plus is true, spaces are decoded as + instead of %20.

Examples:

import faster_than_requests as requests
requests.urldecode(r"https%3A%2F%2Fnim-lang.org", use_plus = False)

Returns: string.

encodequery()

Description: Encode a URL according to RFC-3986, string to string. It is faster and different than stdlib quote_plus.

Arguments:

  • query List of Tuples, required, example [("key", "value")], example [("DNT", "1")].
  • omit_eq If the value is an empty string then the ="" is omitted, unless omit_eq is false.
  • use_plus When use_plus is true, spaces are decoded as + instead of %20.

Examples:

import faster_than_requests as requests
requests.encodequery([("key", "value")], use_plus = True, omit_eq = True)

Returns: string.

encodexml()

Description: Convert the characters &, <, >, " in a string to an HTML-safe string, output is Valid XML. Use this if you need to display text that might contain such characters in HTML, SVG or XML. It is faster and different than stdlib html.escape.

Arguments:

  • s Arbitrary string, required.

Examples:

import faster_than_requests as requests
requests.encodexml("<h1>Hello World</h1>")

Returns: string.

minifyhtml()

Description: Fast HTML and SVG Minifier. Not Obfuscator.

Arguments:

  • html HTML string, required.

Examples:

import faster_than_requests as requests
requests.minifyhtml("<h1>Hello</h1>          <h1>World</h1>")

Returns: string.

gen_auth_header()

Description: Helper for HTTP Authentication headers.

Returns 1 string kinda like "Basic base64(username):base64(username)", so it can be used like [ ("Authorization": gen_auth_header("username", "password") ) ]. See #168 (comment)

Arguments:

  • username Username string, must not be empty string, required.
  • password Password string, must not be empty string, required.

Returns: string.

debugs

**Description:** Debug the internal Configuration of the library, takes no arguments, returns nothing, prints the pretty-printed human-friendly multi-line JSON Configuration to standard output terminal.

Examples:

import faster_than_requests as requests
requests.debugs()

Arguments: None.

Returns: None.

optimizeGC()

Description: This module uses compile-time deterministic memory management GC (kinda like Rust, but for Python). Python at run-time makes a pause, runs a Garbage Collector, and resumes again after the pause.

gctricks.optimizeGC allows you to omit the Python GC pauses at run-time temporarily on a context manager block, this is the proper way to use this module for Benchmarks!, this is optional but recommended, we did not invent this, this is inspired from work from Instagram Engineering team and battle tested by them:

This is NOT a function, it is a context manager, it takes no arguments and wont return.

This calls init_client() at start and close_client() at end automatically.

Examples:

from gctricks import optmizeGC

with optmizeGC:
  # All your HTTP code here. Chill the GC. Calls init_client() and close_client() automatically.

# GC run-time pauses enabled again.

init_client()

Description: Instantiate the HTTP Client object, for deferred initialization, call it before the start of all HTTP operations.

get(), post(), put(), patch(), delete(), head() do NOT need this, because they auto-init, this exist for performance reasons to defer the initialization and was requested by the community.

This is optional but recommended.

Read optimizeGC documentation before using.

Arguments: None.

Examples:

import faster_than_requests as requests
requests.init_client()
# All your HTTP code here.

Returns: None.

close_client()

Description: Tear down the HTTP Client object, for deferred de-initialization, call it after the end of all HTTP operations.

get(), post(), put(), patch(), delete(), head() do NOT need this, because they auto-init, this exist for performance reasons to defer the de-initialization and was requested by the community.

This is optional but recommended.

Read optimizeGC documentation before using.

Arguments: None.

Examples:

import faster_than_requests as requests
# All your HTTP code here.
requests.close_client()

Returns: None.

For more Examples check the Examples and Tests.

Instead of having a pair of functions with a lot of arguments that you should provide to make it work, we have tiny functions with very few arguments that do one thing and do it as fast as possible.

A lot of functions are oriented to Data Science, Big Data, Open Data, Web Scrapping, working with HTTP REST JSON APIs.

Install

  • pip install faster_than_requests

Docker

  • Make a quick test drive on Docker!.
$ ./build-docker.sh
$ ./run-docker.sh
$ ./server4benchmarks &  # Inside Docker.
$ python3 benchmark.py   # Inside Docker.

Dependencies

  • None

Platforms

  • ✅ Linux
  • ✅ Windows
  • ✅ Mac
  • ✅ Android
  • ✅ Raspberry Pi
  • ✅ BSD

Extras

More Faster Libraries...

Requisites

  • Python 3.
  • 64 Bit.

Windows

  • Documentation assumes experience with Git, GitHub, cmd, Compiled software, PC with Administrator.
  • If installation fails on Windows, just use the Source Code:

win-compile

The only software needed is Git for Windows and Nim.

Reboot after install. Administrator required for install. Everything must be 64Bit.

If that fails too, dont waste time and go directly for Docker for Windows..

For info about how to install Git for Windows, read Git for Windows Documentation.

For info about how to install Nim, read Nim Documentation.

For info about how to install Docker for Windows., read Docker for Windows. Documentation.

GitHub Actions Build everything from zero on each push, use it as guidance too.

nimble install nimpy
nim c -d:ssl -d:danger --app:lib --tlsEmulation:on --out:faster_than_requests.pyd faster_than_requests.nim

Sponsors

  • Become a Sponsor and help improve this library with the features you want!, we need Sponsors!.
Bitcoin BTC

BEP20 Binance Smart Chain Network BSC

0xb78c4cf63274bb22f83481986157d234105ac17e

BTC Bitcoin Network

1Pnf45MgGgY32X4KDNJbutnpx96E4FxqVi
Ethereum ETH Dai DAI Uniswap UNI Axie Infinity AXS Smooth Love Potion SLP

BEP20 Binance Smart Chain Network BSC

0xb78c4cf63274bb22f83481986157d234105ac17e

ERC20 Ethereum Network

0xb78c4cf63274bb22f83481986157d234105ac17e
Tether USDT

BEP20 Binance Smart Chain Network BSC

0xb78c4cf63274bb22f83481986157d234105ac17e

ERC20 Ethereum Network

0xb78c4cf63274bb22f83481986157d234105ac17e

TRC20 Tron Network

TWGft53WgWvH2mnqR8ZUXq1GD8M4gZ4Yfu
Solana SOL

BEP20 Binance Smart Chain Network BSC

0xb78c4cf63274bb22f83481986157d234105ac17e

SOL Solana Network

FKaPSd8kTUpH7Q76d77toy1jjPGpZSxR4xbhQHyCMSGq
Cardano ADA

BEP20 Binance Smart Chain Network BSC

0xb78c4cf63274bb22f83481986157d234105ac17e

ADA Cardano Network

DdzFFzCqrht9Y1r4Yx7ouqG9yJNWeXFt69xavLdaeXdu4cQi2yXgNWagzh52o9k9YRh3ussHnBnDrg7v7W2hSXWXfBhbo2ooUKRFMieM
Sandbox SAND Decentraland MANA

ERC20 Ethereum Network

0xb78c4cf63274bb22f83481986157d234105ac17e
Algorand ALGO

ALGO Algorand Network

WM54DHVZQIQDVTHMPOH6FEZ4U2AU3OBPGAFTHSCYWMFE7ETKCUUOYAW24Q
Binance

https://pay.binance.com/en/checkout/e92e536210fd4f62b426ea7ee65b49c3

FAQ

  • Whats the idea, inspiration, reason, etc ?.

Feel free to Fork, Clone, Download, Improve, Reimplement, Play with this Open Source. Make it 10 times faster, 10 times smaller.

  • This works with SSL ?.

Yes.

  • This works without SSL ?.

Yes.

  • This requires Cython ?.

No.

  • This runs on PyPy ?.

No.

  • This runs on Python2 ?.

I dunno. (Not supported)

  • This runs on 32Bit ?.

No.

  • This runs with Clang ?.

No.

  • Where to get help ?.

https://github.com/juancarlospaco/faster-than-requests/issues

  • How to set the URL ?.

url="http://example.com" (1st argument always).

  • How to set the HTTP Body ?.

body="my body"

  • How to set an HTTP Header key=value ?.

set_headers()

  • How can be faster than PyCurl ?.

I dunno.

  • Why use Tuple instead of Dict for HTTP Headers ?.

For speed performance reasons, dict is slower, bigger, heavier and mutable compared to tuple.

  • Why needs 64Bit ?.

Maybe it works on 32Bit, but is not supported, integer sizes are too small, and performance can be worse.

  • Why needs Python 3 ?.

Maybe it works on Python 2, but is not supported, and performance can be worse, we suggest to migrate to Python3.

  • Can I wrap the functions on a try: except: block ?.

Functions do not have internal try: except: blocks, so you can wrap them inside try: except: blocks if you need very resilient code.

  • PIP fails to install or fails build the wheel ?.

Add at the end of the PIP install command:

--isolated --disable-pip-version-check --no-cache-dir --no-binary :all:

Not my Bug.

  • How to Build the project ?.

build.sh or build.nims

  • How to Package the project ?.

package.sh or package.nims

  • This requires Nimble ?.

No.

  • Whats the unit of measurement for speed ?.

Unmmodified raw output of Python timeit module.

Please send Pull Request to Python to improve the output of timeit.

  • The LoC is a lie, not counting the lines of code of the Compiler ?.

Projects that use Cython wont count the whole Cython on the LoC, so we wont neither.

Stars

@juancarlospaco@nikitavoloboev@5u4@CKristensen@Lips7@zeandrade@SoloDevOG@AM-I-Human@pauldevos@divanovGH@ali-sajjad-rizavi@George2901@jeaps17@TeeWallz@Shinji-Mimura@oozdemir83@aaman007@dungtq@bonginkosi0607@4nzor@CyberLionsNFT@Lyapsus@boskuv@jckli@VitSimon@zjmdp@maxclac@krishna2206@KhushC-03@nicksnell@skandix@gioleppe@mvandermeulen@Vexarr@baajarmeh@znel2002@matkuki@SmartManoj@SmartManoj@Zardex1337@jocago@gnimmel@sting8k@c4p-n1ck@w0xi@Bing-su@AdrianCert@asanoop24@zaphodfortytwo@Ozerioss@nkot56297@sendyputra@thedrow@MinhHuyDev@rapjul@Arthavruksha@xdroff@ShodhArthavruksha@aziddddd@breezechen@TobeTek@antonpetrov145@MartianDominic@sk37025@Alexb309@alimp5@oldhroft@davidcralph@rainmana@amitdo@atlassion@cytsai1008@bsouthern@techrattt@vnicetn@Perry-xD@israelvf@BernardoOlisan@ZenoMilk12@rundef@semihyesilyurt@dunaevv@mlueckl@johnrlive@CrazyBonze@v-JiangNan@justfly50@mamert@ccamateur@5l1v3r1@Wykiki@Kladdkaka@giubaru@eamigo86@eadwinCode@s4ke@DG4MES@AlexJupiterian@baodinhaaa@a-golda@Furkan-izgi@Abdulvoris101@devlenni@kasahh@vishaltanwar96@codehangen@svenko99@kb1900@lusteroak@nitheesh-cpu@techpixel@tk-iitd@smartniz@popcrocks@senic35@NychetheAwesome@rafalohaki@Danipulok@lwinkelm@sunlei@Minnikeswar@theol-git@Mohammad-Mohsen@neeksor@0xNev@imvast@daweedkob@Landcruiser87@kirillzhosul@FurkanEdizkan@sodinokibi@stepan-zubkov@Nexlab-One@PApostol@callmeAsadUllah@jaredv1@Goblin80@michikxd@babywyrm@MooneDrJune@grknbyk@francomerendan@noudin-ledger@chip-felton-montage@Ruddy35@xilicode@BrianTurza@oguh43@oyoxo@encoreshao@peter279k@xalien10@DahnJ@ld909@lafabo@AndrewGPU@jerheff@wtv-piyush@themorya@frank-cq@sunilravilla@root-11@BrianPugh@kioenguyen0207@dotpmrcunha@eldar-mustafayev@krishna2206@mrkprdo@pythoninthegrass@jaysontran-novobi@eleqtrizit@BlackNurse@rruimor@gosoxharp@scripthon@WillianFF@yashprakash13@rhyd0n@meet-ai@Cremeux@hawk-roman-rey@OldMidnight@christos-bsq@Xenia101@beholders-eye@lectinua@pietroppeter@linwaytin@0x13A0F@ocervell@ZhymabekRoman@kabartay@tkanhe@yudelevi@kantarcise@fernando-aristizabal@BrianNTang@asen-mitov@mrgick@jpmanson@thvadora@jramosss@AleksandrUsolcev@eantho@RodrigoTorresWeb@mighty-phoenix@DSDanielPark@0xHaris@watchakorn-18k@watchakorn-18k@enesalsat@eal@abhie-lp@martinskou@SHjalilo@chrisgoddard@OuMal@dylanosaur@Seirdy@mix-protocol@hoangthanh168@LaffX@Kanchangk@epistemicjanitor@danielsalvador@Utone@andimahathir@alexvivanov@resort-io@itschasa@Kensingtonn@christopherhall1815@edwardlopez0311@XMVZ@robd003@Tatsh@movrsi@rachen@DavideGalilei@linusheinz@levushakov@zerintg@arynyklas@infamix@aspekts@shahabejaz@vovavili@FingonCelebrindal@ysnbogt@Athroniaeth@hansalemaos@xTrayambak@extrememicro@Pineapple217@PiyushDixit96@NateShoffner@noe1sanji@bsljth@hellogeraldblah@ande128@bsljth@Murplugg@juguerre@ande128@atksh@k-kawakami213@fredlarochelle@emekeh@KNipunDananjaya@cryoz@weztask@retouching@degaur@testtsubscribe@catsuns@Leiiib@mqt2r@solarsbeans@F1ashhimself@IsakWesterlund@Mr-Jef@ghbook@zyr1on@goznauk@scmanjarrez@NiYeh@Sepehr0011@JarvanLei@kp6c6p6c@DrayChou@szmyty@f1refa11@ddzzhen@flrngel@Sergimayol@Redrrx@ilyazub@AlskaPark@louyongjiu@adbforlife@rahulmr@soyandrey@malaVydra@RookCube@xjzh123@Ruy-Araujo@vldkhramtsov@watsonhaw5566@kumchick2055@Stallon-niranjan@devshjeon@euchaliptus@S75XD@gster@QuanDeppChaii@SevenworksDev@cframe1337@Mdevpro78@ging-dev@SYFH@Vchase-7047@ZhReimu@elvishoo@KeepCodeing@Fumeze@JerryLiao26@ashrafnezhad-hamidreza@Lofimit@shaohaiyang@668@baby0o01999@lightcax@gister9000@BiltuDas1@ttycelery@raihan-faza@hiiruki@MhankBarBar@MujurID@tommy-ca@nichdemos@CheeseTurtle@sleepingcat4@bmouler@MaxMorais@juzt3@dotsource@abdalrahman-saqr@AlexZotikov@Chaunice@hewhocannotbetamed@xiaojiujiuY9@vvanglro@KadeWuVungle@CC1001001@akeshmiri@visualrobots@vypivshiy@ttrzcinski@FastFingertips@christianmalek@simms21@cenviity@iLollek@ChemicalNRG@Ehsan-U@hosven@JosepHyv@luczay@Moat6@jydxkj@ivanrvpereira@TxQISchokEZz@kerrycobb@lucasnuic@lyenliang

faster-than-requests's People

Contributors

ande128 avatar bsljth avatar jckli avatar jeaps17 avatar jerheff avatar jocago avatar johnrlive avatar jpmanson avatar jramosss avatar juancarlospaco avatar juguerre avatar juzt3 avatar jydxkj avatar k-kawakami213 avatar kabartay avatar kantarcise avatar kasahh avatar kb1900 avatar kerrycobb avatar kioenguyen0207 avatar kirillzhosul avatar kp6c6p6c avatar krishna2206 avatar kumchick2055 avatar lafabo avatar letme avatar mqt2r avatar pebaz avatar smartmanoj avatar watchakorn-18k avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

faster-than-requests's Issues

Problem with installation

I already installed Git, Nim, Microsoft Visual C++ Build Tools and i already did:

cd
git clone https://github.com/juancarlospaco/faster-than-requests.git
cd faster-than-requests/src/
nimble install nimpy
nim c -d:ssl -d:release --app:lib --out:faster_than_requests.pyd faster_than_requests.nim

but, when i install the faster_than_requests, presents this error:

C:\Users\menga>pip install faster_than_requests
Collecting faster_than_requests
  Using cached faster_than_requests-1.0.zip (2.1 MB)
Using legacy setup.py install for faster-than-requests, since package 'wheel' is not installed.
Installing collected packages: faster-than-requests
    Running setup.py install for faster-than-requests ... error
    ERROR: Command errored out with exit status 1:
     command: 'c:\users\menga\appdata\local\programs\python\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\menga\\AppData\\Local\\Temp\\pip-install-80xyrn0o\\faster-than-requests\\setup.py'"'"'; __file__='"'"'C:\\Users\\menga\\AppData\\Local\\Temp\\pip-install-80xyrn0o\\faster-than-requests\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\menga\AppData\Local\Temp\pip-record-et2p_0m8\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\menga\appdata\local\programs\python\python38\Include\faster-than-requests'
         cwd: C:\Users\menga\AppData\Local\Temp\pip-install-80xyrn0o\faster-than-requests\
    Complete output (226 lines):
    running install
    running build
    running build_ext
    building 'faster_than_requests' extension
    creating build
    creating build\temp.win-amd64-3.8
    creating build\temp.win-amd64-3.8\Release
    creating build\temp.win-amd64-3.8\Release\win
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -Ic:\users\menga\appdata\local\programs\python\python38\include -Ic:\users\menga\appdata\local\programs\python\python38\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /Tcwin\@m..@s..@[email protected]@[email protected]@snimpy.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\@m..@s..@[email protected]@[email protected]@snimpy.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Command line warning D9002 : ignoring unknown option '-flto'
    cl : Command line warning D9002 : ignoring unknown option '-ffast-math'
    cl : Command line warning D9002 : ignoring unknown option '-march=native'
    cl : Command line warning D9002 : ignoring unknown option '-mtune=native'
    cl : Command line warning D9002 : ignoring unknown option '-O3'
    cl : Command line warning D9002 : ignoring unknown option '-fsingle-precision-constant'
    @m..@s..@[email protected]@[email protected]@snimpy.nim.c
    win\@m..@s..@[email protected]@[email protected]@snimpy.nim.c(899): warning C4013: 'nimSubInt' undefined; assuming extern returning int
    win\@m..@s..@[email protected]@[email protected]@snimpy.nim.c(912): warning C4013: 'nimAddInt' undefined; assuming extern returning int
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -Ic:\users\menga\appdata\local\programs\python\python38\include -Ic:\users\menga\appdata\local\programs\python\python38\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /Tcwin\@m..@s..@[email protected]@[email protected]@snimpy@spy_lib.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\@m..@s..@[email protected]@[email protected]@snimpy@spy_lib.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Command line warning D9002 : ignoring unknown option '-flto'
    cl : Command line warning D9002 : ignoring unknown option '-ffast-math'
    cl : Command line warning D9002 : ignoring unknown option '-march=native'
    cl : Command line warning D9002 : ignoring unknown option '-mtune=native'
    cl : Command line warning D9002 : ignoring unknown option '-O3'
    cl : Command line warning D9002 : ignoring unknown option '-fsingle-precision-constant'
    @m..@s..@[email protected]@[email protected]@snimpy@spy_lib.nim.c
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -Ic:\users\menga\appdata\local\programs\python\python38\include -Ic:\users\menga\appdata\local\programs\python\python38\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /Tcwin\@m..@s..@[email protected]@[email protected]@snimpy@spy_types.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\@m..@s..@[email protected]@[email protected]@snimpy@spy_types.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Command line warning D9002 : ignoring unknown option '-flto'
    cl : Command line warning D9002 : ignoring unknown option '-ffast-math'
    cl : Command line warning D9002 : ignoring unknown option '-march=native'
    cl : Command line warning D9002 : ignoring unknown option '-mtune=native'
    cl : Command line warning D9002 : ignoring unknown option '-O3'
    cl : Command line warning D9002 : ignoring unknown option '-fsingle-precision-constant'
    @m..@s..@[email protected]@[email protected]@snimpy@spy_types.nim.c
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -Ic:\users\menga\appdata\local\programs\python\python38\include -Ic:\users\menga\appdata\local\programs\python\python38\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /Tcwin\@m..@s..@[email protected]@[email protected]@snimpy@spy_utils.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\@m..@s..@[email protected]@[email protected]@snimpy@spy_utils.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Command line warning D9002 : ignoring unknown option '-flto'
    cl : Command line warning D9002 : ignoring unknown option '-ffast-math'
    cl : Command line warning D9002 : ignoring unknown option '-march=native'
    cl : Command line warning D9002 : ignoring unknown option '-mtune=native'
    cl : Command line warning D9002 : ignoring unknown option '-O3'
    cl : Command line warning D9002 : ignoring unknown option '-fsingle-precision-constant'
    @m..@s..@[email protected]@[email protected]@snimpy@spy_utils.nim.c
    win\@m..@s..@[email protected]@[email protected]@snimpy@spy_utils.nim.c(354): warning C4013: 'nimSubInt' undefined; assuming extern returning int
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -Ic:\users\menga\appdata\local\programs\python\python38\include -Ic:\users\menga\appdata\local\programs\python\python38\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /Tcwin\@mfaster_than_requests.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\@mfaster_than_requests.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Command line warning D9002 : ignoring unknown option '-flto'
    cl : Command line warning D9002 : ignoring unknown option '-ffast-math'
    cl : Command line warning D9002 : ignoring unknown option '-march=native'
    cl : Command line warning D9002 : ignoring unknown option '-mtune=native'
    cl : Command line warning D9002 : ignoring unknown option '-O3'
    cl : Command line warning D9002 : ignoring unknown option '-fsingle-precision-constant'
    @mfaster_than_requests.nim.c
    win\@mfaster_than_requests.nim.c(1404): warning C4102: 'LA12_': unreferenced label
    win\@mfaster_than_requests.nim.c(1701): warning C4102: 'LA52_': unreferenced label
    win\@mfaster_than_requests.nim.c(1899): warning C4102: 'LA12_': unreferenced label
    win\@mfaster_than_requests.nim.c(2071): warning C4102: 'LA12_': unreferenced label
    win\@mfaster_than_requests.nim.c(2243): warning C4102: 'LA12_': unreferenced label
    win\@mfaster_than_requests.nim.c(2379): warning C4102: 'LA6_': unreferenced label
    win\@mfaster_than_requests.nim.c(2569): warning C4102: 'LA19_': unreferenced label
    win\@mfaster_than_requests.nim.c(2818): warning C4102: 'LA27_': unreferenced label
    win\@mfaster_than_requests.nim.c(2974): warning C4013: 'nimAddInt' undefined; assuming extern returning int
    win\@mfaster_than_requests.nim.c(3210): warning C4013: 'nimSubInt64' undefined; assuming extern returning int
    win\@mfaster_than_requests.nim.c(3538): warning C4133: 'function': incompatible types - from 'tyObject_FlowVarObj__pNu0cief5ujI1ROVhZYW9cA *' to 'tyObject_FlowVarBaseObj__0j3Tva7heDwa6msYUb9a4oA *'
    win\@mfaster_than_requests.nim.c(3589): warning C4133: 'function': incompatible types - from 'tyObject_FlowVarObj__pNu0cief5ujI1ROVhZYW9cA *' to 'tyObject_FlowVarBaseObj__0j3Tva7heDwa6msYUb9a4oA *'
    win\@mfaster_than_requests.nim.c(5284): warning C4013: 'nimMulInt' undefined; assuming extern returning int
    win\@mfaster_than_requests.nim.c(5443): warning C4013: 'nimSubInt' undefined; assuming extern returning int
    win\@mfaster_than_requests.nim.c(5574): warning C4133: 'function': incompatible types - from 'tyObject_FlowVarObj__pNu0cief5ujI1ROVhZYW9cA *' to 'tyObject_FlowVarBaseObj__0j3Tva7heDwa6msYUb9a4oA *'
    win\@mfaster_than_requests.nim.c(5665): warning C4133: 'function': incompatible types - from 'tyObject_FlowVarObj__pNu0cief5ujI1ROVhZYW9cA *' to 'tyObject_FlowVarBaseObj__0j3Tva7heDwa6msYUb9a4oA *'
    win\@mfaster_than_requests.nim.c(5891): warning C4133: 'function': incompatible types - from 'tyObject_FlowVarObj__wW8ek1vyLZa9a609brp8mWRg *' to 'tyObject_FlowVarBaseObj__0j3Tva7heDwa6msYUb9a4oA *'
    win\@mfaster_than_requests.nim.c(6040): warning C4133: 'function': incompatible types - from 'tyObject_FlowVarObj__wW8ek1vyLZa9a609brp8mWRg *' to 'tyObject_FlowVarBaseObj__0j3Tva7heDwa6msYUb9a4oA *'
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -Ic:\users\menga\appdata\local\programs\python\python38\include -Ic:\users\menga\appdata\local\programs\python\python38\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /Tcwin\stdlib_assertions.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_assertions.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Command line warning D9002 : ignoring unknown option '-flto'
    cl : Command line warning D9002 : ignoring unknown option '-ffast-math'
    cl : Command line warning D9002 : ignoring unknown option '-march=native'
    cl : Command line warning D9002 : ignoring unknown option '-mtune=native'
    cl : Command line warning D9002 : ignoring unknown option '-O3'
    cl : Command line warning D9002 : ignoring unknown option '-fsingle-precision-constant'
    stdlib_assertions.nim.c
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -Ic:\users\menga\appdata\local\programs\python\python38\include -Ic:\users\menga\appdata\local\programs\python\python38\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /Tcwin\stdlib_asyncdispatch.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_asyncdispatch.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Command line warning D9002 : ignoring unknown option '-flto'
    cl : Command line warning D9002 : ignoring unknown option '-ffast-math'
    cl : Command line warning D9002 : ignoring unknown option '-march=native'
    cl : Command line warning D9002 : ignoring unknown option '-mtune=native'
    cl : Command line warning D9002 : ignoring unknown option '-O3'
    cl : Command line warning D9002 : ignoring unknown option '-fsingle-precision-constant'
    stdlib_asyncdispatch.nim.c
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -Ic:\users\menga\appdata\local\programs\python\python38\include -Ic:\users\menga\appdata\local\programs\python\python38\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /Tcwin\stdlib_asyncfutures.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_asyncfutures.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Command line warning D9002 : ignoring unknown option '-flto'
    cl : Command line warning D9002 : ignoring unknown option '-ffast-math'
    cl : Command line warning D9002 : ignoring unknown option '-march=native'
    cl : Command line warning D9002 : ignoring unknown option '-mtune=native'
    cl : Command line warning D9002 : ignoring unknown option '-O3'
    cl : Command line warning D9002 : ignoring unknown option '-fsingle-precision-constant'
    stdlib_asyncfutures.nim.c
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -Ic:\users\menga\appdata\local\programs\python\python38\include -Ic:\users\menga\appdata\local\programs\python\python38\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /Tcwin\stdlib_base64.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_base64.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Command line warning D9002 : ignoring unknown option '-flto'
    cl : Command line warning D9002 : ignoring unknown option '-ffast-math'
    cl : Command line warning D9002 : ignoring unknown option '-march=native'
    cl : Command line warning D9002 : ignoring unknown option '-mtune=native'
    cl : Command line warning D9002 : ignoring unknown option '-O3'
    cl : Command line warning D9002 : ignoring unknown option '-fsingle-precision-constant'
    stdlib_base64.nim.c
    win\stdlib_base64.nim.c(264): warning C4013: 'nimMulInt' undefined; assuming extern returning int
    win\stdlib_base64.nim.c(270): warning C4013: 'nimAddInt' undefined; assuming extern returning int
    win\stdlib_base64.nim.c(284): warning C4013: 'nimSubInt' undefined; assuming extern returning int
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -Ic:\users\menga\appdata\local\programs\python\python38\include -Ic:\users\menga\appdata\local\programs\python\python38\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /Tcwin\stdlib_cpuinfo.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_cpuinfo.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Command line warning D9002 : ignoring unknown option '-flto'
    cl : Command line warning D9002 : ignoring unknown option '-ffast-math'
    cl : Command line warning D9002 : ignoring unknown option '-march=native'
    cl : Command line warning D9002 : ignoring unknown option '-mtune=native'
    cl : Command line warning D9002 : ignoring unknown option '-O3'
    cl : Command line warning D9002 : ignoring unknown option '-fsingle-precision-constant'
    stdlib_cpuinfo.nim.c
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -Ic:\users\menga\appdata\local\programs\python\python38\include -Ic:\users\menga\appdata\local\programs\python\python38\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /Tcwin\stdlib_cpuload.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_cpuload.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Command line warning D9002 : ignoring unknown option '-flto'
    cl : Command line warning D9002 : ignoring unknown option '-ffast-math'
    cl : Command line warning D9002 : ignoring unknown option '-march=native'
    cl : Command line warning D9002 : ignoring unknown option '-mtune=native'
    cl : Command line warning D9002 : ignoring unknown option '-O3'
    cl : Command line warning D9002 : ignoring unknown option '-fsingle-precision-constant'
    stdlib_cpuload.nim.c
    win\stdlib_cpuload.nim.c(124): warning C4013: 'nimSubInt64' undefined; assuming extern returning int
    win\stdlib_cpuload.nim.c(198): warning C4013: 'nimAddInt64' undefined; assuming extern returning int
    win\stdlib_cpuload.nim.c(229): warning C4013: 'nimAddInt' undefined; assuming extern returning int
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -Ic:\users\menga\appdata\local\programs\python\python38\include -Ic:\users\menga\appdata\local\programs\python\python38\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /Tcwin\stdlib_db_common.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_db_common.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Command line warning D9002 : ignoring unknown option '-flto'
    cl : Command line warning D9002 : ignoring unknown option '-ffast-math'
    cl : Command line warning D9002 : ignoring unknown option '-march=native'
    cl : Command line warning D9002 : ignoring unknown option '-mtune=native'
    cl : Command line warning D9002 : ignoring unknown option '-O3'
    cl : Command line warning D9002 : ignoring unknown option '-fsingle-precision-constant'
    stdlib_db_common.nim.c
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -Ic:\users\menga\appdata\local\programs\python\python38\include -Ic:\users\menga\appdata\local\programs\python\python38\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /Tcwin\stdlib_db_sqlite.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_db_sqlite.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Command line warning D9002 : ignoring unknown option '-flto'
    cl : Command line warning D9002 : ignoring unknown option '-ffast-math'
    cl : Command line warning D9002 : ignoring unknown option '-march=native'
    cl : Command line warning D9002 : ignoring unknown option '-mtune=native'
    cl : Command line warning D9002 : ignoring unknown option '-O3'
    cl : Command line warning D9002 : ignoring unknown option '-fsingle-precision-constant'
    stdlib_db_sqlite.nim.c
    win\stdlib_db_sqlite.nim.c(309): warning C4013: 'nimAddInt' undefined; assuming extern returning int
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -Ic:\users\menga\appdata\local\programs\python\python38\include -Ic:\users\menga\appdata\local\programs\python\python38\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /Tcwin\stdlib_deques.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_deques.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Command line warning D9002 : ignoring unknown option '-flto'
    cl : Command line warning D9002 : ignoring unknown option '-ffast-math'
    cl : Command line warning D9002 : ignoring unknown option '-march=native'
    cl : Command line warning D9002 : ignoring unknown option '-mtune=native'
    cl : Command line warning D9002 : ignoring unknown option '-O3'
    cl : Command line warning D9002 : ignoring unknown option '-fsingle-precision-constant'
    stdlib_deques.nim.c
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -Ic:\users\menga\appdata\local\programs\python\python38\include -Ic:\users\menga\appdata\local\programs\python\python38\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /Tcwin\stdlib_dollars.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_dollars.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Command line warning D9002 : ignoring unknown option '-flto'
    cl : Command line warning D9002 : ignoring unknown option '-ffast-math'
    cl : Command line warning D9002 : ignoring unknown option '-march=native'
    cl : Command line warning D9002 : ignoring unknown option '-mtune=native'
    cl : Command line warning D9002 : ignoring unknown option '-O3'
    cl : Command line warning D9002 : ignoring unknown option '-fsingle-precision-constant'
    stdlib_dollars.nim.c
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -Ic:\users\menga\appdata\local\programs\python\python38\include -Ic:\users\menga\appdata\local\programs\python\python38\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /Tcwin\stdlib_dynlib.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_dynlib.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Command line warning D9002 : ignoring unknown option '-flto'
    cl : Command line warning D9002 : ignoring unknown option '-ffast-math'
    cl : Command line warning D9002 : ignoring unknown option '-march=native'
    cl : Command line warning D9002 : ignoring unknown option '-mtune=native'
    cl : Command line warning D9002 : ignoring unknown option '-O3'
    cl : Command line warning D9002 : ignoring unknown option '-fsingle-precision-constant'
    stdlib_dynlib.nim.c
    win\stdlib_dynlib.nim.c(218): warning C4013: 'nimAddInt' undefined; assuming extern returning int
    win\stdlib_dynlib.nim.c(238): warning C4013: 'nimSubInt' undefined; assuming extern returning int
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -Ic:\users\menga\appdata\local\programs\python\python38\include -Ic:\users\menga\appdata\local\programs\python\python38\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /Tcwin\stdlib_formatfloat.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_formatfloat.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Command line warning D9002 : ignoring unknown option '-flto'
    cl : Command line warning D9002 : ignoring unknown option '-ffast-math'
    cl : Command line warning D9002 : ignoring unknown option '-march=native'
    cl : Command line warning D9002 : ignoring unknown option '-mtune=native'
    cl : Command line warning D9002 : ignoring unknown option '-O3'
    cl : Command line warning D9002 : ignoring unknown option '-fsingle-precision-constant'
    stdlib_formatfloat.nim.c
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -Ic:\users\menga\appdata\local\programs\python\python38\include -Ic:\users\menga\appdata\local\programs\python\python38\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /Tcwin\stdlib_hashes.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_hashes.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Command line warning D9002 : ignoring unknown option '-flto'
    cl : Command line warning D9002 : ignoring unknown option '-ffast-math'
    cl : Command line warning D9002 : ignoring unknown option '-march=native'
    cl : Command line warning D9002 : ignoring unknown option '-mtune=native'
    cl : Command line warning D9002 : ignoring unknown option '-O3'
    cl : Command line warning D9002 : ignoring unknown option '-fsingle-precision-constant'
    stdlib_hashes.nim.c
    win\stdlib_hashes.nim.c(113): warning C4013: 'nimSubInt' undefined; assuming extern returning int
    win\stdlib_hashes.nim.c(160): warning C4013: 'nimMulInt' undefined; assuming extern returning int
    win\stdlib_hashes.nim.c(169): warning C4013: 'nimAddInt' undefined; assuming extern returning int
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -Ic:\users\menga\appdata\local\programs\python\python38\include -Ic:\users\menga\appdata\local\programs\python\python38\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /Tcwin\stdlib_heapqueue.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_heapqueue.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Command line warning D9002 : ignoring unknown option '-flto'
    cl : Command line warning D9002 : ignoring unknown option '-ffast-math'
    cl : Command line warning D9002 : ignoring unknown option '-march=native'
    cl : Command line warning D9002 : ignoring unknown option '-mtune=native'
    cl : Command line warning D9002 : ignoring unknown option '-O3'
    cl : Command line warning D9002 : ignoring unknown option '-fsingle-precision-constant'
    stdlib_heapqueue.nim.c
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -Ic:\users\menga\appdata\local\programs\python\python38\include -Ic:\users\menga\appdata\local\programs\python\python38\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /Tcwin\stdlib_htmlparser.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_htmlparser.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Command line warning D9002 : ignoring unknown option '-flto'
    cl : Command line warning D9002 : ignoring unknown option '-ffast-math'
    cl : Command line warning D9002 : ignoring unknown option '-march=native'
    cl : Command line warning D9002 : ignoring unknown option '-mtune=native'
    cl : Command line warning D9002 : ignoring unknown option '-O3'
    cl : Command line warning D9002 : ignoring unknown option '-fsingle-precision-constant'
    stdlib_htmlparser.nim.c
    win\stdlib_htmlparser.nim.c(3611): warning C4013: 'nimAddInt' undefined; assuming extern returning int
    win\stdlib_htmlparser.nim.c(4093): warning C4013: 'nimSubInt' undefined; assuming extern returning int
    win\stdlib_htmlparser.nim.c(4203): error C2143: syntax error: missing ':' before '...'
    win\stdlib_htmlparser.nim.c(4209): error C2065: 'T11_': undeclared identifier
    win\stdlib_htmlparser.nim.c(4209): error C2440: '=': cannot convert from 'tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA' to 'int'
    win\stdlib_htmlparser.nim.c(4211): error C2065: 'T11_': undeclared identifier
    win\stdlib_htmlparser.nim.c(4211): error C2440: 'function': cannot convert from 'int' to 'tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA'
    win\stdlib_htmlparser.nim.c(4211): warning C4024: 'X5BX5D___ogYTOKbgqbjPfyC123US1gsystem': different types for formal and actual parameter 2
    win\stdlib_htmlparser.nim.c(4263): error C2065: 'runeValue': undeclared identifier
    win\stdlib_htmlparser.nim.c(4265): error C2065: 'runeValue': undeclared identifier
    win\stdlib_htmlparser.nim.c(4269): error C2065: 'runeValue': undeclared identifier
    win\stdlib_htmlparser.nim.c(4271): error C2065: 'runeValue': undeclared identifier
    win\stdlib_htmlparser.nim.c(4226): error C2043: illegal break
    win\stdlib_htmlparser.nim.c(4227): error C2046: illegal case
    win\stdlib_htmlparser.nim.c(4228): error C2046: illegal case
    win\stdlib_htmlparser.nim.c(4251): error C2043: illegal break
    win\stdlib_htmlparser.nim.c(4252): error C2047: illegal default
    win\stdlib_htmlparser.nim.c(4255): error C2043: illegal break
    win\stdlib_htmlparser.nim.c(16131): error C2143: syntax error: missing '{' before ':'
    win\stdlib_htmlparser.nim.c(16131): error C2059: syntax error: ':'
    win\stdlib_htmlparser.nim.c(16132): error C2371: 'popFrame': redefinition; different basic types
    win\stdlib_htmlparser.nim.c(2496): note: see declaration of 'popFrame'
    win\stdlib_htmlparser.nim.c(16133): error C2059: syntax error: 'return'
    win\stdlib_htmlparser.nim.c(16134): error C2059: syntax error: '}'
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\cl.exe' failed with exit status 2
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\users\menga\appdata\local\programs\python\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\menga\\AppData\\Local\\Temp\\pip-install-80xyrn0o\\faster-than-requests\\setup.py'"'"'; __file__='"'"'C:\\Users\\menga\\AppData\\Local\\Temp\\pip-install-80xyrn0o\\faster-than-requests\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\menga\AppData\Local\Temp\pip-record-et2p_0m8\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\menga\appdata\local\programs\python\python38\Include\faster-than-requests' Check the logs for full command output.

Desktop

  • 64-bit
  • OS: Windows 10
  • Python Version: 3.8 (64-bit)

Issue while installinng

Hello,

I'm not able to get your library installed via pip.

Console:

pip install faster-than-requests
Collecting faster-than-requests
  Using cached https://files.pythonhosted.org/packages/51/56/927baea86f44dd96690f825bae9643785636669a6d834ecbd1f547feb7a4/faster_than_requests-1.0.zip
Building wheels for collected packages: faster-than-requests
  Building wheel for faster-than-requests (setup.py) ... \  Subprocess output does not appear to be encoded as cp1252
|  Subprocess output does not appear to be encoded as cp1252
-  Subprocess output does not appear to be encoded as cp1252
|  Subprocess output does not appear to be encoded as cp1252
  Subprocess output does not appear to be encoded as cp1252
  Subprocess output does not appear to be encoded as cp1252
  Subprocess output does not appear to be encoded as cp1252
-  Subprocess output does not appear to be encoded as cp1252
  Subprocess output does not appear to be encoded as cp1252
  Subprocess output does not appear to be encoded as cp1252
\  Subprocess output does not appear to be encoded as cp1252
  Subprocess output does not appear to be encoded as cp1252
  Subprocess output does not appear to be encoded as cp1252
|  Subprocess output does not appear to be encoded as cp1252
-  Subprocess output does not appear to be encoded as cp1252
\  Subprocess output does not appear to be encoded as cp1252
|  Subprocess output does not appear to be encoded as cp1252
  Subprocess output does not appear to be encoded as cp1252
  Subprocess output does not appear to be encoded as cp1252
  Subprocess output does not appear to be encoded as cp1252
/  Subprocess output does not appear to be encoded as cp1252
  Subprocess output does not appear to be encoded as cp1252
  Subprocess output does not appear to be encoded as cp1252
  Subprocess output does not appear to be encoded as cp1252
  Subprocess output does not appear to be encoded as cp1252
  Subprocess output does not appear to be encoded as cp1252
  Subprocess output does not appear to be encoded as cp1252
  Subprocess output does not appear to be encoded as cp1252
error
  Complete output from command D:\_NeoRaffle\venv\Scripts\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\Florian\\AppData\\Local\\Temp\\pip-install-u6d8_j3_\\faster-than-requests\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().
replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d C:\Users\Florian\AppData\Local\Temp\pip-wheel-ybhv69sj --python-tag cp38:
  running bdist_wheel
  running build
  running build_ext
  building 'faster_than_requests' extension
  creating build
  creating build\temp.win-amd64-3.8
  creating build\temp.win-amd64-3.8\Release
  creating build\temp.win-amd64-3.8\Release\win
  C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:\P
rogram Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows
Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\@m..@s..@[email protected]@[email protected]@snimpy.nim.c /Fobuild\temp.win-amd64-3.8\Rel
ease\win\@m..@s..@[email protected]@[email protected]@snimpy.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
  cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
  @m..@s..@[email protected]@[email protected]@snimpy.nim.c
  win\@m..@s..@[email protected]@[email protected]@snimpy.nim.c(899): warning C4013: "nimSubInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
  win\@m..@s..@[email protected]@[email protected]@snimpy.nim.c(912): warning C4013: "nimAddInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
  C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:\P
rogram Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows
Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\@m..@s..@[email protected]@[email protected]@snimpy@spy_lib.nim.c /Fobuild\temp.win-amd64
-3.8\Release\win\@m..@s..@[email protected]@[email protected]@snimpy@spy_lib.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
  cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
  @m..@s..@[email protected]@[email protected]@snimpy@spy_lib.nim.c
  C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:\P
rogram Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows
Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\@m..@s..@[email protected]@[email protected]@snimpy@spy_types.nim.c /Fobuild\temp.win-amd
64-3.8\Release\win\@m..@s..@[email protected]@[email protected]@snimpy@spy_types.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
  cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
  @m..@s..@[email protected]@[email protected]@snimpy@spy_types.nim.c
  C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:\P
rogram Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows
Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\@m..@s..@[email protected]@[email protected]@snimpy@spy_utils.nim.c /Fobuild\temp.win-amd
64-3.8\Release\win\@m..@s..@[email protected]@[email protected]@snimpy@spy_utils.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
  cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
  @m..@s..@[email protected]@[email protected]@snimpy@spy_utils.nim.c
  win\@m..@s..@[email protected]@[email protected]@snimpy@spy_utils.nim.c(354): warning C4013: "nimSubInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
  C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:\P
rogram Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows
Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\@mfaster_than_requests.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\@mfaster_than_re
quests.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
  cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
  @mfaster_than_requests.nim.c
  win\@mfaster_than_requests.nim.c(1404): warning C4102: "LA12_": Unreferenzierte Bezeichnung
  win\@mfaster_than_requests.nim.c(1701): warning C4102: "LA52_": Unreferenzierte Bezeichnung
  win\@mfaster_than_requests.nim.c(1899): warning C4102: "LA12_": Unreferenzierte Bezeichnung
  win\@mfaster_than_requests.nim.c(2071): warning C4102: "LA12_": Unreferenzierte Bezeichnung
  win\@mfaster_than_requests.nim.c(2243): warning C4102: "LA12_": Unreferenzierte Bezeichnung
  win\@mfaster_than_requests.nim.c(2379): warning C4102: "LA6_": Unreferenzierte Bezeichnung
  win\@mfaster_than_requests.nim.c(2569): warning C4102: "LA19_": Unreferenzierte Bezeichnung
  win\@mfaster_than_requests.nim.c(2818): warning C4102: "LA27_": Unreferenzierte Bezeichnung
  win\@mfaster_than_requests.nim.c(2974): warning C4013: "nimAddInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
  win\@mfaster_than_requests.nim.c(3210): warning C4013: "nimSubInt64" undefiniert; Annahme: extern mit R\x81ckgabetyp int
  win\@mfaster_than_requests.nim.c(3538): warning C4133: "Funktion": Inkompatible Typen - von "tyObject_FlowVarObj__pNu0cief5ujI1ROVhZYW9cA *" zu "tyObject_FlowVarBaseObj__0j3Tva7heDwa6msYUb9a4oA *"
  win\@mfaster_than_requests.nim.c(3589): warning C4133: "Funktion": Inkompatible Typen - von "tyObject_FlowVarObj__pNu0cief5ujI1ROVhZYW9cA *" zu "tyObject_FlowVarBaseObj__0j3Tva7heDwa6msYUb9a4oA *"
  win\@mfaster_than_requests.nim.c(5284): warning C4013: "nimMulInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
  win\@mfaster_than_requests.nim.c(5443): warning C4013: "nimSubInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
  win\@mfaster_than_requests.nim.c(5574): warning C4133: "Funktion": Inkompatible Typen - von "tyObject_FlowVarObj__pNu0cief5ujI1ROVhZYW9cA *" zu "tyObject_FlowVarBaseObj__0j3Tva7heDwa6msYUb9a4oA *"
  win\@mfaster_than_requests.nim.c(5665): warning C4133: "Funktion": Inkompatible Typen - von "tyObject_FlowVarObj__pNu0cief5ujI1ROVhZYW9cA *" zu "tyObject_FlowVarBaseObj__0j3Tva7heDwa6msYUb9a4oA *"
  win\@mfaster_than_requests.nim.c(5891): warning C4133: "Funktion": Inkompatible Typen - von "tyObject_FlowVarObj__wW8ek1vyLZa9a609brp8mWRg *" zu "tyObject_FlowVarBaseObj__0j3Tva7heDwa6msYUb9a4oA *"
  win\@mfaster_than_requests.nim.c(6040): warning C4133: "Funktion": Inkompatible Typen - von "tyObject_FlowVarObj__wW8ek1vyLZa9a609brp8mWRg *" zu "tyObject_FlowVarBaseObj__0j3Tva7heDwa6msYUb9a4oA *"
  C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:\P
rogram Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows
Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\stdlib_assertions.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_assertions.nim
.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
  cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
  stdlib_assertions.nim.c
  C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:\P
rogram Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows
Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\stdlib_asyncdispatch.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_asyncdispat
ch.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
  cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
  stdlib_asyncdispatch.nim.c
  C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:\P
rogram Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows
Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\stdlib_asyncfutures.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_asyncfutures
.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
  cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
  stdlib_asyncfutures.nim.c
  C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:\P
rogram Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows
Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\stdlib_base64.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_base64.nim.obj -fl
to -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
  cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
  stdlib_base64.nim.c
  win\stdlib_base64.nim.c(264): warning C4013: "nimMulInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
  win\stdlib_base64.nim.c(270): warning C4013: "nimAddInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
  win\stdlib_base64.nim.c(284): warning C4013: "nimSubInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
  C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:\P
rogram Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows
Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\stdlib_cpuinfo.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_cpuinfo.nim.obj -
flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
  cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
  stdlib_cpuinfo.nim.c
  C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:\P
rogram Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows
Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\stdlib_cpuload.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_cpuload.nim.obj -
flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
  cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
  stdlib_cpuload.nim.c
  win\stdlib_cpuload.nim.c(124): warning C4013: "nimSubInt64" undefiniert; Annahme: extern mit R\x81ckgabetyp int
  win\stdlib_cpuload.nim.c(198): warning C4013: "nimAddInt64" undefiniert; Annahme: extern mit R\x81ckgabetyp int
  win\stdlib_cpuload.nim.c(229): warning C4013: "nimAddInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
  C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:\P
rogram Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows
Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\stdlib_db_common.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_db_common.nim.o
bj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
  cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
  stdlib_db_common.nim.c
  C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:\P
rogram Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows
Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\stdlib_db_sqlite.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_db_sqlite.nim.o
bj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
  cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
  stdlib_db_sqlite.nim.c
  win\stdlib_db_sqlite.nim.c(309): warning C4013: "nimAddInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
  C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:\P
rogram Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows
Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\stdlib_deques.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_deques.nim.obj -fl
to -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
  cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
  stdlib_deques.nim.c
  C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:\P
rogram Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows
Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\stdlib_dollars.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_dollars.nim.obj -
flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
  cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
  stdlib_dollars.nim.c
  C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:\P
rogram Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows
Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\stdlib_dynlib.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_dynlib.nim.obj -fl
to -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
  cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
  stdlib_dynlib.nim.c
  win\stdlib_dynlib.nim.c(218): warning C4013: "nimAddInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
  win\stdlib_dynlib.nim.c(238): warning C4013: "nimSubInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
  C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:\P
rogram Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows
Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\stdlib_formatfloat.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_formatfloat.n
im.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
  cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
  stdlib_formatfloat.nim.c
  C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:\P
rogram Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows
Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\stdlib_hashes.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_hashes.nim.obj -fl
to -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
  cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
  stdlib_hashes.nim.c
  win\stdlib_hashes.nim.c(113): warning C4013: "nimSubInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
  win\stdlib_hashes.nim.c(160): warning C4013: "nimMulInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
  win\stdlib_hashes.nim.c(169): warning C4013: "nimAddInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
  C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:\P
rogram Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows
Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\stdlib_heapqueue.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_heapqueue.nim.o
bj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
  cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
  stdlib_heapqueue.nim.c
  C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:\P
rogram Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows
Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\stdlib_htmlparser.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_htmlparser.nim
.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
  cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
  cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
  stdlib_htmlparser.nim.c
  win\stdlib_htmlparser.nim.c(3611): warning C4013: "nimAddInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
  win\stdlib_htmlparser.nim.c(4093): warning C4013: "nimSubInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
  win\stdlib_htmlparser.nim.c(4203): error C2143: Syntaxfehler: Es fehlt ":" vor "..."
  win\stdlib_htmlparser.nim.c(4209): error C2065: "T11_": nichtdeklarierter Bezeichner
  win\stdlib_htmlparser.nim.c(4209): error C2440: "=": "tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA" kann nicht in "int" konvertiert werden
  win\stdlib_htmlparser.nim.c(4211): error C2065: "T11_": nichtdeklarierter Bezeichner
  win\stdlib_htmlparser.nim.c(4211): error C2440: "Funktion": "int" kann nicht in "tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA" konvertiert werden
  win\stdlib_htmlparser.nim.c(4211): warning C4024: "X5BX5D___ogYTOKbgqbjPfyC123US1gsystem": unterschiedliche Typen f\x81r formalen und \x81bergebenen Parameter 2
  win\stdlib_htmlparser.nim.c(4263): error C2065: "runeValue": nichtdeklarierter Bezeichner
  win\stdlib_htmlparser.nim.c(4265): error C2065: "runeValue": nichtdeklarierter Bezeichner
  win\stdlib_htmlparser.nim.c(4269): error C2065: "runeValue": nichtdeklarierter Bezeichner
  win\stdlib_htmlparser.nim.c(4271): error C2065: "runeValue": nichtdeklarierter Bezeichner
  win\stdlib_htmlparser.nim.c(4226): error C2043: Schl\x81sselwort "break" ung\x81ltig
  win\stdlib_htmlparser.nim.c(4227): error C2046: Schl\x81sselwort "case" ung\x81ltig
  win\stdlib_htmlparser.nim.c(4228): error C2046: Schl\x81sselwort "case" ung\x81ltig
  win\stdlib_htmlparser.nim.c(4251): error C2043: Schl\x81sselwort "break" ung\x81ltig
  win\stdlib_htmlparser.nim.c(4252): error C2047: Schl\x81sselwort "default" ung\x81ltig
  win\stdlib_htmlparser.nim.c(4255): error C2043: Schl\x81sselwort "break" ung\x81ltig
  win\stdlib_htmlparser.nim.c(16131): error C2143: Syntaxfehler: Es fehlt "{" vor ":"
  win\stdlib_htmlparser.nim.c(16131): error C2059: Syntaxfehler: ":"
  win\stdlib_htmlparser.nim.c(16132): error C2371: "popFrame": Neudefinition; unterschiedliche Basistypen
  win\stdlib_htmlparser.nim.c(2496): note: Siehe Deklaration von "popFrame"
  win\stdlib_htmlparser.nim.c(16133): error C2059: Syntaxfehler: "return"
  win\stdlib_htmlparser.nim.c(16134): error C2059: Syntaxfehler: "}"
  error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\BuildTools\\VC\\Tools\\MSVC\\14.16.27023\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2

  ----------------------------------------
  Failed building wheel for faster-than-requests
  Running setup.py clean for faster-than-requests
Failed to build faster-than-requests
Installing collected packages: faster-than-requests
  Running setup.py install for faster-than-requests ... \    Subprocess output does not appear to be encoded as cp1252
|    Subprocess output does not appear to be encoded as cp1252
/    Subprocess output does not appear to be encoded as cp1252
\    Subprocess output does not appear to be encoded as cp1252
    Subprocess output does not appear to be encoded as cp1252
    Subprocess output does not appear to be encoded as cp1252
    Subprocess output does not appear to be encoded as cp1252
/    Subprocess output does not appear to be encoded as cp1252
    Subprocess output does not appear to be encoded as cp1252
    Subprocess output does not appear to be encoded as cp1252
-    Subprocess output does not appear to be encoded as cp1252
    Subprocess output does not appear to be encoded as cp1252
    Subprocess output does not appear to be encoded as cp1252
\    Subprocess output does not appear to be encoded as cp1252
/    Subprocess output does not appear to be encoded as cp1252
-    Subprocess output does not appear to be encoded as cp1252
\    Subprocess output does not appear to be encoded as cp1252
    Subprocess output does not appear to be encoded as cp1252
    Subprocess output does not appear to be encoded as cp1252
|    Subprocess output does not appear to be encoded as cp1252
    Subprocess output does not appear to be encoded as cp1252
    Subprocess output does not appear to be encoded as cp1252
    Subprocess output does not appear to be encoded as cp1252
/    Subprocess output does not appear to be encoded as cp1252
    Subprocess output does not appear to be encoded as cp1252
    Subprocess output does not appear to be encoded as cp1252
    Subprocess output does not appear to be encoded as cp1252
    Subprocess output does not appear to be encoded as cp1252
error
    Complete output from command D:\_NeoRaffle\venv\Scripts\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\Florian\\AppData\\Local\\Temp\\pip-install-u6d8_j3_\\faster-than-requests\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read(
).replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\Florian\AppData\Local\Temp\pip-record-tfwqho03\install-record.txt --single-version-externally-managed --compile --install-headers D:\_NeoRaffle\venv\include\site\python3
.8\faster-than-requests:
    running install
    running build
    running build_ext
    building 'faster_than_requests' extension
    creating build
    creating build\temp.win-amd64-3.8
    creating build\temp.win-amd64-3.8\Release
    creating build\temp.win-amd64-3.8\Release\win
    C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:
\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Window
s Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\@m..@s..@[email protected]@[email protected]@snimpy.nim.c /Fobuild\temp.win-amd64-3.8\R
elease\win\@m..@s..@[email protected]@[email protected]@snimpy.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
    @m..@s..@[email protected]@[email protected]@snimpy.nim.c
    win\@m..@s..@[email protected]@[email protected]@snimpy.nim.c(899): warning C4013: "nimSubInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
    win\@m..@s..@[email protected]@[email protected]@snimpy.nim.c(912): warning C4013: "nimAddInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
    C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:
\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Window
s Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\@m..@s..@[email protected]@[email protected]@snimpy@spy_lib.nim.c /Fobuild\temp.win-amd
64-3.8\Release\win\@m..@s..@[email protected]@[email protected]@snimpy@spy_lib.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
    @m..@s..@[email protected]@[email protected]@snimpy@spy_lib.nim.c
    C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:
\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Window
s Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\@m..@s..@[email protected]@[email protected]@snimpy@spy_types.nim.c /Fobuild\temp.win-a
md64-3.8\Release\win\@m..@s..@[email protected]@[email protected]@snimpy@spy_types.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
    @m..@s..@[email protected]@[email protected]@snimpy@spy_types.nim.c
    C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:
\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Window
s Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\@m..@s..@[email protected]@[email protected]@snimpy@spy_utils.nim.c /Fobuild\temp.win-a
md64-3.8\Release\win\@m..@s..@[email protected]@[email protected]@snimpy@spy_utils.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
    @m..@s..@[email protected]@[email protected]@snimpy@spy_utils.nim.c
    win\@m..@s..@[email protected]@[email protected]@snimpy@spy_utils.nim.c(354): warning C4013: "nimSubInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
    C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:
\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Window
s Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\@mfaster_than_requests.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\@mfaster_than_
requests.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
    @mfaster_than_requests.nim.c
    win\@mfaster_than_requests.nim.c(1404): warning C4102: "LA12_": Unreferenzierte Bezeichnung
    win\@mfaster_than_requests.nim.c(1701): warning C4102: "LA52_": Unreferenzierte Bezeichnung
    win\@mfaster_than_requests.nim.c(1899): warning C4102: "LA12_": Unreferenzierte Bezeichnung
    win\@mfaster_than_requests.nim.c(2071): warning C4102: "LA12_": Unreferenzierte Bezeichnung
    win\@mfaster_than_requests.nim.c(2243): warning C4102: "LA12_": Unreferenzierte Bezeichnung
    win\@mfaster_than_requests.nim.c(2379): warning C4102: "LA6_": Unreferenzierte Bezeichnung
    win\@mfaster_than_requests.nim.c(2569): warning C4102: "LA19_": Unreferenzierte Bezeichnung
    win\@mfaster_than_requests.nim.c(2818): warning C4102: "LA27_": Unreferenzierte Bezeichnung
    win\@mfaster_than_requests.nim.c(2974): warning C4013: "nimAddInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
    win\@mfaster_than_requests.nim.c(3210): warning C4013: "nimSubInt64" undefiniert; Annahme: extern mit R\x81ckgabetyp int
    win\@mfaster_than_requests.nim.c(3538): warning C4133: "Funktion": Inkompatible Typen - von "tyObject_FlowVarObj__pNu0cief5ujI1ROVhZYW9cA *" zu "tyObject_FlowVarBaseObj__0j3Tva7heDwa6msYUb9a4oA *"
    win\@mfaster_than_requests.nim.c(3589): warning C4133: "Funktion": Inkompatible Typen - von "tyObject_FlowVarObj__pNu0cief5ujI1ROVhZYW9cA *" zu "tyObject_FlowVarBaseObj__0j3Tva7heDwa6msYUb9a4oA *"
    win\@mfaster_than_requests.nim.c(5284): warning C4013: "nimMulInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
    win\@mfaster_than_requests.nim.c(5443): warning C4013: "nimSubInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
    win\@mfaster_than_requests.nim.c(5574): warning C4133: "Funktion": Inkompatible Typen - von "tyObject_FlowVarObj__pNu0cief5ujI1ROVhZYW9cA *" zu "tyObject_FlowVarBaseObj__0j3Tva7heDwa6msYUb9a4oA *"
    win\@mfaster_than_requests.nim.c(5665): warning C4133: "Funktion": Inkompatible Typen - von "tyObject_FlowVarObj__pNu0cief5ujI1ROVhZYW9cA *" zu "tyObject_FlowVarBaseObj__0j3Tva7heDwa6msYUb9a4oA *"
    win\@mfaster_than_requests.nim.c(5891): warning C4133: "Funktion": Inkompatible Typen - von "tyObject_FlowVarObj__wW8ek1vyLZa9a609brp8mWRg *" zu "tyObject_FlowVarBaseObj__0j3Tva7heDwa6msYUb9a4oA *"
    win\@mfaster_than_requests.nim.c(6040): warning C4133: "Funktion": Inkompatible Typen - von "tyObject_FlowVarObj__wW8ek1vyLZa9a609brp8mWRg *" zu "tyObject_FlowVarBaseObj__0j3Tva7heDwa6msYUb9a4oA *"
    C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:
\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Window
s Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\stdlib_assertions.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_assertions.n
im.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
    stdlib_assertions.nim.c
    C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:
\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Window
s Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\stdlib_asyncdispatch.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_asyncdisp
atch.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
    stdlib_asyncdispatch.nim.c
    C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:
\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Window
s Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\stdlib_asyncfutures.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_asyncfutur
es.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
    stdlib_asyncfutures.nim.c
    C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:
\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Window
s Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\stdlib_base64.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_base64.nim.obj -
flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
    stdlib_base64.nim.c
    win\stdlib_base64.nim.c(264): warning C4013: "nimMulInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
    win\stdlib_base64.nim.c(270): warning C4013: "nimAddInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
    win\stdlib_base64.nim.c(284): warning C4013: "nimSubInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
    C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:
\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Window
s Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\stdlib_cpuinfo.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_cpuinfo.nim.obj
 -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
    stdlib_cpuinfo.nim.c
    C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:
\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Window
s Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\stdlib_cpuload.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_cpuload.nim.obj
 -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
    stdlib_cpuload.nim.c
    win\stdlib_cpuload.nim.c(124): warning C4013: "nimSubInt64" undefiniert; Annahme: extern mit R\x81ckgabetyp int
    win\stdlib_cpuload.nim.c(198): warning C4013: "nimAddInt64" undefiniert; Annahme: extern mit R\x81ckgabetyp int
    win\stdlib_cpuload.nim.c(229): warning C4013: "nimAddInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
    C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:
\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Window
s Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\stdlib_db_common.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_db_common.nim
.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
    stdlib_db_common.nim.c
    C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:
\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Window
s Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\stdlib_db_sqlite.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_db_sqlite.nim
.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
    stdlib_db_sqlite.nim.c
    win\stdlib_db_sqlite.nim.c(309): warning C4013: "nimAddInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
    C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:
\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Window
s Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\stdlib_deques.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_deques.nim.obj -
flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
    stdlib_deques.nim.c
    C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:
\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Window
s Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\stdlib_dollars.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_dollars.nim.obj
 -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
    stdlib_dollars.nim.c
    C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:
\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Window
s Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\stdlib_dynlib.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_dynlib.nim.obj -
flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
    stdlib_dynlib.nim.c
    win\stdlib_dynlib.nim.c(218): warning C4013: "nimAddInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
    win\stdlib_dynlib.nim.c(238): warning C4013: "nimSubInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
    C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:
\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Window
s Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\stdlib_formatfloat.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_formatfloat
.nim.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
    stdlib_formatfloat.nim.c
    C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:
\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Window
s Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\stdlib_hashes.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_hashes.nim.obj -
flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
    stdlib_hashes.nim.c
    win\stdlib_hashes.nim.c(113): warning C4013: "nimSubInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
    win\stdlib_hashes.nim.c(160): warning C4013: "nimMulInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
    win\stdlib_hashes.nim.c(169): warning C4013: "nimAddInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
    C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:
\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Window
s Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\stdlib_heapqueue.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_heapqueue.nim
.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
    stdlib_heapqueue.nim.c
    C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iwin -ID:\_NeoRaffle\venv\include "-IC:\Program Files\Python38\include" "-IC:\Program Files\Python38\include" "-IC:
\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Window
s Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcwin\stdlib_htmlparser.nim.c /Fobuild\temp.win-amd64-3.8\Release\win\stdlib_htmlparser.n
im.obj -flto -ffast-math -march=native -mtune=native -O3 -fsingle-precision-constant
    cl : Befehlszeile warning D9002 : Unbekannte Option "-flto" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-ffast-math" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-march=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-mtune=native" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-O3" wird ignoriert.
    cl : Befehlszeile warning D9002 : Unbekannte Option "-fsingle-precision-constant" wird ignoriert.
    stdlib_htmlparser.nim.c
    win\stdlib_htmlparser.nim.c(3611): warning C4013: "nimAddInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
    win\stdlib_htmlparser.nim.c(4093): warning C4013: "nimSubInt" undefiniert; Annahme: extern mit R\x81ckgabetyp int
    win\stdlib_htmlparser.nim.c(4203): error C2143: Syntaxfehler: Es fehlt ":" vor "..."
    win\stdlib_htmlparser.nim.c(4209): error C2065: "T11_": nichtdeklarierter Bezeichner
    win\stdlib_htmlparser.nim.c(4209): error C2440: "=": "tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA" kann nicht in "int" konvertiert werden
    win\stdlib_htmlparser.nim.c(4211): error C2065: "T11_": nichtdeklarierter Bezeichner
    win\stdlib_htmlparser.nim.c(4211): error C2440: "Funktion": "int" kann nicht in "tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA" konvertiert werden
    win\stdlib_htmlparser.nim.c(4211): warning C4024: "X5BX5D___ogYTOKbgqbjPfyC123US1gsystem": unterschiedliche Typen f\x81r formalen und \x81bergebenen Parameter 2
    win\stdlib_htmlparser.nim.c(4263): error C2065: "runeValue": nichtdeklarierter Bezeichner
    win\stdlib_htmlparser.nim.c(4265): error C2065: "runeValue": nichtdeklarierter Bezeichner
    win\stdlib_htmlparser.nim.c(4269): error C2065: "runeValue": nichtdeklarierter Bezeichner
    win\stdlib_htmlparser.nim.c(4271): error C2065: "runeValue": nichtdeklarierter Bezeichner
    win\stdlib_htmlparser.nim.c(4226): error C2043: Schl\x81sselwort "break" ung\x81ltig
    win\stdlib_htmlparser.nim.c(4227): error C2046: Schl\x81sselwort "case" ung\x81ltig
    win\stdlib_htmlparser.nim.c(4228): error C2046: Schl\x81sselwort "case" ung\x81ltig
    win\stdlib_htmlparser.nim.c(4251): error C2043: Schl\x81sselwort "break" ung\x81ltig
    win\stdlib_htmlparser.nim.c(4252): error C2047: Schl\x81sselwort "default" ung\x81ltig
    win\stdlib_htmlparser.nim.c(4255): error C2043: Schl\x81sselwort "break" ung\x81ltig
    win\stdlib_htmlparser.nim.c(16131): error C2143: Syntaxfehler: Es fehlt "{" vor ":"
    win\stdlib_htmlparser.nim.c(16131): error C2059: Syntaxfehler: ":"
    win\stdlib_htmlparser.nim.c(16132): error C2371: "popFrame": Neudefinition; unterschiedliche Basistypen
    win\stdlib_htmlparser.nim.c(2496): note: Siehe Deklaration von "popFrame"
    win\stdlib_htmlparser.nim.c(16133): error C2059: Syntaxfehler: "return"
    win\stdlib_htmlparser.nim.c(16134): error C2059: Syntaxfehler: "}"
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\BuildTools\\VC\\Tools\\MSVC\\14.16.27023\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2

    ----------------------------------------
Command "D:\_NeoRaffle\venv\Scripts\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\Florian\\AppData\\Local\\Temp\\pip-install-u6d8_j3_\\faster-than-requests\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');
f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\Florian\AppData\Local\Temp\pip-record-tfwqho03\install-record.txt --single-version-externally-managed --compile --install-headers D:\_NeoRaffle\venv\include\site\python3.8\faster-than-requests"
 failed with error code 1 in C:\Users\Florian\AppData\Local\Temp\pip-install-u6d8_j3_\faster-than-requests\
```

Thanks for your help in advance!

what am I doing wrong ?

$ virtualenv -p python3.8 venv

Running virtualenv with interpreter /usr/bin/python3.8
Using base prefix '/usr'
/usr/lib/python3/dist-packages/virtualenv.py:1086: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
  import imp
New python executable in /home/y_mironov/venv/bin/python3.8
Also creating executable in /home/y_mironov/venv/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.

$ source venv/bin/activate

$ pip install --no-binary :all: faster_than_requests 
Collecting faster_than_requests
  Using cached faster_than_requests-1.0.zip (2.1 MB)
Skipping wheel build for faster-than-requests, due to binaries being disabled for it.
Installing collected packages: faster-than-requests
    Running setup.py install for faster-than-requests ... done
Successfully installed faster-than-requests-1.0

$ python
Python 3.8.0 (default, Oct 28 2019, 16:14:01) 
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 
>>> import faster_than_requests as ftr
>>> 
>>> ftr.get('http://httpbin.org/get')
{'version': '1.1', 'headers': '{"server": ["gunicorn/19.9.0"], "content-length": ["269"], "access-control-allow-credentials": ["true"], "content-type": ["application/json"], "date": ["Sat, 15 Aug 2020 15:16:24 GMT"], "access-control-allow-origin": ["*"], "connection": ["keep-alive"]}', 'status': '200 OK', 'content-type': 'application/json', 'content-length': '269', 'body': '{\n  "args": {}, \n  "headers": {\n    "Content-Length": "0", \n    "Host": "httpbin.org", \n    "User-Agent": "Nim httpclient/1.2.0", \n    "X-Amzn-Trace-Id": "Root=1-5f37fc47-7574714cc846fa6c560ff4d8"\n  }, \n  "origin": "178.218.32.50", \n  "url": "http://httpbin.org/get"\n}\n'}

>>> ftr.get('http://httpbin.org/get', timeout=99)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: get() takes exactly 1 arguments (2 given)

>>> ftr.post('http://httpbin.org/post', body='')
{'version': '1.1', 'headers': '{"server": ["gunicorn/19.9.0"], "content-length": ["333"], "access-control-allow-credentials": ["true"], "content-type": ["application/json"], "date": ["Sat, 15 Aug 2020 15:16:54 GMT"], "access-control-allow-origin": ["*"], "connection": ["keep-alive"]}', 'status': '200 OK', 'content-type': 'application/json', 'content-length': '333', 'body': '{\n  "args": {}, \n  "data": "", \n  "files": {}, \n  "form": {}, \n  "headers": {\n    "Content-Length": "0", \n    "Host": "httpbin.org", \n    "User-Agent": "Nim httpclient/1.2.0", \n    "X-Amzn-Trace-Id": "Root=1-5f37fc65-92ecf29822b017ac8439db66"\n  }, \n  "json": null, \n  "origin": "178.218.32.50", \n  "url": "http://httpbin.org/post"\n}\n'}

>>> ftr.post('http://httpbin.org/post', body='', http_headers=[("DNT", "1")])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: post() got multiple values for argument body
>>> 
>>> ftr.urlparse("https://nim-lang.org")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'faster_than_requests' has no attribute 'urlparse'
>>> 

I can't figure out why the examples from the documentation don't work?

Error pip installing with pycharm (windows 10)

I'm trying to pip install the library in pycharm on my 64 bit windows 10 machine and getting this error. Using python 3.7.

try 1:

pip install faster-than-requests
ERROR: Could not find a version that satisfies the requirement faster-than-requests
ERROR: No matching distribution found for faster-than-requests

try 2:

pip install faster-than-requests==20.11.04
ERROR: Could not find a version that satisfies the requirement faster-than-requests==20.11.04
ERROR: No matching distribution found for faster-than-requests==20.11.04

Hello Juan Carlos,

Hello Juan Carlos,

I encounter the same issue as above, both on my Linux and Mac machines:
/usr/project/.git/logs/refs/heads/use_faster_than_requests
/usr/project/.git/refs/heads/use_faster_than_requests
/usr/PycharmProjects/Pip_VirtualEnv/lib/python3.7/site-packages/faster_than_requests-0.9.9-py3.7.egg-info
/usr/PycharmProjects/Pip_VirtualEnv/lib/python3.7/site-packages/faster_than_requests-0.9.9-py3.7.egg-info/PKG-INFO
/usr/PycharmProjects/Pip_VirtualEnv/lib/python3.7/site-packages/faster_than_requests-0.9.9-py3.7.egg-info/SOURCES.txt
/usr/PycharmProjects/Pip_VirtualEnv/lib/python3.7/site-packages/faster_than_requests-0.9.9-py3.7.egg-info/dependency_links.txt
/usr/PycharmProjects/Pip_VirtualEnv/lib/python3.7/site-packages/faster_than_requests-0.9.9-py3.7.egg-info/installed-files.txt
/usr/PycharmProjects/Pip_VirtualEnv/lib/python3.7/site-packages/faster_than_requests-0.9.9-py3.7.egg-info/requires.txt
/usr/PycharmProjects/Pip_VirtualEnv/lib/python3.7/site-packages/faster_than_requests-0.9.9-py3.7.egg-info/top_level.txt

Originally posted by @RobDeepLearning in #75 (comment)

HTTP Headers don't work for post

Using: faster-than-requests-20.10.19

As a server, I use docker:

docker run -d -p 8001:80 kennethreitz/httpbin

This works:

In [36]: import json
faster_than_requests
faster_than_requests.post("http://0.0.0.0:8001/anything", body=json.dumps({"haha": 1}).encode())
Out[36]: 
{'version': '1.1',
 'headers': '{"server": ["gunicorn/19.9.0"], "content-length": ["368"], "access-control-allow-credentials": ["true"], "content-type": ["application/json"], "date": ["Sun, 13 Dec 2020 14:20:33 GMT"], "access-control-allow-origin": ["*"], "connection": ["keep-alive"]}',
 'status': '200 OK',
 'content-type': 'application/json',
 'content-length': '368',
 'body': '{\n  "args": {}, \n  "data": "{\\"haha\\": 1}", \n  "files": {}, \n  "form": {}, \n  "headers": {\n    "Connection": "Keep-Alive", \n    "Content-Length": "11", \n    "Dnt": "1", \n    "Host": "0.0.0.0:8001", \n    "User-Agent": "Nim httpclient/1.4.0"\n  }, \n  "json": {\n    "haha": 1\n  }, \n  "method": "POST", \n  "origin": "172.17.0.1", \n  "url": "http://0.0.0.0:8001/anything"\n}\n'}

but adding the HTTP headers I get:

In [37]: faster_than_requests.post("http://0.0.0.0:8001/anything", body=json.dumps({"haha": 1}).encode(), 
                                    http_headers=[("Content-Type", "application/json")])

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-37-49654e85c073> in <module>
----> 1 faster_than_requests.post("http://0.0.0.0:8001/anything", body=json.dumps({"haha": 1}).encode(),
      2                           http_headers=[("Content-Type", "application/json")])

TypeError: post() got multiple values for argument body

4xx Client Errors do not let read API response

I was trying out this beautiful library and came across an annoying thing. I'm trying to get some info via API on a site, sometimes my request returns 404 ERROR (Not Found) and 401 ERROR (Unauthorized).

The site I'm willing to reach also gives a description of the error in JSON format. Regular requests library lets me get this description, whereas faster_than_requests returns an error, and there is no way I can get that JSON.

Is there a way to disable raising exceptions when the site I'm trying to request returns 404 and 401 errors? Thanks!

how to properly use the post requests?

hi, its me again
im getting a issue with the post2str()
TypeError: post2str() missing 1 required positional argument: body

my request is request = requests.post2str(url, data=data)

Unexpected error encountered: Too many open files

Before you open a new bug

  • 32 Bit is not supported.
  • You must have 64 Bit Python 3.
  • You must have 64 Bit GCC Compiler.
  • You must have 64 Bit Operating System.
  • Windows older than Windows 10 is not supported.
  • ARM support is Experimental, you may need to compile manually.
  • Mac OSX support is Experimental, you may need to compile manually.
  • Alpine Linux support is Experimental, you may need to compile manually.

Problems with python 3.8 SLOW and failing compilation

Hello,

I'm having problems with the library, a bunch of errors are trown during the instalation, but it's installed 'somehow'.

  • You must have 64 Bit Python 3. Python 3.8.5
  • You must have 64 Bit GCC Compiler: gcc (GCC) 10.2.1
  • You must have 64 Bit Operating System: 5.6.6-300.fc32.x86_64

But, ignoring that, it works but tremendously slow, not 'faster than requests' but 'slower than htmllib' :(

Pastebin with the brutally big output on pip install:

https://pastebin.com/fWA25Kbd

timeit("import faster_than_requests as requests;requests.get('https://google.es')", number=10)
28.098495040998387
timeit("import requests as requests;requests.get('https://google.es')", number=10)
3.4597925010002655

Sometimes getting a Protocol error

Using: faster-than-requests-20.10.19

Many times it works, but it's consistently albeit rarely throwing an error:

In [15]: test_faster_than_requests(False, 100)
faster requests, bytes: False - 0.001136476993560791

In [16]: test_faster_than_requests(False, 10000)
---------------------------------------------------------------------------
ProtocolError                             Traceback (most recent call last)
<ipython-input-16-7a8cf694ac32> in <module>
----> 1 test_faster_than_requests(False, 10000)

<ipython-input-7-5f8aa513f682> in test_faster_than_requests(use_bytes, n)
      2     t1 = time.time()
      3     for i in range(n):
----> 4         text = faster_than_requests.get2str("http://0.0.0.0:8001/anything")
      5         assert not use_bytes
      6         assert re.findall("Host.+", text)

ProtocolError: Unexpected error encountered: Connection was closed before full request has been made

In [17]: test_faster_than_requests(False, 10000)
---------------------------------------------------------------------------
OSError                                   Traceback (most recent call last)
<ipython-input-17-7a8cf694ac32> in <module>
----> 1 test_faster_than_requests(False, 10000)

<ipython-input-7-5f8aa513f682> in test_faster_than_requests(use_bytes, n)
      2     t1 = time.time()
      3     for i in range(n):
----> 4         text = faster_than_requests.get2str("http://0.0.0.0:8001/anything")
      5         assert not use_bytes
      6         assert re.findall("Host.+", text)

OSError: Unexpected error encountered: Interrupted system call

In [18]: test_faster_than_requests(False, 10000)
---------------------------------------------------------------------------
ProtocolError                             Traceback (most recent call last)
<ipython-input-18-7a8cf694ac32> in <module>
----> 1 test_faster_than_requests(False, 10000)

<ipython-input-7-5f8aa513f682> in test_faster_than_requests(use_bytes, n)
      2     t1 = time.time()
      3     for i in range(n):
----> 4         text = faster_than_requests.get2str("http://0.0.0.0:8001/anything")
      5         assert not use_bytes
      6         assert re.findall("Host.+", text)

ProtocolError: Unexpected error encountered: Connection was closed before full request has been made

In [19]: test_faster_than_requests(False, 10000)
faster requests, bytes: False - 0.0008446676731109619

In [20]: test_faster_than_requests(False, 10000)
test_faster_than_requests(False, 10000)
faster requests, bytes: False - 0.0008402381658554077

In [21]: 
faster requests, bytes: False - 0.0008474510192871094

For the server I use:

docker run -d -p 8001:80 kennethreitz/httpbin

Import error

When im tryin to import the module i get this error
"ImportError: DLL load failed while importing faster_than_requests: %1 is not a valid Win32 application"

image

Error on installation

When I try to install app, I got this error:

$ pip install faster-than-requests -vvv
Non-user install because user site-packages disabled
Created temporary directory: /tmp/pip-ephem-wheel-cache-n2991ybc
Created temporary directory: /tmp/pip-req-tracker-ghc7ij5k
Initialized build tracking at /tmp/pip-req-tracker-ghc7ij5k
Created build tracker: /tmp/pip-req-tracker-ghc7ij5k
Entered build tracker: /tmp/pip-req-tracker-ghc7ij5k
Created temporary directory: /tmp/pip-install-f31wwwj1
1 location(s) to search for versions of faster-than-requests:
* https://pypi.org/simple/faster-than-requests/
Fetching project page and analyzing links: https://pypi.org/simple/faster-than-requests/
Getting page https://pypi.org/simple/faster-than-requests/
Found index url https://pypi.org/simple
Looking up "https://pypi.org/simple/faster-than-requests/" in the cache
Request header has "max_age" as 0, cache bypassed
Starting new HTTPS connection (1): pypi.org:443
https://pypi.org:443 "GET /simple/faster-than-requests/ HTTP/1.1" 304 0
  Link requires a different Python (3.6.9 not in: '>=3.8'): https://files.pythonhosted.org/packages/aa/e3/d3018380bfb1415a1a951fb64ad728b74ef985ba5be5f43648599c3a91bb/faster_than_requests-49d49f0.zip#sha256=3054b89557bbbec8d22b669943f898b5ef71d7c11f287d9e9b71a45b7aaeee7b (from https://pypi.org/simple/faster-than-requests/) (requires-python:>=3.8)
  Link requires a different Python (3.6.9 not in: '>=3.8'): https://files.pythonhosted.org/packages/19/85/00e7ffcb14c8a9c7f5b366e21e0da6252b05dc80521231df08586dfdeb8d/faster_than_requests-d4d03a6.zip#sha256=30defae729a4b0a67bd986a0cd0898d943a347a2e3e45759e7b9facb02051679 (from https://pypi.org/simple/faster-than-requests/) (requires-python:>=3.8)
  Link requires a different Python (3.6.9 not in: '>=3.8'): https://files.pythonhosted.org/packages/55/32/d77019eac8980d71c96ebbd266f324e753d75815e88414bad431c1a7f69d/faster_than_requests-57c7862.zip#sha256=e9d08cd824ced57b940eb3fec2b3b1c221de86efe5fc575b6b495c283c80116b (from https://pypi.org/simple/faster-than-requests/) (requires-python:>=3.8)
  Link requires a different Python (3.6.9 not in: '>=3.8'): https://files.pythonhosted.org/packages/8f/f0/11be00462bf64c327f73fb2696fc8f0c9e0cd495369569f0f0d6cded5c55/faster_than_requests-3572925.zip#sha256=24f9b9d9fb81dbfac8af4ff3672bed0d99b566e7d64f4efeb8bf96932a4700d4 (from https://pypi.org/simple/faster-than-requests/) (requires-python:>=3.8)
Given no hashes to check 0 links for project 'faster-than-requests': discarding no candidates
ERROR: Could not find a version that satisfies the requirement faster-than-requests (from versions: none)
Cleaning up...
Removed build tracker: '/tmp/pip-req-tracker-ghc7ij5k'
ERROR: No matching distribution found for faster-than-requests
Exception information:
Traceback (most recent call last):
  File "/var/lib/app/.virtualenvs/app/lib/python3.6/site-packages/pip/_internal/cli/base_command.py", line 186, in _main
    status = self.run(options, args)
  File "/var/lib/app/.virtualenvs/app/lib/python3.6/site-packages/pip/_internal/commands/install.py", line 331, in run
    resolver.resolve(requirement_set)
  File "/var/lib/app/.virtualenvs/app/lib/python3.6/site-packages/pip/_internal/legacy_resolve.py", line 177, in resolve
    discovered_reqs.extend(self._resolve_one(requirement_set, req))
  File "/var/lib/app/.virtualenvs/app/lib/python3.6/site-packages/pip/_internal/legacy_resolve.py", line 333, in _resolve_one
    abstract_dist = self._get_abstract_dist_for(req_to_install)
  File "/var/lib/app/.virtualenvs/app/lib/python3.6/site-packages/pip/_internal/legacy_resolve.py", line 281, in _get_abstract_dist_for
    req.populate_link(self.finder, upgrade_allowed, require_hashes)
  File "/var/lib/app/.virtualenvs/app/lib/python3.6/site-packages/pip/_internal/req/req_install.py", line 249, in populate_link
    self.link = finder.find_requirement(self, upgrade)
  File "/var/lib/app/.virtualenvs/app/lib/python3.6/site-packages/pip/_internal/index/package_finder.py", line 927, in find_requirement
    'No matching distribution found for %s' % req
pip._internal.exceptions.DistributionNotFound: No matching distribution found for faster-than-requests
WARNING: You are using pip version 20.0.2; however, version 20.2.4 is available.
You should consider upgrading via the '/var/lib/app/.virtualenvs/app/bin/python -m pip install --upgrade pip' command.

Distributor ID: Ubuntu
Description: Ubuntu 18.04.4 LTS
Release: 18.04
Codename: bionic

How can I fix this issue?
Thanks.

Pip install bug

When I am installing package (on win) it says "System can't find defined path: 'win'". Do you know what it may be?

pip install error

When installing the package, an error occurs

$ virtualenv -p python3.8 venv
Running virtualenv with interpreter /usr/bin/python3.8
Using base prefix '/usr'
/usr/lib/python3/dist-packages/virtualenv.py:1086: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
  import imp
New python executable in /home/y_mironov/venv/bin/python3.8
Also creating executable in /home/y_mironov/venv/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.

$ source venv/bin/activate

(venv) $ pip install faster_than_requests
[red_error_text.txt](https://github.com/juancarlospaco/faster-than-requests/files/5073054/red_error_text.txt)
Collecting faster_than_requests
  Downloading faster_than_requests-1.0.zip (2.1 MB)
     |████████████████████████████████| 2.1 MB 625 kB/s 
Building wheels for collected packages: faster-than-requests
  Building wheel for faster-than-requests (setup.py) ... error

...RED ERROR TEXT IS HERE...

  Running setup.py clean for faster-than-requests
Failed to build faster-than-requests
DEPRECATION: Could not build wheels for faster-than-requests which do not use PEP 517. pip will fall back to legacy 'setup.py install' for these. pip 21.0 will remove support for this functionality. A possible replacement is to fix the wheel build issue reported above. You can find discussion regarding this at https://github.com/pypa/pip/issues/8368.
Installing collected packages: faster-than-requests
    Running setup.py install for faster-than-requests ... done
Successfully installed faster-than-requests-1.0

(venv) $ python -V
Python 3.8.0

(venv) $ pip -V
pip 20.2.2 from /home/y_mironov/venv/lib/python3.8/site-packages/pip (python 3.8)

(venv) $ uname -a
Linux HP-EliteBook-850-G3 5.4.0-42-generic #46~18.04.1-Ubuntu SMP Fri Jul 10 07:21:24 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

(venv) $ gcc --version
gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Show Progress using tqdm?

Is it possible to show the progress of the individual files which is downloading(downloading2() function) using tqdm?

Doesn't seem to be faster

Just a quick question, I believe I am doing something wrong as pycurl is still faster than faster_than_requests, what am I doing wrong? This is my code to test:

import requests
from bs4 import BeautifulSoup
import faster_than_requests as request
import time
#faster_than_requests.get()

user = "hilxys"
timeStart = time.perf_counter()
c = pycurl.Curl()
print("Normal Requests")
for _ in range(10):
    res = requests.get('https://twitter.com/' + user)
    print(".")

timeEnd = time.perf_counter() - timeStart
averageTime = timeEnd / 10
timeEnd = round(timeEnd, 4)
print(f"Made 10 requests with an average of {averageTime} seconds each")
print("PyCurl Requests")
timeStart = time.perf_counter()
for _ in range(10):
    c.setopt(c.URL, 'https://twitter.com/' + user)
    c.setopt(pycurl.SSL_VERIFYPEER, 0)
    c.perform_rs()
    res = c
    print(".")
timeEnd = time.perf_counter() - timeStart
averageTime = timeEnd / 10
timeEnd = round(timeEnd, 4)
print(f"Made 10 requests with an average of {averageTime} seconds each")
print("Faster than Requests")
timeStart = time.perf_counter()
for _ in range(10):
    res = requests.get('https://twitter.com/')
    print(".")

timeEnd = time.perf_counter() - timeStart
averageTime = timeEnd / 10
timeEnd = round(timeEnd, 4)
print(f"Made 10 requests with an average of {averageTime} seconds each")
time.sleep(10)```

Somethings wrong with pypi package version number

I tried to update my faster_than_requests package and took the version number from pypi.

The directory '/home/daniel/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/daniel/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting faster-than-requests==20.09.28
  Could not find a version that satisfies the requirement faster-than-requests==20.09.28 (from versions: 0.1, 0.5, 0.9.2, 0.9.6)
No matching distribution found for faster-than-requests==20.09.28

I guess the next valid version number after 0.9.6 is 0.9.7 or 0.10.0 or 1.0.0.

Issues installing package (mac)

So I'm having an issue installing this package. I think because the zip file is labeled differently than the version number on PyPI, pip is giving me some grief

So if I just do...

$ python3 -m pip install faster-than-requests

... it downloads faster_than_requests-3572925.zip and gives me this error:

ERROR: Requested faster-than-requests from https://files.pythonhosted.org/packages/8f/f0/11be00462bf64c327f73fb2696fc8f0c9e0cd495369569f0f0d6cded5c55/faster_than_requests-3572925.zip#sha256=24f9b9d9fb81dbfac8af4ff3672bed0d99b566e7d64f4efeb8bf96932a4700d4 has different version in metadata: '20.10.19'

then if I try to specify the version number...

$ python3 -m pip install faster-than-requests==20.11.04

... I get this error:

ERROR: Could not find a version that satisfies the requirement faster-than-requests==20.11.04
ERROR: No matching distribution found for faster-than-requests==20.11.04

Is there something I'm doing wrong? Or maybe is there just some way for me to get override the conflict between the file name and the version number embedded in metadata?

Cannot import faster_than_requests

When I try to import faster_than_requests I get this error:
Error: ImportError: DLL load failed: %1 is not a valid Win32 application
I am using a 64bit python in a 64bit computer

Error during installing on termux

Before you open a new bug

  • 32 Bit is not supported.
  • You must have 64 Bit Python 3.
  • You must have 64 Bit GCC Compiler.
  • You must have 64 Bit Operating System.
  • Windows older than Windows 10 is not supported.
  • ARM support is Experimental, you may need to compile manually.
  • Mac OSX support is Experimental, you may need to compile manually.
  • Alpine Linux support is Experimental, you may need to compile manually.
ERROR: Requested faster_than_requests from https://files.pythonhosted.org/packages/8f/f0/11be00462bf64c327f73fb2696fc8f0c9e0cd495369569f0f0d6cded5c55/faster_than_requests-3572925.zip#sha256=24f9b9d9fb81dbfac8af4ff3672bed0d99b566e7d64f4efeb8bf96932a4700d4 has different version in metadata: '20.10.19'

Windows compile error

Pip doesn't work, so i'm trying to compile from source, but get this error:

Hint: used config file 'C:\Users\user\.choosenim\toolchains\nim-1.4.0\config\nim.cfg' [Conf]
Hint: used config file 'C:\Users\user\.choosenim\toolchains\nim-1.4.0\config\config.nims' [Conf]
Hint: used config file 'C:\Users\user\Desktop\faster-than-requests\src\faster_than_requests.nim.cfg' [Conf]
........................................................................
faster_than_requests.nim(2, 3) Warning: imported and not used: 'algorithm' [UnusedImport]
CC: stdlib_assertions.nim
CC: stdlib_dollars.nim
CC: stdlib_locks.nim
CC: stdlib_sharedlist.nim
CC: stdlib_formatfloat.nim
CC: stdlib_widestrs.nim
CC: stdlib_io.nim
CC: stdlib_system.nim
C:\Users\user\nimcache\faster_than_requests_r\stdlib_io.nim.c:16:10: fatal error: handleapi.h: No such file or directory
   16 | #include <handleapi.h>
      |          ^~~~~~~~~~~~~
compilation terminated.
Error: execution of an external compiler program 'gcc.exe -c  -w -fmax-errors=3 -mno-ms-bitfields -DWIN32_LEAN_AND_MEAN -O3 -fno-strict-aliasing -fno-ident   -IC:\Users\user\.choosenim\toolchains\nim-1.4.0\lib -IC:\Users\user\Desktop\faster-than-requests\src -o C:\Users\user\nimcache\faster_than_requests_r\stdlib_io.nim.c.o C:\Users\user\nimcache\faster_than_requests_r\stdlib_io.nim.c' failed with exit code: 1

Show progression for download()

Hello, I exported export REQUESTS_DEBUG="true" then I ran a script to download a file with requests.download() but I don't get any information when downloading.

Does anyone have a solution for this?

Can't install getting a ValueError on strutils

  • C:\faster-than-requests\src>nim c -d:ssl -d:release --app:lib --out:faster_than_requests.pyd faster_than_requests.nim
    Hint: used config file 'C:\Users\sn3ak\AppData\Local\Temp\Rar$EXa19616.28540\nim-1.2.0\config\nim.cfg' [Conf]
    Hint: used config file 'C:\faster-than-requests\src\faster_than_requests.nim.cfg' [Conf]
    Hint: system [Processing]
    Hint: widestrs [Processing]
    Hint: io [Processing]
    Hint: faster_than_requests [Processing]
    Hint: httpclient [Processing]
    Hint: net [Processing]
    Hint: nativesockets [Processing]
    Hint: os [Processing]
    Hint: strutils [Processing]
    Hint: parseutils [Processing]
    Hint: math [Processing]
    Hint: bitops [Processing]
    Hint: macros [Processing]
    Hint: algorithm [Processing]
    Hint: unicode [Processing]
    Hint: pathnorm [Processing]
    Hint: osseps [Processing]
    Hint: winlean [Processing]
    Hint: dynlib [Processing]
    Hint: times [Processing]
    Hint: options [Processing]
    Hint: typetraits [Processing]
    Hint: time_t [Processing]
    Hint: sets [Processing]
    Hint: hashes [Processing]
    Hint: monotimes [Processing]
    Hint: ssl_certs [Processing]
    Hint: ospaths [Processing]
    Hint: openssl [Processing]
    Hint: uri [Processing]
    Hint: base64 [Processing]
    Hint: mimetypes [Processing]
    Hint: strtabs [Processing]
    Hint: streams [Processing]
    Hint: random [Processing]
    Hint: httpcore [Processing]
    Hint: tables [Processing]
    Hint: asyncnet [Processing]
    Hint: asyncdispatch [Processing]
    Hint: heapqueue [Processing]
    Hint: asyncstreams [Processing]
    Hint: asyncfutures [Processing]
    Hint: deques [Processing]
    Hint: cstrutils [Processing]
    Hint: asyncfile [Processing]
    Hint: json [Processing]
    Hint: lexbase [Processing]
    Hint: parsejson [Processing]
    Hint: threadpool [Processing]
    Hint: cpuinfo [Processing]
    Hint: cpuload [Processing]
    Hint: htmlparser [Processing]
    Hint: parsexml [Processing]
    Hint: xmltree [Processing]
    Hint: sequtils [Processing]
    Hint: db_sqlite [Processing]
    Hint: sqlite3 [Processing]
    Hint: db_common [Processing]
    Hint: re [Processing]
    Hint: pcre [Processing]
    Hint: rtarrays [Processing]
    Hint: nimpy [Processing]
    Hint: complex [Processing]
    Hint: py_types [Processing]
    Hint: py_utils [Processing]
    Hint: py_lib [Processing]
    strutils.nim(2624) invalidFormatString
    Error: unhandled exception: invalid format string [ValueError]

Describe the bug
It should install it normally

To Reproduce
Steps to reproduce the behavior:

  1. Download and navigate to the source folder of the module
  2. Try installing it
  3. Get that error

**
image
**

Desktop (please complete the following information):

  • OS: Windows 10
  • Browser Chrome
  • Version 81

I am doing this in order to compile it as pip3 install faster-than-requests raises the following error:

Command "C:\Users\sn3ak\PycharmProjects\target-monitor-part\venv\Scripts\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\sn3ak\\AppData\\Local\\Temp\\pip-install-wxf9kku4\\faster-than-requests\\setup.py';f=getattr(tokenize, 'open', open)(__file__ );code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\sn3ak\AppData\Local\Temp\pip-record-ab5ymilc\install-record.txt --single-version-externally-managed --compile --install-headers C:\Users\sn3ak\PycharmPr ojects\target-monitor-part\venv\include\site\python3.7\faster-than-requests" failed with error code 1 in C:\Users\sn3ak\AppData\Local\Temp\pip-install-wxf9kku4\faster-than-requests\

'get' takes only 1 argument (4 given)

  • Please paste the output of faster_than_requests.debugs().

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
SystemError: <built-in function debugs> returned NULL without setting an error

(Seriously? This library functions appear as builtin? lol)

Describe the bug

As an introduction, this library is everything but a carefully designed piece of software. Considering its name I'd have expected a solid API, which by the way is completely different from requests and mostly for no particular reason. As for the bug, I've tried to use some keyword argument options with the get method, such as proxyUrl and userAgent with no success, without the extra parameters it works, but I need other options. I keep getting a TypeError: 'get' takes exactly one arguments (4 given)
(oh and btw camelCase names in a Python library? Did the developer even read PEP8 at all?)
As for what implies other methods such as put or get, the behavior is even quirkier and nonsensical, because they just raise SystemError, which is actually a Python exception that occurs when something very bad happens in the interpreter, in this case the function has set its return value to NULL without setting an exception using CPython's API, which means nothing in Python.

With such an ironical name I'd have at least loved if the library actually ever worked, lol. Gonna stick with requests, at least that's slow, but works as intended! (It's not the de-facto standard for no reason :))

To Reproduce
Steps to reproduce the behavior:

  1. Just call get with more than one parameter
  2. See error

Expected behavior
Maybe accept the arguments that the documentation explicitly talks about?

Desktop (please complete the following information):

  • OS: Debian 10 buster
  • Version 1.0 on Python 3.8.3

how to convert properly post requests

how to convert this POST request from the regular :

requests.post('https://github.com/', headers=headers, json=json)

to a faster-than-request POST requests format ? if its possible.

Issue with importing after compiling

I followed all the steps mentioned in other posts and issues and after compiling the .pyd file and placing it with my .py when trying to import it I get the error below:
could not load: (libcrypto-1_1-x64|libeay64).dll
I've also tried running it form the terminal instead of from an IDE, no difference
The specified dll's are in the nim bin folder so they should be included? Also recompiling made no difference.
Any known fix or what am I doing wrong?

Does or will faster-than-requests support persistent connections (sessions)?

I have discovered this blog about faster HTTP clients in python and the author talks about Persistent Connections.

Persistent Connections
The first optimization to take into account is the use of a persistent connection to the Web server. Persistent connections are a standard since HTTP 1.1 though many applications do not leverage them. This lack of optimization is simple to explain if you know that when using requests in its simple mode (e.g. with the get function) the connection is closed on return. To avoid that, an application needs to use a Session object that allows reusing an already opened connection.

Reusing the TCP connection to send out several HTTP requests offers a number of performance advantages:

  • Lower CPU and memory usage (fewer connections opened simultaneously).
  • Reduced latency in subsequent requests (no TCP handshaking).
  • Exceptions can be raised without the penalty of closing the TCP connection.

This looks like a pretty neat optimization.
It is implemented with requests like this:

import requests
session = requests.Session()
session.get("http://example.com")
# Connection is re-used
session.get("http://example.com")

Request's documentation about session usage

Does faster-than-requests (totally awesome library btw) support sessions? Or is this library gonna support them in the near future?

I have noticed this sentence in your README.md and I would be willing to donate something to you guys, but since I'm a single person that uses this library for some personal projects, then I have no idea how much is enough :/

Become a Sponsor and help improve this library with the features you want!

Installing

I don't know how to implement already installed in users/user and compiled ftr so the "module not found" information won't pop.

SSL error with get2str()

I'm running the get2str() function on an html, and I keep on receiving this error:

nimpy.SslError: Unexpected error encountered: error:14004410:SSL routines:CONNECT_CR_SRVR_HELLO:sslv3 alert handshake failure

any help?

How to send as many post requests per second to the same url, with the same data, as fast as possible?

I have a piece of code written using the regular requests library as follows:

def post_request():
    requests.post("http://httpbin.org/post", data={"foo": "bar", "baz": "true"})

def main():
    while True:
        for _ in range(5):
            thread = Thread(target=post_request)
            thread.start()

I am using 5 threads but in production this will be ramped up to as many as the computer can possibly handle concurrently. I want to re-create this functionality using faster_than_requests to speed it up.

  • I noticed that faster_than_requests.post was slower than requests.post, but I believe this is because faster_than_requests.post returns a dict of all the response data while requests.post only returns the response code.
  • I then tried faster_than_requests.post2str and found it was about equally as fast as requests.post.
  • I found that I cannot use my own threading method with faster_than_requests.post/post2str as the code just crashes and doesn't return any errors.

I am trying to send as many post requests per second as possible to the same url, with the same data, as fast as possible. Is there a way to do this with faster_than_requests by 1) using the fastest post method the library offers 2) using threading or asyncio or multiprocessing to spawn loads of these functions concurrently?

Crashes after some get requests

After issuing the same get request for a few times, I get this error:
nimpy.OSError: Unexpected error encountered: Additional info: "IO error has occurred in the BIO layer"

any other request after that yeilds this:
nimpy.AssertionError: Unexpected error encountered: net.nim(1444, 9) not socket.isClosed Cannot send on a closed socket

Fails to install with pip

I'm trying to install in Windows 10 64bit and am using Python 3.6.5 64 bit and getting an error:

@m..@s..@s..@[email protected]@[email protected]@snimpy.nim.c(10): fatal error C1083: Cannot open include file: 'pthread.h': No such file or directory
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.25.28610\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2

Erorr on install with nim :invocation of external compiler program failed

hi i tried to install with nim got this error and still confuse how to solve this
:
c:\faster-than-requests-master\src>nim c -d:ssl -d:release --app:lib --out:faster_than_requests.pyd faster_than_requests.nim
Hint: used config file 'C:\Users\sijam.choosenim\toolchains\nim-1.2.0\config\nim.cfg' [Conf]
Hint: used config file 'c:\faster-than-requests-master\src\faster_than_requests.nim.cfg' [Conf]
Hint: system [Processing]
Hint: widestrs [Processing]
Hint: io [Processing]
Hint: faster_than_requests [Processing]
Hint: httpclient [Processing]
Hint: net [Processing]
Hint: nativesockets [Processing]
Hint: os [Processing]
Hint: strutils [Processing]
Hint: parseutils [Processing]
Hint: math [Processing]
Hint: bitops [Processing]
Hint: macros [Processing]
Hint: algorithm [Processing]
Hint: unicode [Processing]
Hint: pathnorm [Processing]
Hint: osseps [Processing]
Hint: winlean [Processing]
Hint: dynlib [Processing]
Hint: times [Processing]
Hint: options [Processing]
Hint: typetraits [Processing]
Hint: time_t [Processing]
Hint: sets [Processing]
Hint: hashes [Processing]
Hint: monotimes [Processing]
Hint: ssl_certs [Processing]
Hint: ospaths [Processing]
Hint: openssl [Processing]
Hint: uri [Processing]
Hint: base64 [Processing]
Hint: mimetypes [Processing]
Hint: strtabs [Processing]
Hint: streams [Processing]
Hint: random [Processing]
Hint: httpcore [Processing]
Hint: tables [Processing]
Hint: asyncnet [Processing]
Hint: asyncdispatch [Processing]
Hint: heapqueue [Processing]
Hint: asyncstreams [Processing]
Hint: asyncfutures [Processing]
Hint: deques [Processing]
Hint: cstrutils [Processing]
Hint: asyncfile [Processing]
Hint: json [Processing]
Hint: lexbase [Processing]
Hint: parsejson [Processing]
Hint: threadpool [Processing]
Hint: cpuinfo [Processing]
Hint: cpuload [Processing]
Hint: htmlparser [Processing]
Hint: parsexml [Processing]
Hint: xmltree [Processing]
Hint: sequtils [Processing]
Hint: db_sqlite [Processing]
Hint: sqlite3 [Processing]
Hint: db_common [Processing]
Hint: re [Processing]
Hint: pcre [Processing]
Hint: rtarrays [Processing]
Hint: nimpy [Processing]
Hint: complex [Processing]
Hint: py_types [Processing]
Hint: py_utils [Processing]
Hint: py_lib [Processing]
CC: stdlib_assertions.nim
Error: invocation of external compiler program failed. The system cannot find the file specified.
Additional info: "Requested command not found: 'gcc.exe -c -w -mno-ms-bitfields -DWIN32_LEAN_AND_MEAN -flto -ffast-math -march=native -mtune=native -fsingle-precision-constant -O3 -fno-strict-aliasing -fno-ident -IC:\Users\sijam\.choosenim\toolchains\nim-1.2.0\lib -Ic:\faster-than-requests-master\src -o C:\Users\sijam\nimcache\faster_than_requests_r\stdlib_assertions.nim.c.o C:\Users\sijam\nimcache\faster_than_requests_r\stdlib_assertions.nim.c'. OS error:" 2

can you please help anything wrong with the process?
gcc wass installed

Error After compiling

I compile the repository and put faster_than_requests in the same directory as my file but when i run my program I get "DLL load failed while importing faster_than_requests: %1 is not a valid Win32 application."

Case Sensitive Headers

Hi,
i set HTTP 's headers and make a POST with this code:

headers = [ ("Custom", "Dummy") ]
requests.requests(url, "POST", data, headers)

When i run my script, i get this HTTP header:

POST /files HTTP/1.1
Host: 192.168.1.2
Connection: Keep-Alive
custom: dummy
content-length: 465
user-agent: Nim httpclient/1.0.6
content-type: multipart/form-data;

where my custom header is in lower case and not with first character capitalized.

It is possibile to fix this?

GET is really slow for httpbin.org/get

faster.py

import faster_than_requests
import time
import requests

z = faster_than_requests.get(
    url="https://httpbin.org/get", http_headers=[("connection", "keep-alive")]
)

t1 = time.time()
z = faster_than_requests.get(
    url="https://httpbin.org/get", http_headers=[("connection", "keep-alive")]
)
print("faster_than_requests", time.time() - t1)

s = requests.Session()
s.get("https://httpbin.org/get")
t1 = time.time()
s.get("https://httpbin.org/get")
print("requests", time.time() - t1)
pascal@archbook:/home/pascal$ python faster.py 
faster_than_requests 2.882045269012451
requests 0.11352109909057617

Pip installing error in Colab

Colab

!pip install faster_than_requests --log l1.txt

!pip install faster-than-requests --log l2.txt

!wget "https://files.pythonhosted.org/packages/15/7e/b9aee0da461905d5d74e8e34ed5705aa3551abdb32688a8ae25c5ffd1072/faster_than_requests-c66bdc9.zip" -O "faster_than_requests-c66bdc9.zip"
!pip install /content/faster_than_requests-c66bdc9.zip  --log l3.txt
ERROR: Could not find a version that satisfies the requirement faster_than_requests (from versions: none)
ERROR: No matching distribution found for faster_than_requests

ERROR: Could not find a version that satisfies the requirement faster-than-requests (from versions: none)
ERROR: No matching distribution found for faster-than-requests

Processing ./faster_than_requests-c66bdc9.zip
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
l1.txt ``` 2020-11-16T16:41:28,401 Using pip 20.2.4 from /usr/local/lib/python3.6/dist-packages/pip (python 3.6) 2020-11-16T16:41:28,403 Non-user install because site-packages writeable 2020-11-16T16:41:28,549 Created temporary directory: /tmp/pip-ephem-wheel-cache-9efdksuv 2020-11-16T16:41:28,550 Created temporary directory: /tmp/pip-req-tracker-07urfr_c 2020-11-16T16:41:28,550 Initialized build tracking at /tmp/pip-req-tracker-07urfr_c 2020-11-16T16:41:28,550 Created build tracker: /tmp/pip-req-tracker-07urfr_c 2020-11-16T16:41:28,550 Entered build tracker: /tmp/pip-req-tracker-07urfr_c 2020-11-16T16:41:28,550 Created temporary directory: /tmp/pip-install-8w16g8sv 2020-11-16T16:41:28,618 1 location(s) to search for versions of faster-than-requests: 2020-11-16T16:41:28,618 * https://pypi.org/simple/faster-than-requests/ 2020-11-16T16:41:28,618 Fetching project page and analyzing links: https://pypi.org/simple/faster-than-requests/ 2020-11-16T16:41:28,618 Getting page https://pypi.org/simple/faster-than-requests/ 2020-11-16T16:41:28,619 Found index url https://pypi.org/simple 2020-11-16T16:41:28,695 Link requires a different Python (3.6.9 not in: '>=3.8'): https://files.pythonhosted.org/packages/aa/e3/d3018380bfb1415a1a951fb64ad728b74ef985ba5be5f43648599c3a91bb/faster_than_requests-49d49f0.zip#sha256=3054b89557bbbec8d22b669943f898b5ef71d7c11f287d9e9b71a45b7aaeee7b (from https://pypi.org/simple/faster-than-requests/) (requires-python:>=3.8) 2020-11-16T16:41:28,695 Link requires a different Python (3.6.9 not in: '>=3.8'): https://files.pythonhosted.org/packages/19/85/00e7ffcb14c8a9c7f5b366e21e0da6252b05dc80521231df08586dfdeb8d/faster_than_requests-d4d03a6.zip#sha256=30defae729a4b0a67bd986a0cd0898d943a347a2e3e45759e7b9facb02051679 (from https://pypi.org/simple/faster-than-requests/) (requires-python:>=3.8) 2020-11-16T16:41:28,696 Link requires a different Python (3.6.9 not in: '>=3.8'): https://files.pythonhosted.org/packages/55/32/d77019eac8980d71c96ebbd266f324e753d75815e88414bad431c1a7f69d/faster_than_requests-57c7862.zip#sha256=e9d08cd824ced57b940eb3fec2b3b1c221de86efe5fc575b6b495c283c80116b (from https://pypi.org/simple/faster-than-requests/) (requires-python:>=3.8) 2020-11-16T16:41:28,696 Link requires a different Python (3.6.9 not in: '>=3.8'): https://files.pythonhosted.org/packages/8f/f0/11be00462bf64c327f73fb2696fc8f0c9e0cd495369569f0f0d6cded5c55/faster_than_requests-3572925.zip#sha256=24f9b9d9fb81dbfac8af4ff3672bed0d99b566e7d64f4efeb8bf96932a4700d4 (from https://pypi.org/simple/faster-than-requests/) (requires-python:>=3.8) 2020-11-16T16:41:28,696 Link requires a different Python (3.6.9 not in: '>=3.8'): https://files.pythonhosted.org/packages/27/28/e9b3fe211789887b0c088efb937f2c48fcfe3bc247aee0138c6f47980c31/faster_than_requests-272d664.zip#sha256=3d7be5ebcc3fa2a52cd2a59918840d43b5a48747f5414a80c85439d3e161b83d (from https://pypi.org/simple/faster-than-requests/) (requires-python:>=3.8) 2020-11-16T16:41:28,696 Link requires a different Python (3.6.9 not in: '>=3.8'): https://files.pythonhosted.org/packages/ce/97/e900361ad03ec1bea16c029e1d349487d0e619ae53170e3b935a1cd342cc/faster_than_requests-eb38cdb.zip#sha256=900e959cd2552950d5d53b6ca16fb1c72c8ff5aef2cdbadcb7fb1a3ba72c041c (from https://pypi.org/simple/faster-than-requests/) (requires-python:>=3.8) 2020-11-16T16:41:28,696 Link requires a different Python (3.6.9 not in: '>=3.8'): https://files.pythonhosted.org/packages/15/7e/b9aee0da461905d5d74e8e34ed5705aa3551abdb32688a8ae25c5ffd1072/faster_than_requests-c66bdc9.zip#sha256=bcd79f1903fdaf1c965ab238d281a199fc8a2b4cb1e685e2a395b8dbb9d26616 (from https://pypi.org/simple/faster-than-requests/) (requires-python:>=3.8) 2020-11-16T16:41:28,697 Given no hashes to check 0 links for project 'faster-than-requests': discarding no candidates 2020-11-16T16:41:28,698 ERROR: Could not find a version that satisfies the requirement faster_than_requests (from versions: none) 2020-11-16T16:41:28,698 ERROR: No matching distribution found for faster_than_requests 2020-11-16T16:41:28,698 Exception information: 2020-11-16T16:41:28,698 Traceback (most recent call last): 2020-11-16T16:41:28,698 File "/usr/local/lib/python3.6/dist-packages/pip/_internal/cli/base_command.py", line 228, in _main 2020-11-16T16:41:28,698 status = self.run(options, args) 2020-11-16T16:41:28,698 File "/usr/local/lib/python3.6/dist-packages/pip/_internal/cli/req_command.py", line 182, in wrapper 2020-11-16T16:41:28,698 return func(self, options, args) 2020-11-16T16:41:28,698 File "/usr/local/lib/python3.6/dist-packages/pip/_internal/commands/install.py", line 324, in run 2020-11-16T16:41:28,698 reqs, check_supported_wheels=not options.target_dir 2020-11-16T16:41:28,698 File "/usr/local/lib/python3.6/dist-packages/pip/_internal/resolution/legacy/resolver.py", line 183, in resolve 2020-11-16T16:41:28,698 discovered_reqs.extend(self._resolve_one(requirement_set, req)) 2020-11-16T16:41:28,698 File "/usr/local/lib/python3.6/dist-packages/pip/_internal/resolution/legacy/resolver.py", line 388, in _resolve_one 2020-11-16T16:41:28,698 abstract_dist = self._get_abstract_dist_for(req_to_install) 2020-11-16T16:41:28,698 File "/usr/local/lib/python3.6/dist-packages/pip/_internal/resolution/legacy/resolver.py", line 339, in _get_abstract_dist_for 2020-11-16T16:41:28,698 self._populate_link(req) 2020-11-16T16:41:28,698 File "/usr/local/lib/python3.6/dist-packages/pip/_internal/resolution/legacy/resolver.py", line 305, in _populate_link 2020-11-16T16:41:28,698 req.link = self._find_requirement_link(req) 2020-11-16T16:41:28,698 File "/usr/local/lib/python3.6/dist-packages/pip/_internal/resolution/legacy/resolver.py", line 270, in _find_requirement_link 2020-11-16T16:41:28,698 best_candidate = self.finder.find_requirement(req, upgrade) 2020-11-16T16:41:28,698 File "/usr/local/lib/python3.6/dist-packages/pip/_internal/index/package_finder.py", line 930, in find_requirement 2020-11-16T16:41:28,698 req) 2020-11-16T16:41:28,698 pip._internal.exceptions.DistributionNotFound: No matching distribution found for faster_than_requests 2020-11-16T16:41:28,699 Removed build tracker: '/tmp/pip-req-tracker-07urfr_c' ```
l2.txt ``` 2020-11-16T16:41:29,307 Using pip 20.2.4 from /usr/local/lib/python3.6/dist-packages/pip (python 3.6) 2020-11-16T16:41:29,309 Non-user install because site-packages writeable 2020-11-16T16:41:29,455 Created temporary directory: /tmp/pip-ephem-wheel-cache-8w80pz_h 2020-11-16T16:41:29,456 Created temporary directory: /tmp/pip-req-tracker-lv2w6j9_ 2020-11-16T16:41:29,456 Initialized build tracking at /tmp/pip-req-tracker-lv2w6j9_ 2020-11-16T16:41:29,456 Created build tracker: /tmp/pip-req-tracker-lv2w6j9_ 2020-11-16T16:41:29,456 Entered build tracker: /tmp/pip-req-tracker-lv2w6j9_ 2020-11-16T16:41:29,456 Created temporary directory: /tmp/pip-install-aw4g_6oq 2020-11-16T16:41:29,526 1 location(s) to search for versions of faster-than-requests: 2020-11-16T16:41:29,526 * https://pypi.org/simple/faster-than-requests/ 2020-11-16T16:41:29,526 Fetching project page and analyzing links: https://pypi.org/simple/faster-than-requests/ 2020-11-16T16:41:29,526 Getting page https://pypi.org/simple/faster-than-requests/ 2020-11-16T16:41:29,527 Found index url https://pypi.org/simple 2020-11-16T16:41:29,604 Link requires a different Python (3.6.9 not in: '>=3.8'): https://files.pythonhosted.org/packages/aa/e3/d3018380bfb1415a1a951fb64ad728b74ef985ba5be5f43648599c3a91bb/faster_than_requests-49d49f0.zip#sha256=3054b89557bbbec8d22b669943f898b5ef71d7c11f287d9e9b71a45b7aaeee7b (from https://pypi.org/simple/faster-than-requests/) (requires-python:>=3.8) 2020-11-16T16:41:29,604 Link requires a different Python (3.6.9 not in: '>=3.8'): https://files.pythonhosted.org/packages/19/85/00e7ffcb14c8a9c7f5b366e21e0da6252b05dc80521231df08586dfdeb8d/faster_than_requests-d4d03a6.zip#sha256=30defae729a4b0a67bd986a0cd0898d943a347a2e3e45759e7b9facb02051679 (from https://pypi.org/simple/faster-than-requests/) (requires-python:>=3.8) 2020-11-16T16:41:29,604 Link requires a different Python (3.6.9 not in: '>=3.8'): https://files.pythonhosted.org/packages/55/32/d77019eac8980d71c96ebbd266f324e753d75815e88414bad431c1a7f69d/faster_than_requests-57c7862.zip#sha256=e9d08cd824ced57b940eb3fec2b3b1c221de86efe5fc575b6b495c283c80116b (from https://pypi.org/simple/faster-than-requests/) (requires-python:>=3.8) 2020-11-16T16:41:29,605 Link requires a different Python (3.6.9 not in: '>=3.8'): https://files.pythonhosted.org/packages/8f/f0/11be00462bf64c327f73fb2696fc8f0c9e0cd495369569f0f0d6cded5c55/faster_than_requests-3572925.zip#sha256=24f9b9d9fb81dbfac8af4ff3672bed0d99b566e7d64f4efeb8bf96932a4700d4 (from https://pypi.org/simple/faster-than-requests/) (requires-python:>=3.8) 2020-11-16T16:41:29,605 Link requires a different Python (3.6.9 not in: '>=3.8'): https://files.pythonhosted.org/packages/27/28/e9b3fe211789887b0c088efb937f2c48fcfe3bc247aee0138c6f47980c31/faster_than_requests-272d664.zip#sha256=3d7be5ebcc3fa2a52cd2a59918840d43b5a48747f5414a80c85439d3e161b83d (from https://pypi.org/simple/faster-than-requests/) (requires-python:>=3.8) 2020-11-16T16:41:29,605 Link requires a different Python (3.6.9 not in: '>=3.8'): https://files.pythonhosted.org/packages/ce/97/e900361ad03ec1bea16c029e1d349487d0e619ae53170e3b935a1cd342cc/faster_than_requests-eb38cdb.zip#sha256=900e959cd2552950d5d53b6ca16fb1c72c8ff5aef2cdbadcb7fb1a3ba72c041c (from https://pypi.org/simple/faster-than-requests/) (requires-python:>=3.8) 2020-11-16T16:41:29,605 Link requires a different Python (3.6.9 not in: '>=3.8'): https://files.pythonhosted.org/packages/15/7e/b9aee0da461905d5d74e8e34ed5705aa3551abdb32688a8ae25c5ffd1072/faster_than_requests-c66bdc9.zip#sha256=bcd79f1903fdaf1c965ab238d281a199fc8a2b4cb1e685e2a395b8dbb9d26616 (from https://pypi.org/simple/faster-than-requests/) (requires-python:>=3.8) 2020-11-16T16:41:29,606 Given no hashes to check 0 links for project 'faster-than-requests': discarding no candidates 2020-11-16T16:41:29,606 ERROR: Could not find a version that satisfies the requirement faster-than-requests (from versions: none) 2020-11-16T16:41:29,607 ERROR: No matching distribution found for faster-than-requests 2020-11-16T16:41:29,607 Exception information: 2020-11-16T16:41:29,607 Traceback (most recent call last): 2020-11-16T16:41:29,607 File "/usr/local/lib/python3.6/dist-packages/pip/_internal/cli/base_command.py", line 228, in _main 2020-11-16T16:41:29,607 status = self.run(options, args) 2020-11-16T16:41:29,607 File "/usr/local/lib/python3.6/dist-packages/pip/_internal/cli/req_command.py", line 182, in wrapper 2020-11-16T16:41:29,607 return func(self, options, args) 2020-11-16T16:41:29,607 File "/usr/local/lib/python3.6/dist-packages/pip/_internal/commands/install.py", line 324, in run 2020-11-16T16:41:29,607 reqs, check_supported_wheels=not options.target_dir 2020-11-16T16:41:29,607 File "/usr/local/lib/python3.6/dist-packages/pip/_internal/resolution/legacy/resolver.py", line 183, in resolve 2020-11-16T16:41:29,607 discovered_reqs.extend(self._resolve_one(requirement_set, req)) 2020-11-16T16:41:29,607 File "/usr/local/lib/python3.6/dist-packages/pip/_internal/resolution/legacy/resolver.py", line 388, in _resolve_one 2020-11-16T16:41:29,607 abstract_dist = self._get_abstract_dist_for(req_to_install) 2020-11-16T16:41:29,607 File "/usr/local/lib/python3.6/dist-packages/pip/_internal/resolution/legacy/resolver.py", line 339, in _get_abstract_dist_for 2020-11-16T16:41:29,607 self._populate_link(req) 2020-11-16T16:41:29,607 File "/usr/local/lib/python3.6/dist-packages/pip/_internal/resolution/legacy/resolver.py", line 305, in _populate_link 2020-11-16T16:41:29,607 req.link = self._find_requirement_link(req) 2020-11-16T16:41:29,607 File "/usr/local/lib/python3.6/dist-packages/pip/_internal/resolution/legacy/resolver.py", line 270, in _find_requirement_link 2020-11-16T16:41:29,607 best_candidate = self.finder.find_requirement(req, upgrade) 2020-11-16T16:41:29,607 File "/usr/local/lib/python3.6/dist-packages/pip/_internal/index/package_finder.py", line 930, in find_requirement 2020-11-16T16:41:29,607 req) 2020-11-16T16:41:29,607 pip._internal.exceptions.DistributionNotFound: No matching distribution found for faster-than-requests 2020-11-16T16:41:29,608 Removed build tracker: '/tmp/pip-req-tracker-lv2w6j9_' ```
l3.txt ``` 2020-11-16T16:41:33,844 Using pip 20.2.4 from /usr/local/lib/python3.6/dist-packages/pip (python 3.6) 2020-11-16T16:41:33,846 Non-user install because site-packages writeable 2020-11-16T16:41:33,994 Created temporary directory: /tmp/pip-ephem-wheel-cache-2vm3gxy1 2020-11-16T16:41:33,995 Created temporary directory: /tmp/pip-req-tracker-ktwml60r 2020-11-16T16:41:33,995 Initialized build tracking at /tmp/pip-req-tracker-ktwml60r 2020-11-16T16:41:33,995 Created build tracker: /tmp/pip-req-tracker-ktwml60r 2020-11-16T16:41:33,995 Entered build tracker: /tmp/pip-req-tracker-ktwml60r 2020-11-16T16:41:33,996 Created temporary directory: /tmp/pip-install-zoicuzkr 2020-11-16T16:41:33,999 Processing ./faster_than_requests-c66bdc9.zip 2020-11-16T16:41:33,999 Created temporary directory: /tmp/pip-req-build-tcjrb0t_ 2020-11-16T16:41:34,097 Added file:///content/faster_than_requests-c66bdc9.zip to build tracker '/tmp/pip-req-tracker-ktwml60r' 2020-11-16T16:41:34,097 Running setup.py (path:/tmp/pip-req-build-tcjrb0t_/setup.py) egg_info for package from file:///content/faster_than_requests-c66bdc9.zip 2020-11-16T16:41:34,097 Created temporary directory: /tmp/pip-pip-egg-info-mogmvj9_ 2020-11-16T16:41:34,098 Running command python setup.py egg_info 2020-11-16T16:41:34,420 Traceback (most recent call last): 2020-11-16T16:41:34,420 File "", line 1, in 2020-11-16T16:41:34,420 File "/tmp/pip-req-build-tcjrb0t_/setup.py", line 1, in 2020-11-16T16:41:34,421 import os, sys, pathlib, setuptools, sysconfig, platform, importlib.metadata, atexit 2020-11-16T16:41:34,421 ModuleNotFoundError: No module named 'importlib.metadata' 2020-11-16T16:41:34,440 ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output. 2020-11-16T16:41:34,440 Exception information: 2020-11-16T16:41:34,440 Traceback (most recent call last): 2020-11-16T16:41:34,440 File "/usr/local/lib/python3.6/dist-packages/pip/_internal/cli/base_command.py", line 228, in _main 2020-11-16T16:41:34,440 status = self.run(options, args) 2020-11-16T16:41:34,440 File "/usr/local/lib/python3.6/dist-packages/pip/_internal/cli/req_command.py", line 182, in wrapper 2020-11-16T16:41:34,440 return func(self, options, args) 2020-11-16T16:41:34,440 File "/usr/local/lib/python3.6/dist-packages/pip/_internal/commands/install.py", line 324, in run 2020-11-16T16:41:34,440 reqs, check_supported_wheels=not options.target_dir 2020-11-16T16:41:34,440 File "/usr/local/lib/python3.6/dist-packages/pip/_internal/resolution/legacy/resolver.py", line 183, in resolve 2020-11-16T16:41:34,440 discovered_reqs.extend(self._resolve_one(requirement_set, req)) 2020-11-16T16:41:34,440 File "/usr/local/lib/python3.6/dist-packages/pip/_internal/resolution/legacy/resolver.py", line 388, in _resolve_one 2020-11-16T16:41:34,440 abstract_dist = self._get_abstract_dist_for(req_to_install) 2020-11-16T16:41:34,440 File "/usr/local/lib/python3.6/dist-packages/pip/_internal/resolution/legacy/resolver.py", line 340, in _get_abstract_dist_for 2020-11-16T16:41:34,440 abstract_dist = self.preparer.prepare_linked_requirement(req) 2020-11-16T16:41:34,440 File "/usr/local/lib/python3.6/dist-packages/pip/_internal/operations/prepare.py", line 483, in prepare_linked_requirement 2020-11-16T16:41:34,440 req, self.req_tracker, self.finder, self.build_isolation, 2020-11-16T16:41:34,440 File "/usr/local/lib/python3.6/dist-packages/pip/_internal/operations/prepare.py", line 91, in _get_prepared_distribution 2020-11-16T16:41:34,440 abstract_dist.prepare_distribution_metadata(finder, build_isolation) 2020-11-16T16:41:34,440 File "/usr/local/lib/python3.6/dist-packages/pip/_internal/distributions/sdist.py", line 40, in prepare_distribution_metadata 2020-11-16T16:41:34,440 self.req.prepare_metadata() 2020-11-16T16:41:34,440 File "/usr/local/lib/python3.6/dist-packages/pip/_internal/req/req_install.py", line 555, in prepare_metadata 2020-11-16T16:41:34,440 self.metadata_directory = self._generate_metadata() 2020-11-16T16:41:34,440 File "/usr/local/lib/python3.6/dist-packages/pip/_internal/req/req_install.py", line 535, in _generate_metadata 2020-11-16T16:41:34,440 details=self.name or "from {}".format(self.link) 2020-11-16T16:41:34,440 File "/usr/local/lib/python3.6/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 73, in generate_metadata 2020-11-16T16:41:34,440 command_desc='python setup.py egg_info', 2020-11-16T16:41:34,440 File "/usr/local/lib/python3.6/dist-packages/pip/_internal/utils/subprocess.py", line 242, in call_subprocess 2020-11-16T16:41:34,440 raise InstallationError(exc_msg) 2020-11-16T16:41:34,440 pip._internal.exceptions.InstallationError: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output. 2020-11-16T16:41:34,442 Removed file:///content/faster_than_requests-c66bdc9.zip from build tracker '/tmp/pip-req-tracker-ktwml60r' 2020-11-16T16:41:34,442 Removed build tracker: '/tmp/pip-req-tracker-ktwml60r' ```

How is this tool comparing with httpx?

I recently use httpx and pycurl, and see this while searching for requests.

While I didn't see the comparison with httpx on README.md. So I am much curious. Since it looks shorter than those mentioned above.👀

ProtocolError: Unexpected error encountered: invalid http version

ProtocolError: Unexpected error encountered: invalid http version, 0x7fc1b088f358"!\203\219\01\164s\181\252\147\185\174E),\252T\133\172r\158\196\140\228uZf\4J!|\134\171\175\216\202\19c\185\147\"\154e5\30\155J\236\143\1811\8\221'\133\139\194lZ\6\238\170*\214?\156\"\211b\170\145\175%\25\156\218\128\197Gj\156\190\200\187\166\\\164\198r\143R\243\203\235q\7\174\218\198L\242\155\233\140\1692\131I\221\137&b\234#\11&u\176\162\"\222\167\249\165\237\191-\150\15J\236\224=N\141\237\252\170\22\30\187\251\33\193z\192\157\204\0G\230\195\160M\1289\5\156e@\213\30hsx\215St\156|k/\163\1918\175H\167\253\23\199O\159\129$\199\232bW\142\215;t-%\135\176~b\238\238\21\212,\224\1389z\250\166l\"@l\237\145\216}|x"

** bug**
I was scraping images from a http website. Previously it was working, suddenly when run again, it is giving that kind of error. When using code for first run gives this kind of error
IOError: Unexpected error encountered: Unable to open file and after gives error as in title. Links not worked for any sites

Expected behavior
Previously , It was running.

Desktop (please complete the following information):

  • Colab
  • Chrome

Additional context
my code is

import os
import faster_than_requests as requests
from tqdm.notebook import tqdm 


def download(imgList):
  with tqdm(total=len(cleaned)) as pbar:
    for img in imgList:
      filename = os.path.basename(os.path.realpath(img))
      requests.download(img, '/content/drive/My Drive/Projects/Face generation project/images/' + '{}'.format(filename))
      pbar.update(1)

download(['https://www.cleverfiles.com/howto/wp-content/uploads/2018/03/minion.jpg']) # any img link

How to avoid 'Connection was closed before full request has been made'?

I am using get and sometimes this error occures:

nimpy.ProtocolError: Unexpected error encountered: Connection was closed before full request has been made

What are the reasons for this and how can I avoid it ?

Btw. thanks a lot for this cool package it is really faster than requests.

Script crashing while running download2() in threaded mode

code:

import json
import os
import faster_than_requests as requests

urls = []
with open('r-wallpaper-Top-100-results.json', 'r') as files:
    posts = json.load(files)
    for i in range(1, 100):
        for data in posts['Post ' + str(i)]:
            img_links = posts['Post ' + str(i)]['URL']
            file_path = os.getcwd() + posts['Post ' + str(i)]["Title"]+".jpg"
            urls.append([img_links, file_path])
requests.download2(urls,threads = True)

OS: Windows, using WSL
errors which kept coming up after a few iterations

oserr.nim(94) raiseOSError Error: unhandled exception: Resource temporarily unavailable [OSError]
this came up after I ran the script again after getting the above error
httpclient.nim(277) fileError Error: unhandled exception: Unable to open file [IOError]

Test - Faster and urllib

Hi, everything is running now and I have made a test compared to urlib ....

Result:

Faster than requests:
[INFO] Start with Lock..Fri Apr 3 14:23:43 2020
[INFO] End with Locked Fri Fri 3 2:24:07 PM 2020
Time:
0: 00: 23.297731

[INFO] Start with. Start unlocking Fri Fri Apr 3 14:24:07 2020
[INFO] End with Unlocked..Fri Apr 3 14:24:33 2020
Time:
 0: 00: 26.024629

urllib:

[INFO] Start with Lock..Fri Apr 3 14:24:33 2020
[INFO] End with blocked..Fri Apr 3 14:24:43 2020
Time:
0: 00: 10.246623

[INFO] Start with Unlock start..Fri Apr 3 14:24:43 2020
[INFO] End with Unlocked Fri Fri 3 2:24:50 2020
Time:
0: 00: 07.453506

Thread 0x1 ended with code 0 (0x0).
The program "python.exe" was terminated with code 0 (0x0).

Script:

import faster_than_requests as requests
import time
import datetime
import urllib.request


print ("Faster")
print("[INFO] Start with Sperre starten.."+ datetime.datetime.now().ctime()+'\n')
start = datetime.datetime.now()
requests.get('http://localhost/sureflap-master/LockOutsite.php')
end = datetime.datetime.now()
print("[INFO] Ende with Gesperrt.."+ datetime.datetime.now().ctime()+'\n')
time_taken = end - start
print('Time: ',time_taken) 


print("[INFO] Start with . Entsperren starten.."+ datetime.datetime.now().ctime()+'\n')
start = datetime.datetime.now()
requests.get('http://localhost/sureflap-master/UnLock.php')
end = datetime.datetime.now()
print("[INFO] Ende with  Entsperrt.."+ datetime.datetime.now().ctime()+'\n')
time_taken = end - start
print('Time: ',time_taken) 

print ("UrlLib")
print("[INFO] Start with Sperre starten.."+ datetime.datetime.now().ctime()+'\n')
start = datetime.datetime.now()
webUrl  = urllib.request.urlopen('http://localhost/sureflap-master/LockOutsite.php')
end = datetime.datetime.now()
print("[INFO] Ende with Gesperrt.."+ datetime.datetime.now().ctime()+'\n')
time_taken = end - start
print('Time: ',time_taken) 

print("[INFO] Start with  Entsperren starten.."+ datetime.datetime.now().ctime()+'\n')
start = datetime.datetime.now()
webUrl  = urllib.request.urlopen('http://localhost/sureflap-master/UnLock.php')
end = datetime.datetime.now()
print("[INFO] Ende with  Entsperrt.."+ datetime.datetime.now().ctime()+'\n')
time_taken = end - start
print('Time: ',time_taken) 

Am I doing something wrong when calling?
Faster .... is always slower than urllib

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.