You've already forked httpie-cli
							
							
				mirror of
				https://github.com/httpie/cli.git
				synced 2025-10-30 23:47:52 +02:00 
			
		
		
		
	| @@ -6,8 +6,9 @@ This document records all notable changes to `HTTPie <https://httpie.org>`_. | |||||||
| This project adheres to `Semantic Versioning <https://semver.org/>`_. | This project adheres to `Semantic Versioning <https://semver.org/>`_. | ||||||
|  |  | ||||||
|  |  | ||||||
| `2.1.0-dev`_ (unreleased) | `2.1.0`_ (2020-04-18) | ||||||
| ------------------------- | --------------------- | ||||||
|  |  | ||||||
| * Added ``--path-as-is`` to bypass dot segment (``/../`` or ``/./``) | * Added ``--path-as-is`` to bypass dot segment (``/../`` or ``/./``) | ||||||
|   URL squashing (#895). |   URL squashing (#895). | ||||||
| * Changed the default value ``Accept`` header value for JSON requests from | * Changed the default value ``Accept`` header value for JSON requests from | ||||||
| @@ -420,4 +421,9 @@ This project adheres to `Semantic Versioning <https://semver.org/>`_. | |||||||
| .. _1.0.2: https://github.com/jakubroztocil/httpie/compare/1.0.1...1.0.2 | .. _1.0.2: https://github.com/jakubroztocil/httpie/compare/1.0.1...1.0.2 | ||||||
| .. _1.0.3: https://github.com/jakubroztocil/httpie/compare/1.0.2...1.0.3 | .. _1.0.3: https://github.com/jakubroztocil/httpie/compare/1.0.2...1.0.3 | ||||||
| .. _2.0.0: https://github.com/jakubroztocil/httpie/compare/1.0.3...2.0.0 | .. _2.0.0: https://github.com/jakubroztocil/httpie/compare/1.0.3...2.0.0 | ||||||
| .. _2.1.0-dev: https://github.com/jakubroztocil/httpie/compare/2.0.0...master | .. _2.1.0: https://github.com/jakubroztocil/httpie/compare/2.0.0...2.1.0 | ||||||
|  |  | ||||||
|  |  | ||||||
|  | .. _#488:https://github.com/jakubroztocil/httpie/issues/488 | ||||||
|  | .. _#840:https://github.com/jakubroztocil/httpie/issues/840 | ||||||
|  | .. _#895:https://github.com/jakubroztocil/httpie/issues/895 | ||||||
|   | |||||||
							
								
								
									
										119
									
								
								README.rst
									
									
									
									
									
								
							
							
						
						
									
										119
									
								
								README.rst
									
									
									
									
									
								
							| @@ -27,11 +27,20 @@ generally interacting with HTTP servers. | |||||||
| .. section-numbering:: | .. section-numbering:: | ||||||
|  |  | ||||||
|  |  | ||||||
|  | About this document | ||||||
|  | =================== | ||||||
|  |  | ||||||
|  | This documentation is best viewed at `httpie.org/docs <https://httpie.org/docs>`_, | ||||||
|  | where you can select your corresponding HTTPie version as well as run examples directly from the | ||||||
|  | browser using a `termible.io <https://termible.io?utm_source=httpie-readme>`_ embedded terminal. | ||||||
|  | If you are reading this on GitHub, then this text covers the current *development* version. | ||||||
|  | You are invited to submit fixes and improvements to the the docs by editing | ||||||
|  | `README.rst <https://github.com/jakubroztocil/httpie/blob/master/README.rst>`_. | ||||||
|  |  | ||||||
|  |  | ||||||
| Main features | Main features | ||||||
| ============= | ============= | ||||||
|  |  | ||||||
|  |  | ||||||
| * Expressive and intuitive syntax | * Expressive and intuitive syntax | ||||||
| * Formatted and colorized terminal output | * Formatted and colorized terminal output | ||||||
| * Built-in JSON support | * Built-in JSON support | ||||||
| @@ -157,13 +166,13 @@ Otherwise with ``pip``: | |||||||
|  |  | ||||||
|  |  | ||||||
| Verify that now we have the | Verify that now we have the | ||||||
| `current development version identifier <https://github.com/jakubroztocil/httpie/blob/0af6ae1be444588bbc4747124e073423151178a0/httpie/__init__.py#L5>`_ | `current development version identifier <https://github.com/jakubroztocil/httpie/blob/master/httpie/__init__.py#L6>`_ | ||||||
| with the ``-dev`` suffix, for example: | with the ``-dev`` suffix, for example: | ||||||
|  |  | ||||||
| .. code-block:: bash | .. code-block:: bash | ||||||
|  |  | ||||||
|     $ http --version |     $ http --version | ||||||
|     1.0.0-dev |     # 2.0.0-dev | ||||||
|  |  | ||||||
|  |  | ||||||
| Usage | Usage | ||||||
| @@ -175,7 +184,7 @@ Hello World: | |||||||
|  |  | ||||||
| .. code-block:: bash | .. code-block:: bash | ||||||
|  |  | ||||||
|     $ http httpie.org |     $ http https://httpie.org/hello | ||||||
|  |  | ||||||
|  |  | ||||||
| Synopsis: | Synopsis: | ||||||
| @@ -307,7 +316,7 @@ If you find yourself manually constructing URLs with querystring parameters | |||||||
| on the terminal, you may appreciate the ``param==value`` syntax for appending | on the terminal, you may appreciate the ``param==value`` syntax for appending | ||||||
| URL parameters. | URL parameters. | ||||||
|  |  | ||||||
| With that, you don't have to worry about escaping the ``&`` | With that, you don’t have to worry about escaping the ``&`` | ||||||
| separators for your shell. Additionally, any special characters in the | separators for your shell. Additionally, any special characters in the | ||||||
| parameter name or value get automatically URL-escaped | parameter name or value get automatically URL-escaped | ||||||
| (as opposed to parameters specified in the full URL, which HTTPie doesn’t | (as opposed to parameters specified in the full URL, which HTTPie doesn’t | ||||||
| @@ -459,14 +468,14 @@ their type is distinguished only by the separator used: | |||||||
| +-----------------------+-----------------------------------------------------+ | +-----------------------+-----------------------------------------------------+ | ||||||
|  |  | ||||||
|  |  | ||||||
| Note that data fields aren't the only way to specify request data: | Note that data fields aren’t the only way to specify request data: | ||||||
| `Redirected input`_ is a mechanism for passing arbitrary request data. | `Redirected input`_ is a mechanism for passing arbitrary request data. | ||||||
|  |  | ||||||
|  |  | ||||||
| Escaping rules | Escaping rules | ||||||
| -------------- | -------------- | ||||||
|  |  | ||||||
| You can use ``\`` to escape characters that shouldn't be used as separators | You can use ``\`` to escape characters that shouldn’t be used as separators | ||||||
| (or parts thereof). For instance, ``foo\==bar`` will become a data key/value | (or parts thereof). For instance, ``foo\==bar`` will become a data key/value | ||||||
| pair (``foo=`` and ``bar``) instead of a URL parameter. | pair (``foo=`` and ``bar``) instead of a URL parameter. | ||||||
|  |  | ||||||
| @@ -538,7 +547,7 @@ Explicit JSON | |||||||
|  |  | ||||||
| You can use ``--json, -j`` to explicitly set ``Accept`` | You can use ``--json, -j`` to explicitly set ``Accept`` | ||||||
| to ``application/json`` regardless of whether you are sending data | to ``application/json`` regardless of whether you are sending data | ||||||
| (it's a shortcut for setting the header via the usual header notation: | (it’s a shortcut for setting the header via the usual header notation: | ||||||
| ``http url Accept:'application/json, */*;q=0.5'``). Additionally, | ``http url Accept:'application/json, */*;q=0.5'``). Additionally, | ||||||
| HTTPie will try to detect JSON responses even when the | HTTPie will try to detect JSON responses even when the | ||||||
| ``Content-Type`` is incorrectly ``text/plain`` or unknown. | ``Content-Type`` is incorrectly ``text/plain`` or unknown. | ||||||
| @@ -548,17 +557,20 @@ HTTPie will try to detect JSON responses even when the | |||||||
| Non-string JSON fields | Non-string JSON fields | ||||||
| ---------------------- | ---------------------- | ||||||
|  |  | ||||||
| Non-string fields use the ``:=`` separator, which allows you to embed raw JSON | Non-string JSON fields use the ``:=`` separator, which allows you to embed arbitrary JSON data | ||||||
| into the resulting object. Text and raw JSON files can also be embedded into | into the resulting JSON object. Additionally, text and raw JSON files can also be embedded into | ||||||
| fields using ``=@`` and ``:=@``: | fields using ``=@`` and ``:=@``: | ||||||
|  |  | ||||||
| .. code-block:: bash | .. code-block:: bash | ||||||
|  |  | ||||||
|     $ http PUT httpbin.org/put \ |     $ http PUT httpbin.org/put \ | ||||||
|         name=John \ |         name=John \                        # String (default) | ||||||
|         age:=29 married:=false hobbies:='["http", "pies"]' \  # Raw JSON |         age:=29 \                          # Raw JSON — Number | ||||||
|         description=@about-john.txt \   # Embed text file |         married:=false \                   # Raw JSON — Boolean | ||||||
|         bookmarks:=@bookmarks.json      # Embed JSON file |         hobbies:='["http", "pies"]' \      # Raw JSON — Array | ||||||
|  |         favorite:='{"tool": "HTTPie"}' \   # Raw JSON — Object | ||||||
|  |         bookmarks:=@files/data.json \      # Embed JSON file | ||||||
|  |         description=@files/text.txt        # Embed text file | ||||||
|  |  | ||||||
|  |  | ||||||
| .. code-block:: http | .. code-block:: http | ||||||
| @@ -577,19 +589,33 @@ fields using ``=@`` and ``:=@``: | |||||||
|         "description": "John is a nice guy who likes pies.", |         "description": "John is a nice guy who likes pies.", | ||||||
|         "married": false, |         "married": false, | ||||||
|         "name": "John", |         "name": "John", | ||||||
|  |         "favorite": { | ||||||
|  |             "tool": "HTTPie" | ||||||
|  |         }, | ||||||
|         "bookmarks": { |         "bookmarks": { | ||||||
|             "HTTPie": "https://httpie.org", |             "HTTPie": "https://httpie.org", | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |  | ||||||
| Please note that with this syntax the command gets unwieldy when sending | Raw and complex JSON | ||||||
| complex data. In that case it's always better to use `redirected input`_: | -------------------- | ||||||
|  |  | ||||||
|  | Please note that with the `request items`_ data field syntax, commands | ||||||
|  | can quickly become unwieldy when sending complex structures. | ||||||
|  | In such cases, it’s better to pass the full raw JSON data via | ||||||
|  | `redirected input`_, for example: | ||||||
|  |  | ||||||
|  | .. code-block:: bash | ||||||
|  |  | ||||||
|  |     $ echo '{"hello": "world"}' | http POST httpbin.org/post | ||||||
|  |  | ||||||
| .. code-block:: bash | .. code-block:: bash | ||||||
|  |  | ||||||
|     $ http POST httpbin.org/post < files/data.json |     $ http POST httpbin.org/post < files/data.json | ||||||
|  |  | ||||||
|  | Furthermore, this syntax only allows you to send an object as the JSON document, but not an array, etc. | ||||||
|  | Here, again, the solution is to use `redirected input`_. | ||||||
|  |  | ||||||
| Forms | Forms | ||||||
| ===== | ===== | ||||||
| @@ -805,7 +831,7 @@ Send multiple cookies | |||||||
|     User-Agent: HTTPie/0.9.9 |     User-Agent: HTTPie/0.9.9 | ||||||
|  |  | ||||||
|  |  | ||||||
| If you often deal with cookies in your requests, then chances are you'd appreciate | If you often deal with cookies in your requests, then chances are you’d appreciate | ||||||
| the `sessions`_ feature. | the `sessions`_ feature. | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -818,7 +844,7 @@ The currently supported authentication schemes are Basic and Digest | |||||||
| ===================     ====================================================== | ===================     ====================================================== | ||||||
| ``--auth, -a``          Pass a ``username:password`` pair as | ``--auth, -a``          Pass a ``username:password`` pair as | ||||||
|                         the argument. Or, if you only specify a username |                         the argument. Or, if you only specify a username | ||||||
|                         (``-a username``), you'll be prompted for |                         (``-a username``), you’ll be prompted for | ||||||
|                         the password before the request is sent. |                         the password before the request is sent. | ||||||
|                         To send an empty password, pass ``username:``. |                         To send an empty password, pass ``username:``. | ||||||
|                         The ``username:password@hostname`` URL syntax is |                         The ``username:password@hostname`` URL syntax is | ||||||
| @@ -855,7 +881,15 @@ Password prompt | |||||||
|  |  | ||||||
| .. code-block:: bash | .. code-block:: bash | ||||||
|  |  | ||||||
|     $ http -a username example.org |     $ http -a username httpbin.org/basic-auth/username/password | ||||||
|  |  | ||||||
|  |  | ||||||
|  | Empty password | ||||||
|  | -------------- | ||||||
|  |  | ||||||
|  | .. code-block:: bash | ||||||
|  |  | ||||||
|  |     $ http -a username: httpbin.org/headers | ||||||
|  |  | ||||||
|  |  | ||||||
| ``.netrc`` | ``.netrc`` | ||||||
| @@ -893,7 +927,7 @@ Auth plugins | |||||||
|  |  | ||||||
| Additional authentication mechanism can be installed as plugins. | Additional authentication mechanism can be installed as plugins. | ||||||
| They can be found on the `Python Package Index <https://pypi.python.org/pypi?%3Aaction=search&term=httpie&submit=search>`_. | They can be found on the `Python Package Index <https://pypi.python.org/pypi?%3Aaction=search&term=httpie&submit=search>`_. | ||||||
| Here's a few picks: | Here’s a few picks: | ||||||
|  |  | ||||||
| * `httpie-api-auth <https://github.com/pd/httpie-api-auth>`_: ApiAuth | * `httpie-api-auth <https://github.com/pd/httpie-api-auth>`_: ApiAuth | ||||||
| * `httpie-aws-auth <https://github.com/httpie/httpie-aws-auth>`_: AWS / Amazon S3 | * `httpie-aws-auth <https://github.com/httpie/httpie-aws-auth>`_: AWS / Amazon S3 | ||||||
| @@ -954,7 +988,7 @@ To change the default limit of maximum ``30`` redirects, use the | |||||||
|  |  | ||||||
| .. code-block:: bash | .. code-block:: bash | ||||||
|  |  | ||||||
|     $ http --follow --all --max-redirects=5 httpbin.org/redirect/3 |     $ http --follow --all --max-redirects=2 httpbin.org/redirect/3 | ||||||
|  |  | ||||||
|  |  | ||||||
| Proxies | Proxies | ||||||
| @@ -996,7 +1030,7 @@ SOCKS | |||||||
| ----- | ----- | ||||||
|  |  | ||||||
| Homebrew-installed HTTPie comes with SOCKS proxy support out of the box. | Homebrew-installed HTTPie comes with SOCKS proxy support out of the box. | ||||||
| To enable SOCKS proxy support for non-Homebrew  installations, you'll | To enable SOCKS proxy support for non-Homebrew  installations, you’ll | ||||||
| might need to install ``requests[socks]`` manually using ``pip``: | might need to install ``requests[socks]`` manually using ``pip``: | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -1018,7 +1052,7 @@ HTTPS | |||||||
| Server SSL certificate verification | Server SSL certificate verification | ||||||
| ----------------------------------- | ----------------------------------- | ||||||
|  |  | ||||||
| To skip the host's SSL certificate verification, you can pass ``--verify=no`` | To skip the host’s SSL certificate verification, you can pass ``--verify=no`` | ||||||
| (default is ``yes``): | (default is ``yes``): | ||||||
|  |  | ||||||
| .. code-block:: bash | .. code-block:: bash | ||||||
| @@ -1154,7 +1188,7 @@ authentication is used (``--auth=digest``), etc. | |||||||
|  |  | ||||||
|  |  | ||||||
| The intermediary requests/response are by default formatted according to | The intermediary requests/response are by default formatted according to | ||||||
| ``--print, -p`` (and its shortcuts described above). If you'd like to change | ``--print, -p`` (and its shortcuts described above). If you’d like to change | ||||||
| that, use the ``--history-print, -P`` option. It takes the same | that, use the ``--history-print, -P`` option. It takes the same | ||||||
| arguments as ``--print, -p`` but applies to the intermediary requests only. | arguments as ``--print, -p`` but applies to the intermediary requests only. | ||||||
|  |  | ||||||
| @@ -1169,10 +1203,10 @@ Conditional body download | |||||||
| ------------------------- | ------------------------- | ||||||
|  |  | ||||||
| As an optimization, the response body is downloaded from the server | As an optimization, the response body is downloaded from the server | ||||||
| only if it's part of the output. This is similar to performing a ``HEAD`` | only if it’s part of the output. This is similar to performing a ``HEAD`` | ||||||
| request, except that it applies to any HTTP method you use. | request, except that it applies to any HTTP method you use. | ||||||
|  |  | ||||||
| Let's say that there is an API that returns the whole resource when it is | Let’s say that there is an API that returns the whole resource when it is | ||||||
| updated, but you are only interested in the response headers to see the | updated, but you are only interested in the response headers to see the | ||||||
| status code after an update: | status code after an update: | ||||||
|  |  | ||||||
| @@ -1183,8 +1217,8 @@ status code after an update: | |||||||
|  |  | ||||||
| Since we are only printing the HTTP headers here, the connection to the server | Since we are only printing the HTTP headers here, the connection to the server | ||||||
| is closed as soon as all the response headers have been received. | is closed as soon as all the response headers have been received. | ||||||
| Therefore, bandwidth and time isn't wasted downloading the body | Therefore, bandwidth and time isn’t wasted downloading the body | ||||||
| which you don't care about. The response headers are downloaded always, | which you don’t care about. The response headers are downloaded always, | ||||||
| even if they are not part of the output | even if they are not part of the output | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -1296,8 +1330,16 @@ Colors and formatting | |||||||
|  |  | ||||||
| Syntax highlighting is applied to HTTP headers and bodies (where it makes | Syntax highlighting is applied to HTTP headers and bodies (where it makes | ||||||
| sense). You can choose your preferred color scheme via the ``--style`` option | sense). You can choose your preferred color scheme via the ``--style`` option | ||||||
| if you don't like the default one (see ``$ http --help`` for the possible | if you don’t like the default one. There dozens of styles available, here are just a few special or notable ones: | ||||||
| values). |  | ||||||
|  | ====================   ======================================================================== | ||||||
|  | ``auto``               Follows your terminal ANSI color styles. This is the default style used by HTTPie. | ||||||
|  | ``default``            Default styles of the underlying Pygments library. Not actually used by default by HTTPie. | ||||||
|  |                        You can enable it with ``--style=default`` | ||||||
|  | ``monokai``            A popular color scheme. Enable with ``--style=monokai``. | ||||||
|  | ``fruity``             A bold, colorful scheme. Enable with ``--style=fruity``. | ||||||
|  | …                      See ``$ http --help`` for all the possible ``--style`` values. | ||||||
|  | ====================   ======================================================================== | ||||||
|  |  | ||||||
| Also, the following formatting is applied: | Also, the following formatting is applied: | ||||||
|  |  | ||||||
| @@ -1347,11 +1389,11 @@ Redirected output | |||||||
| HTTPie uses a different set of defaults for redirected output than for | HTTPie uses a different set of defaults for redirected output than for | ||||||
| `terminal output`_. The differences being: | `terminal output`_. The differences being: | ||||||
|  |  | ||||||
| * Formatting and colors aren't applied (unless ``--pretty`` is specified). | * Formatting and colors aren’t applied (unless ``--pretty`` is specified). | ||||||
| * Only the response body is printed (unless one of the `output options`_ is set). | * Only the response body is printed (unless one of the `output options`_ is set). | ||||||
| * Also, binary data isn't suppressed. | * Also, binary data isn’t suppressed. | ||||||
|  |  | ||||||
| The reason is to make piping HTTPie's output to another programs and | The reason is to make piping HTTPie’s output to another programs and | ||||||
| downloading files work with no extra flags. Most of the time, only the raw | downloading files work with no extra flags. Most of the time, only the raw | ||||||
| response body is of an interest when the output is redirected. | response body is of an interest when the output is redirected. | ||||||
|  |  | ||||||
| @@ -1453,7 +1495,7 @@ Resuming downloads | |||||||
|  |  | ||||||
| If ``--output, -o`` is specified, you can resume a partial download using the | If ``--output, -o`` is specified, you can resume a partial download using the | ||||||
| ``--continue, -c`` option. This only works with servers that support | ``--continue, -c`` option. This only works with servers that support | ||||||
| ``Range`` requests and ``206 Partial Content`` responses. If the server doesn't | ``Range`` requests and ``206 Partial Content`` responses. If the server doesn’t | ||||||
| support that, the whole file will simply be downloaded: | support that, the whole file will simply be downloaded: | ||||||
|  |  | ||||||
| .. code-block:: bash | .. code-block:: bash | ||||||
| @@ -1468,7 +1510,7 @@ Other notes | |||||||
| * ``--download`` always implies ``--follow`` (redirects are followed). | * ``--download`` always implies ``--follow`` (redirects are followed). | ||||||
| * ``--download`` also implies ``--check-status`` | * ``--download`` also implies ``--check-status`` | ||||||
|   (error HTTP status will result in a non-zero exist static code). |   (error HTTP status will result in a non-zero exist static code). | ||||||
| * HTTPie exits with status code ``1`` (error) if the body hasn't been fully | * HTTPie exits with status code ``1`` (error) if the body hasn’t been fully | ||||||
|   downloaded. |   downloaded. | ||||||
| * ``Accept-Encoding`` cannot be set with ``--download``. | * ``Accept-Encoding`` cannot be set with ``--download``. | ||||||
|  |  | ||||||
| @@ -1541,7 +1583,6 @@ to the same host. | |||||||
|     # Inspect / edit the generated session file: |     # Inspect / edit the generated session file: | ||||||
|     $ cat session.json |     $ cat session.json | ||||||
|  |  | ||||||
|  |  | ||||||
| .. code-block:: bash | .. code-block:: bash | ||||||
|  |  | ||||||
|     # Re-use the existing session — the API-Token header will be set: |     # Re-use the existing session — the API-Token header will be set: | ||||||
| @@ -1747,7 +1788,7 @@ What happens is that when HTTPie is invoked for example from a cron job, | |||||||
| ``stdin`` is not connected to a terminal. | ``stdin`` is not connected to a terminal. | ||||||
| Therefore, rules for `redirected input`_ apply, i.e., HTTPie starts to read it | Therefore, rules for `redirected input`_ apply, i.e., HTTPie starts to read it | ||||||
| expecting that the request body will be passed through. | expecting that the request body will be passed through. | ||||||
| And since there's no data nor ``EOF``, it will be stuck. So unless you're | And since there’s no data nor ``EOF``, it will be stuck. So unless you’re | ||||||
| piping some data to HTTPie, this flag should be used in scripts. | piping some data to HTTPie, this flag should be used in scripts. | ||||||
|  |  | ||||||
| Also, it might be good to set a connection ``--timeout`` limit to prevent | Also, it might be good to set a connection ``--timeout`` limit to prevent | ||||||
| @@ -1762,7 +1803,7 @@ Interface design | |||||||
| ---------------- | ---------------- | ||||||
|  |  | ||||||
| The syntax of the command arguments closely corresponds to the actual HTTP | The syntax of the command arguments closely corresponds to the actual HTTP | ||||||
| requests sent over the wire. It has the advantage  that it's easy to remember | requests sent over the wire. It has the advantage  that it’s easy to remember | ||||||
| and read. It is often possible to translate an HTTP request to an HTTPie | and read. It is often possible to translate an HTTP request to an HTTPie | ||||||
| argument list just by inlining the request elements. For example, compare this | argument list just by inlining the request elements. For example, compare this | ||||||
| HTTP request: | HTTP request: | ||||||
| @@ -1791,7 +1832,7 @@ with the HTTPie command that sends it: | |||||||
|  |  | ||||||
| Notice that both the order of elements and the syntax is very similar, | Notice that both the order of elements and the syntax is very similar, | ||||||
| and that only a small portion of the command is used to control HTTPie and | and that only a small portion of the command is used to control HTTPie and | ||||||
| doesn't directly correspond to any part of the request (here it's only ``-f`` | doesn’t directly correspond to any part of the request (here it’s only ``-f`` | ||||||
| asking HTTPie to send a form request). | asking HTTPie to send a form request). | ||||||
|  |  | ||||||
| The two modes, ``--pretty=all`` (default for terminal) and ``--pretty=none`` | The two modes, ``--pretty=all`` (default for terminal) and ``--pretty=none`` | ||||||
|   | |||||||
| @@ -3,6 +3,6 @@ HTTPie - a CLI, cURL-like tool for humans. | |||||||
|  |  | ||||||
| """ | """ | ||||||
|  |  | ||||||
| __version__ = '2.1.0-dev' | __version__ = '2.1.0' | ||||||
| __author__ = 'Jakub Roztocil' | __author__ = 'Jakub Roztocil' | ||||||
| __licence__ = 'BSD' | __licence__ = 'BSD' | ||||||
|   | |||||||
							
								
								
									
										35
									
								
								setup.py
									
									
									
									
									
								
							
							
						
						
									
										35
									
								
								setup.py
									
									
									
									
									
								
							| @@ -10,8 +10,11 @@ import httpie | |||||||
|  |  | ||||||
|  |  | ||||||
| class PyTest(TestCommand): | class PyTest(TestCommand): | ||||||
|     # `$ python setup.py test' simply installs minimal requirements |     """ | ||||||
|     # and runs the tests with no fancy stuff like parallel execution. |     Running `$ python setup.py test' simply installs minimal requirements | ||||||
|  |     and runs the tests with no fancy stuff like parallel execution. | ||||||
|  |  | ||||||
|  |     """ | ||||||
|     def finalize_options(self): |     def finalize_options(self): | ||||||
|         TestCommand.finalize_options(self) |         TestCommand.finalize_options(self) | ||||||
|         self.test_args = [ |         self.test_args = [ | ||||||
| @@ -26,8 +29,6 @@ class PyTest(TestCommand): | |||||||
|  |  | ||||||
|  |  | ||||||
| tests_require = [ | tests_require = [ | ||||||
|     # Pytest needs to come last. |  | ||||||
|     # https://bitbucket.org/pypa/setuptools/issue/196/ |  | ||||||
|     'pytest-httpbin', |     'pytest-httpbin', | ||||||
|     'pytest', |     'pytest', | ||||||
|     'mock', |     'mock', | ||||||
| @@ -38,28 +39,24 @@ install_requires = [ | |||||||
|     'requests>=2.22.0', |     'requests>=2.22.0', | ||||||
|     'Pygments>=2.5.2', |     'Pygments>=2.5.2', | ||||||
| ] | ] | ||||||
|  | install_requires_win_only = [ | ||||||
|  |     'colorama>=0.2.4', | ||||||
|  | ] | ||||||
|  |  | ||||||
| # Conditional dependencies: | # Conditional dependencies: | ||||||
|  |  | ||||||
| # sdist | # sdist | ||||||
| if 'bdist_wheel' not in sys.argv: | if 'bdist_wheel' not in sys.argv: | ||||||
|     try: |  | ||||||
|         # noinspection PyUnresolvedReferences |  | ||||||
|         import argparse |  | ||||||
|     except ImportError: |  | ||||||
|         install_requires.append('argparse>=1.2.1') |  | ||||||
|  |  | ||||||
|     if 'win32' in str(sys.platform).lower(): |     if 'win32' in str(sys.platform).lower(): | ||||||
|         # Terminal colors for Windows |         # Terminal colors for Windows | ||||||
|         install_requires.append('colorama>=0.2.4') |         install_requires.extend(install_requires_win_only) | ||||||
|  |  | ||||||
|  |  | ||||||
| # bdist_wheel | # bdist_wheel | ||||||
| extras_require = { | extras_require = { | ||||||
|     # https://wheel.readthedocs.io/en/latest/#defining-conditional-dependencies |     # https://wheel.readthedocs.io/en/latest/#defining-conditional-dependencies | ||||||
|     'python_version == "3.0" or python_version == "3.1"': ['argparse>=1.2.1'], |     ':sys_platform == "win32"': install_requires_win_only, | ||||||
|     ':sys_platform == "win32"': ['colorama>=0.2.4'], |  | ||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -74,7 +71,7 @@ setup( | |||||||
|     description=httpie.__doc__.strip(), |     description=httpie.__doc__.strip(), | ||||||
|     long_description=long_description(), |     long_description=long_description(), | ||||||
|     url='https://httpie.org/', |     url='https://httpie.org/', | ||||||
|     download_url='https://github.com/jakubroztocil/httpie', |     download_url=f'https://github.com/jakubroztocil/httpie/archive/{httpie.__version__}.tar.gz', | ||||||
|     author=httpie.__author__, |     author=httpie.__author__, | ||||||
|     author_email='jakub@roztocil.co', |     author_email='jakub@roztocil.co', | ||||||
|     license=httpie.__licence__, |     license=httpie.__licence__, | ||||||
| @@ -85,6 +82,7 @@ setup( | |||||||
|             'https = httpie.__main__:main', |             'https = httpie.__main__:main', | ||||||
|         ], |         ], | ||||||
|     }, |     }, | ||||||
|  |     python_requires='>=3.6', | ||||||
|     extras_require=extras_require, |     extras_require=extras_require, | ||||||
|     install_requires=install_requires, |     install_requires=install_requires, | ||||||
|     tests_require=tests_require, |     tests_require=tests_require, | ||||||
| @@ -93,8 +91,6 @@ setup( | |||||||
|         'Development Status :: 5 - Production/Stable', |         'Development Status :: 5 - Production/Stable', | ||||||
|         'Programming Language :: Python', |         'Programming Language :: Python', | ||||||
|         'Programming Language :: Python :: 3 :: Only', |         'Programming Language :: Python :: 3 :: Only', | ||||||
|         'Programming Language :: Python :: 3.6', |  | ||||||
|         'Programming Language :: Python :: 3.7', |  | ||||||
|         'Environment :: Console', |         'Environment :: Console', | ||||||
|         'Intended Audience :: Developers', |         'Intended Audience :: Developers', | ||||||
|         'Intended Audience :: System Administrators', |         'Intended Audience :: System Administrators', | ||||||
| @@ -106,4 +102,11 @@ setup( | |||||||
|         'Topic :: Text Processing', |         'Topic :: Text Processing', | ||||||
|         'Topic :: Utilities' |         'Topic :: Utilities' | ||||||
|     ], |     ], | ||||||
|  |     project_urls={ | ||||||
|  |         'Documentation': 'https://httpie.org/docs', | ||||||
|  |         'Source': 'https://github.com/jakubroztocil/httpie', | ||||||
|  |         'Online Demo': 'https://httpie.org/run', | ||||||
|  |         'Donate': 'https://httpie.org/donate', | ||||||
|  |         'Twitter': 'https://twitter.com/clihttp', | ||||||
|  |     }, | ||||||
| ) | ) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user