Requests: HTTP for Humans¶
Requests is the only Non-GMO HTTP library for Python, safe for human consumption.
Warning: Recreational use of the Python standard library for HTTP may result in dangerous side-effects, including: security vulnerabilities, verbose code, reinventing the wheel, constantly reading documentation, depression, headaches, or even death.
Behold, the power of Requests:
>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
>>> r.status_code
200
>>> r.headers['content-type']
'application/json; charset=utf8'
>>> r.encoding
'utf-8'
>>> r.text
u'{"type":"User"...'
>>> r.json()
{u'disk_usage': 368627, u'private_gists': 484, ...}
See the similar code, sans Requests.
Requests allows you to send organic, grass-fed HTTP/1.1 requests, without the need for manual labor. There’s no need to manually add query strings to your URLs, or to form-encode your POST data. Keep-alive and HTTP connection pooling are 100% automatic, thanks to urllib3.
Besides, all the cool kids are doing it. Requests is one of the most downloaded Python packages of all time, pulling in over 11,000,000 downloads every month. You don’t want to be left out!
Feature Support¶
Requests is ready for today’s web.
- International Domains and URLs
- Keep-Alive & Connection Pooling
- Sessions with Cookie Persistence
- Browser-style SSL Verification
- Basic/Digest Authentication
- Elegant Key/Value Cookies
- Automatic Decompression
- Automatic Content Decoding
- Unicode Response Bodies
- Multipart File Uploads
- HTTP(S) Proxy Support
- Connection Timeouts
- Streaming Downloads
.netrc
Support- Chunked Requests
Requests officially supports Python 2.6–2.7 & 3.3–3.7, and runs great on PyPy.
Documentation¶
Fantastic documentation is available at http://docs.python-requests.org/, for a limited time only.
How to Contribute¶
- Check for open issues or open a fresh issue to start a discussion around a feature idea or a bug. There is a Contributor Friendly tag for issues that should be ideal for people who are not very familiar with the codebase yet.
- Fork the repository on GitHub to start making your changes to the master branch (or branch off of it).
- Write a test which shows that the bug was fixed or that the feature works as expected.
- Send a pull request and bug the maintainer until it gets merged and published. :) Make sure to add yourself to AUTHORS.
Release History¶
2.18.4 (2017-08-15)¶
Improvements
- Error messages for invalid headers now include the header name for easier debugging
Dependencies
- We now support idna v2.6.
2.18.3 (2017-08-02)¶
Improvements
- Running
$ python -m requests.help
now includes the installed version of idna.
Bugfixes
- Fixed issue where Requests would raise
ConnectionError
instead ofSSLError
when encountering SSL problems when using urllib3 v1.22.
2.18.2 (2017-07-25)¶
Bugfixes
requests.help
no longer fails on Python 2.6 due to the absence ofssl.OPENSSL_VERSION_NUMBER
.
Dependencies
- We now support urllib3 v1.22.
2.18.1 (2017-06-14)¶
Bugfixes
- Fix an error in the packaging whereby the *.whl contained incorrect data that regressed the fix in v2.17.3.
2.18.0 (2017-06-14)¶
Improvements
Response
is now a context manager, so can be used directly in awith
statement without first having to be wrapped bycontextlib.closing()
.
Bugfixes
- Resolve installation failure if multiprocessing is not available
- Resolve tests crash if multiprocessing is not able to determine the number of CPU cores
- Resolve error swallowing in utils set_environ generator
2.17.3 (2017-05-29)¶
Improvements
- Improved
packages
namespace identity support, for monkeypatching libraries.
2.17.2 (2017-05-29)¶
Improvements
- Improved
packages
namespace identity support, for monkeypatching libraries.
2.17.1 (2017-05-29)¶
Improvements
- Improved
packages
namespace identity support, for monkeypatching libraries.
2.16.5 (2017-05-28)¶
- Improvements to
$ python -m requests.help
.
2.16.4 (2017-05-27)¶
- Introduction of the
$ python -m requests.help
command, for debugging with maintainers!
2.16.3 (2017-05-27)¶
- Further restored the
requests.packages
namespace for compatibility reasons.
2.16.2 (2017-05-27)¶
- Further restored the
requests.packages
namespace for compatibility reasons.
No code modification (noted below) should be neccessary any longer.
2.16.1 (2017-05-27)¶
- Restored the
requests.packages
namespace for compatibility reasons. - Bugfix for
urllib3
version parsing.
Note: code that was written to import against the requests.packages
namespace previously will have to import code that rests at this module-level
now.
For example:
from requests.packages.urllib3.poolmanager import PoolManager
Will need to be re-written to be:
from requests.packages import urllib3
urllib3.poolmanager.PoolManager
Or, even better:
from urllib3.poolmanager import PoolManager
2.16.0 (2017-05-26)¶
- Unvendor ALL the things!
2.15.1 (2017-05-26)¶
- Everyone makes mistakes.
2.15.0 (2017-05-26)¶
Improvements
- Introduction of the
Response.next
property, for getting the nextPreparedResponse
from a redirect chain (whenallow_redirects=False
). - Internal refactoring of
__version__
module.
Bugfixes
- Restored once-optional parameter for
requests.utils.get_environ_proxies()
.
2.14.2 (2017-05-10)¶
Bugfixes
- Changed a less-than to an equal-to and an or in the dependency markers to widen compatibility with older setuptools releases.
2.14.1 (2017-05-09)¶
Bugfixes
- Changed the dependency markers to widen compatibility with older pip releases.
2.14.0 (2017-05-09)¶
Improvements
- It is now possible to pass
no_proxy
as a key to theproxies
dictionary to provide handling similar to theNO_PROXY
environment variable. - When users provide invalid paths to certificate bundle files or directories
Requests now raises
IOError
, rather than failing at the time of the HTTPS request with a fairly inscrutable certificate validation error. - The behavior of
SessionRedirectMixin
was slightly altered.resolve_redirects
will now detect a redirect by callingget_redirect_target(response)
instead of directly queryingResponse.is_redirect
andResponse.headers['location']
. Advanced users will be able to process malformed redirects more easily. - Changed the internal calculation of elapsed request time to have higher resolution on Windows.
- Added
win_inet_pton
as conditional dependency for the[socks]
extra on Windows with Python 2.7. - Changed the proxy bypass implementation on Windows: the proxy bypass check doesn’t use forward and reverse DNS requests anymore
- URLs with schemes that begin with
http
but are nothttp
orhttps
no longer have their host parts forced to lowercase.
Bugfixes
- Much improved handling of non-ASCII
Location
header values in redirects. FewerUnicodeDecodeErrors
are encountered on Python 2, and Python 3 now correctly understands that Latin-1 is unlikely to be the correct encoding. - If an attempt to
seek
file to find out its length fails, we now appropriately handle that by aborting our content-length calculations. - Restricted
HTTPDigestAuth
to only respond to auth challenges made on 4XX responses, rather than to all auth challenges. - Fixed some code that was firing
DeprecationWarning
on Python 3.6. - The dismayed person emoticon (
/o\\
) no longer has a big head. I’m sure this is what you were all worrying about most.
Miscellaneous
- Updated bundled urllib3 to v1.21.1.
- Updated bundled chardet to v3.0.2.
- Updated bundled idna to v2.5.
- Updated bundled certifi to 2017.4.17.
2.13.0 (2017-01-24)¶
Features
- Only load the
idna
library when we’ve determined we need it. This will save some memory for users.
Miscellaneous
- Updated bundled urllib3 to 1.20.
- Updated bundled idna to 2.2.
2.12.5 (2017-01-18)¶
Bugfixes
- Fixed an issue with JSON encoding detection, specifically detecting big-endian UTF-32 with BOM.
2.12.4 (2016-12-14)¶
Bugfixes
- Fixed regression from 2.12.2 where non-string types were rejected in the basic auth parameters. While support for this behaviour has been readded, the behaviour is deprecated and will be removed in the future.
2.12.3 (2016-12-01)¶
Bugfixes
- Fixed regression from v2.12.1 for URLs with schemes that begin with “http”. These URLs have historically been processed as though they were HTTP-schemed URLs, and so have had parameters added. This was removed in v2.12.2 in an overzealous attempt to resolve problems with IDNA-encoding those URLs. This change was reverted: the other fixes for IDNA-encoding have been judged to be sufficient to return to the behaviour Requests had before v2.12.0.
2.12.2 (2016-11-30)¶
Bugfixes
- Fixed several issues with IDNA-encoding URLs that are technically invalid but which are widely accepted. Requests will now attempt to IDNA-encode a URL if it can but, if it fails, and the host contains only ASCII characters, it will be passed through optimistically. This will allow users to opt-in to using IDNA2003 themselves if they want to, and will also allow technically invalid but still common hostnames.
- Fixed an issue where URLs with leading whitespace would raise
InvalidSchema
errors. - Fixed an issue where some URLs without the HTTP or HTTPS schemes would still have HTTP URL preparation applied to them.
- Fixed an issue where Unicode strings could not be used in basic auth.
- Fixed an issue encountered by some Requests plugins where constructing a
Response object would cause
Response.content
to raise anAttributeError
.
2.12.1 (2016-11-16)¶
Bugfixes
- Updated setuptools ‘security’ extra for the new PyOpenSSL backend in urllib3.
Miscellaneous
- Updated bundled urllib3 to 1.19.1.
2.12.0 (2016-11-15)¶
Improvements
- Updated support for internationalized domain names from IDNA2003 to IDNA2008. This updated support is required for several forms of IDNs and is mandatory for .de domains.
- Much improved heuristics for guessing content lengths: Requests will no
longer read an entire
StringIO
into memory. - Much improved logic for recalculating
Content-Length
headers forPreparedRequest
objects. - Improved tolerance for file-like objects that have no
tell
method but do have aseek
method. - Anything that is a subclass of
Mapping
is now treated like a dictionary by thedata=
keyword argument. - Requests now tolerates empty passwords in proxy credentials, rather than stripping the credentials.
- If a request is made with a file-like object as the body and that request is redirected with a 307 or 308 status code, Requests will now attempt to rewind the body object so it can be replayed.
Bugfixes
- When calling
response.close
, the call toclose
will be propagated through to non-urllib3 backends. - Fixed issue where the
ALL_PROXY
environment variable would be preferred over scheme-specific variables likeHTTP_PROXY
. - Fixed issue where non-UTF8 reason phrases got severely mangled by falling back to decoding using ISO 8859-1 instead.
- Fixed a bug where Requests would not correctly correlate cookies set when using custom Host headers if those Host headers did not use the native string type for the platform.
Miscellaneous
- Updated bundled urllib3 to 1.19.
- Updated bundled certifi certs to 2016.09.26.
2.11.1 (2016-08-17)¶
Bugfixes
- Fixed a bug when using
iter_content
withdecode_unicode=True
for streamed bodies would raiseAttributeError
. This bug was introduced in 2.11. - Strip Content-Type and Transfer-Encoding headers from the header block when following a redirect that transforms the verb from POST/PUT to GET.
2.11.0 (2016-08-08)¶
Improvements
- Added support for the
ALL_PROXY
environment variable. - Reject header values that contain leading whitespace or newline characters to reduce risk of header smuggling.
Bugfixes
- Fixed occasional
TypeError
when attempting to decode a JSON response that occurred in an error case. Now correctly returns aValueError
. - Requests would incorrectly ignore a non-CIDR IP address in the
NO_PROXY
environment variables: Requests now treats it as a specific IP. - Fixed a bug when sending JSON data that could cause us to encounter obscure OpenSSL errors in certain network conditions (yes, really).
- Added type checks to ensure that
iter_content
only accepts integers andNone
for chunk sizes. - Fixed issue where responses whose body had not been fully consumed would have
the underlying connection closed but not returned to the connection pool,
which could cause Requests to hang in situations where the
HTTPAdapter
had been configured to use a blocking connection pool.
Miscellaneous
- Updated bundled urllib3 to 1.16.
- Some previous releases accidentally accepted non-strings as acceptable header values. This release does not.
2.10.0 (2016-04-29)¶
New Features
- SOCKS Proxy Support! (requires PySocks;
$ pip install requests[socks]
)
Miscellaneous
- Updated bundled urllib3 to 1.15.1.
2.9.2 (2016-04-29)¶
Improvements
- Change built-in CaseInsensitiveDict (used for headers) to use OrderedDict as its underlying datastore.
Bugfixes
- Don’t use redirect_cache if allow_redirects=False
- When passed objects that throw exceptions from
tell()
, send them via chunked transfer encoding instead of failing. - Raise a ProxyError for proxy related connection issues.
2.9.1 (2015-12-21)¶
Bugfixes
- Resolve regression introduced in 2.9.0 that made it impossible to send binary strings as bodies in Python 3.
- Fixed errors when calculating cookie expiration dates in certain locales.
Miscellaneous
- Updated bundled urllib3 to 1.13.1.
2.9.0 (2015-12-15)¶
Minor Improvements (Backwards compatible)
- The
verify
keyword argument now supports being passed a path to a directory of CA certificates, not just a single-file bundle. - Warnings are now emitted when sending files opened in text mode.
- Added the 511 Network Authentication Required status code to the status code registry.
Bugfixes
- For file-like objects that are not seeked to the very beginning, we now send the content length for the number of bytes we will actually read, rather than the total size of the file, allowing partial file uploads.
- When uploading file-like objects, if they are empty or have no obvious
content length we set
Transfer-Encoding: chunked
rather thanContent-Length: 0
. - We correctly receive the response in buffered mode when uploading chunked bodies.
- We now handle being passed a query string as a bytestring on Python 3, by decoding it as UTF-8.
- Sessions are now closed in all cases (exceptional and not) when using the functional API rather than leaking and waiting for the garbage collector to clean them up.
- Correctly handle digest auth headers with a malformed
qop
directive that contains no token, by treating it the same as if noqop
directive was provided at all. - Minor performance improvements when removing specific cookies by name.
Miscellaneous
- Updated urllib3 to 1.13.
2.8.1 (2015-10-13)¶
Bugfixes
- Update certificate bundle to match
certifi
2<IP_ADDRESS>’s weak certificate bundle. - Fix a bug in 2.8.0 where requests would raise
ConnectTimeout
instead ofConnectionError
- When using the PreparedRequest flow, requests will now correctly respect the
json
parameter. Broken in 2.8.0. - When using the PreparedRequest flow, requests will now correctly handle a Unicode-string method name on Python 2. Broken in 2.8.0.
2.8.0 (2015-10-05)¶
Minor Improvements (Backwards Compatible)
- Requests now supports per-host proxies. This allows the
proxies
dictionary to have entries of the form{'<scheme>://<hostname>': '<proxy>'}
. Host-specific proxies will be used in preference to the previously-supported scheme-specific ones, but the previous syntax will continue to work. Response.raise_for_status
now prints the URL that failed as part of the exception message.requests.utils.get_netrc_auth
now takes anraise_errors
kwarg, defaulting toFalse
. WhenTrue
, errors parsing.netrc
files cause exceptions to be thrown.- Change to bundled projects import logic to make it easier to unbundle requests downstream.
- Changed the default User-Agent string to avoid leaking data on Linux: now contains only the requests version.
Bugfixes
- The
json
parameter topost()
and friends will now only be used if neitherdata
norfiles
are present, consistent with the documentation. - We now ignore empty fields in the
NO_PROXY
environment variable. - Fixed problem where
httplib.BadStatusLine
would get raised if combiningstream=True
withcontextlib.closing
. - Prevented bugs where we would attempt to return the same connection back to the connection pool twice when sending a Chunked body.
- Miscellaneous minor internal changes.
- Digest Auth support is now thread safe.
Updates
- Updated urllib3 to 1.12.
2.7.0 (2015-05-03)¶
This is the first release that follows our new release process. For more, see our documentation.
Bugfixes
- Updated urllib3 to 1.10.4, resolving several bugs involving chunked transfer encoding and response framing.
2.6.2 (2015-04-23)¶
Bugfixes
- Fix regression where compressed data that was sent as chunked data was not properly decompressed. (#2561)
2.6.1 (2015-04-22)¶
Bugfixes
- Remove VendorAlias import machinery introduced in v2.5.2.
- Simplify the PreparedRequest.prepare API: We no longer require the user to pass an empty list to the hooks keyword argument. (c.f. #2552)
- Resolve redirects now receives and forwards all of the original arguments to the adapter. (#2503)
- Handle UnicodeDecodeErrors when trying to deal with a unicode URL that cannot be encoded in ASCII. (#2540)
- Populate the parsed path of the URI field when performing Digest Authentication. (#2426)
- Copy a PreparedRequest’s CookieJar more reliably when it is not an instance of RequestsCookieJar. (#2527)
2.6.0 (2015-03-14)¶
Bugfixes
- CVE-2015-2296: Fix handling of cookies on redirect. Previously a cookie without a host value set would use the hostname for the redirected URL exposing requests users to session fixation attacks and potentially cookie stealing. This was disclosed privately by Matthew Daley of BugFuzz. This affects all versions of requests from v2.1.0 to v2.5.3 (inclusive on both ends).
- Fix error when requests is an
install_requires
dependency andpython setup.py test
is run. (#2462) - Fix error when urllib3 is unbundled and requests continues to use the vendored import location.
- Include fixes to
urllib3
’s header handling. - Requests’ handling of unvendored dependencies is now more restrictive.
Features and Improvements
- Support bytearrays when passed as parameters in the
files
argument. (#2468) - Avoid data duplication when creating a request with
str
,bytes
, orbytearray
input to thefiles
argument.
2.5.3 (2015-02-24)¶
Bugfixes
- Revert changes to our vendored certificate bundle. For more context see (#2455, #2456, and http://bugs.python.org/issue23476)
2.5.2 (2015-02-23)¶
Features and Improvements
- Add sha256 fingerprint support. (shazow/urllib3#540)
- Improve the performance of headers. (shazow/urllib3#544)
Bugfixes
- Copy pip’s import machinery. When downstream redistributors remove requests.packages.urllib3 the import machinery will continue to let those same symbols work. Example usage in requests’ documentation and 3rd-party libraries relying on the vendored copies of urllib3 will work without having to fallback to the system urllib3.
- Attempt to quote parts of the URL on redirect if unquoting and then quoting fails. (#2356)
- Fix filename type check for multipart form-data uploads. (#2411)
- Properly handle the case where a server issuing digest authentication challenges provides both auth and auth-int qop-values. (#2408)
- Fix a socket leak. (shazow/urllib3#549)
- Fix multiple
Set-Cookie
headers properly. (shazow/urllib3#534) - Disable the built-in hostname verification. (shazow/urllib3#526)
- Fix the behaviour of decoding an exhausted stream. (shazow/urllib3#535)
Security
- Pulled in an updated
cacert.pem
. - Drop RC4 from the default cipher list. (shazow/urllib3#551)
2.5.1 (2014-12-23)¶
Behavioural Changes
- Only catch HTTPErrors in raise_for_status (#2382)
Bugfixes
- Handle LocationParseError from urllib3 (#2344)
- Handle file-like object filenames that are not strings (#2379)
- Unbreak HTTPDigestAuth handler. Allow new nonces to be negotiated (#2389)
2.5.0 (2014-12-01)¶
Improvements
- Allow usage of urllib3’s Retry object with HTTPAdapters (#2216)
- The
iter_lines
method on a response now accepts a delimiter with which to split the content (#2295)
Behavioural Changes
- Add deprecation warnings to functions in requests.utils that will be removed in 3.0 (#2309)
- Sessions used by the functional API are always closed (#2326)
- Restrict requests to HTTP/1.1 and HTTP/1.0 (stop accepting HTTP/0.9) (#2323)
Bugfixes
- Only parse the URL once (#2353)
- Allow Content-Length header to always be overridden (#2332)
- Properly handle files in HTTPDigestAuth (#2333)
- Cap redirect_cache size to prevent memory abuse (#2299)
- Fix HTTPDigestAuth handling of redirects after authenticating successfully (#2253)
- Fix crash with custom method parameter to Session.request (#2317)
- Fix how Link headers are parsed using the regular expression library (#2271)
Documentation
- Add more references for interlinking (#2348)
- Update CSS for theme (#2290)
- Update width of buttons and sidebar (#2289)
- Replace references of Gittip with Gratipay (#2282)
- Add link to changelog in sidebar (#2273)
2.4.3 (2014-10-06)¶
Bugfixes
- Unicode URL improvements for Python 2.
- Re-order JSON param for backwards compat.
- Automatically defrag authentication schemes from host/pass URIs. (#2249)
2.4.2 (2014-10-05)¶
Improvements
Bugfixes
- Avoid getting stuck in a loop (#2244)
- Multiple calls to iter* fail with unhelpful error. (#2240, #2241)
Documentation
2.4.1 (2014-09-09)¶
- Now has a “security” package extras set,
$ pip install requests[security]
- Requests will now use Certifi if it is available.
- Capture and re-raise urllib3 ProtocolError
- Bugfix for responses that attempt to redirect to themselves forever (wtf?).
2.4.0 (2014-08-29)¶
Behavioral Changes
Connection: keep-alive
header is now sent automatically.
Improvements
- Support for connect timeouts! Timeout now accepts a tuple (connect, read) which is used to set individual connect and read timeouts.
- Allow copying of PreparedRequests without headers/cookies.
- Updated bundled urllib3 version.
- Refactored settings loading from environment – new Session.merge_environment_settings.
- Handle socket errors in iter_content.
2.3.0 (2014-05-16)¶
API Changes
- New
Response
propertyis_redirect
, which is true when the library could have processed this response as a redirection (whether or not it actually did). - The
timeout
parameter now affects requests with bothstream=True
andstream=False
equally. - The change in v2.0.0 to mandate explicit proxy schemes has been reverted.
Proxy schemes now default to
http://
. - The
CaseInsensitiveDict
used for HTTP headers now behaves like a normal dictionary when references as string or viewed in the interpreter.
Bugfixes
- No longer expose Authorization or Proxy-Authorization headers on redirect. Fix CVE-2014-1829 and CVE-2014-1830 respectively.
- Authorization is re-evaluated each redirect.
- On redirect, pass url as native strings.
- Fall-back to autodetected encoding for JSON when Unicode detection fails.
- Headers set to
None
on theSession
are now correctly not sent. - Correctly honor
decode_unicode
even if it wasn’t used earlier in the same response. - Stop advertising
compress
as a supported Content-Encoding. - The
Response.history
parameter is now always a list. - Many, many
urllib3
bugfixes.
2.2.1 (2014-01-23)¶
Bugfixes
- Fixes incorrect parsing of proxy credentials that contain a literal or encoded ‘#’ character.
- Assorted urllib3 fixes.
2.2.0 (2014-01-09)¶
API Changes
- New exception:
ContentDecodingError
. Raised instead ofurllib3
DecodeError
exceptions.
Bugfixes
- Avoid many many exceptions from the buggy implementation of
proxy_bypass
on OS X in Python 2.6. - Avoid crashing when attempting to get authentication credentials from ~/.netrc when running as a user without a home directory.
- Use the correct pool size for pools of connections to proxies.
- Fix iteration of
CookieJar
objects. - Ensure that cookies are persisted over redirect.
- Switch back to using chardet, since it has merged with charade.
2.1.0 (2013-12-05)¶
- Updated CA Bundle, of course.
- Cookies set on individual Requests through a
Session
(e.g. viaSession.get()
) are no longer persisted to theSession
. - Clean up connections when we hit problems during chunked upload, rather than leaking them.
- Return connections to the pool when a chunked upload is successful, rather than leaking it.
- Match the HTTPbis recommendation for HTTP 301 redirects.
- Prevent hanging when using streaming uploads and Digest Auth when a 401 is received.
- Values of headers set by Requests are now always the native string type.
- Fix previously broken SNI support.
- Fix accessing HTTP proxies using proxy authentication.
- Unencode HTTP Basic usernames and passwords extracted from URLs.
- Support for IP address ranges for no_proxy environment variable
- Parse headers correctly when users override the default
Host:
header. - Avoid munging the URL in case of case-sensitive servers.
- Looser URL handling for non-HTTP/HTTPS urls.
- Accept unicode methods in Python 2.6 and 2.7.
- More resilient cookie handling.
- Make
Response
objects pickleable. - Actually added MD5-sess to Digest Auth instead of pretending to like last time.
- Updated internal urllib3.
- Fixed @Lukasa’s lack of taste.
2.0.1 (2013-10-24)¶
- Updated included CA Bundle with new mistrusts and automated process for the future
- Added MD5-sess to Digest Auth
- Accept per-file headers in multipart file POST messages.
- Fixed: Don’t send the full URL on CONNECT messages.
- Fixed: Correctly lowercase a redirect scheme.
- Fixed: Cookies not persisted when set via functional API.
- Fixed: Translate urllib3 ProxyError into a requests ProxyError derived from ConnectionError.
- Updated internal urllib3 and chardet.
2.0.0 (2013-09-24)¶
API Changes:
- Keys in the Headers dictionary are now native strings on all Python versions, i.e. bytestrings on Python 2, unicode on Python 3.
- Proxy URLs now must have an explicit scheme. A
MissingSchema
exception will be raised if they don’t. - Timeouts now apply to read time if
Stream=False
. RequestException
is now a subclass ofIOError
, notRuntimeError
.- Added new method to
PreparedRequest
objects:PreparedRequest.copy()
. - Added new method to
Session
objects:Session.update_request()
. This method updates aRequest
object with the data (e.g. cookies) stored on theSession
. - Added new method to
Session
objects:Session.prepare_request()
. This method updates and prepares aRequest
object, and returns the correspondingPreparedRequest
object. - Added new method to
HTTPAdapter
objects:HTTPAdapter.proxy_headers()
. This should not be called directly, but improves the subclass interface. httplib.IncompleteRead
exceptions caused by incorrect chunked encoding will now raise a RequestsChunkedEncodingError
instead.- Invalid percent-escape sequences now cause a Requests
InvalidURL
exception to be raised. - HTTP 208 no longer uses reason phrase
"im_used"
. Correctly uses"already_reported"
. - HTTP 226 reason added (
"im_used"
).
Bugfixes:
- Vastly improved proxy support, including the CONNECT verb. Special thanks to the many contributors who worked towards this improvement.
- Cookies are now properly managed when 401 authentication responses are received.
- Chunked encoding fixes.
- Support for mixed case schemes.
- Better handling of streaming downloads.
- Retrieve environment proxies from more locations.
- Minor cookies fixes.
- Improved redirect behaviour.
- Improved streaming behaviour, particularly for compressed data.
- Miscellaneous small Python 3 text encoding bugs.
.netrc
no longer overrides explicit auth.- Cookies set by hooks are now correctly persisted on Sessions.
- Fix problem with cookies that specify port numbers in their host field.
BytesIO
can be used to perform streaming uploads.- More generous parsing of the
no_proxy
environment variable. - Non-string objects can be passed in data values alongside files.
1.2.3 (2013-05-25)¶
- Simple packaging fix
1.2.2 (2013-05-23)¶
- Simple packaging fix
1.2.1 (2013-05-20)¶
- 301 and 302 redirects now change the verb to GET for all verbs, not just POST, improving browser compatibility.
- Python 3.3.2 compatibility
- Always percent-encode location headers
- Fix connection adapter matching to be most-specific first
- new argument to the default connection adapter for passing a block argument
- prevent a KeyError when there’s no link headers
1.2.0 (2013-03-31)¶
- Fixed cookies on sessions and on requests
- Significantly change how hooks are dispatched - hooks now receive all the arguments specified by the user when making a request so hooks can make a secondary request with the same parameters. This is especially necessary for authentication handler authors
- certifi support was removed
- Fixed bug where using OAuth 1 with body
signature_type
sent no data - Major proxy work thanks to @Lukasa including parsing of proxy authentication from the proxy url
- Fix DigestAuth handling too many 401s
- Update vendored urllib3 to include SSL bug fixes
- Allow keyword arguments to be passed to
json.loads()
via theResponse.json()
method - Don’t send
Content-Length
header by default onGET
orHEAD
requests - Add
elapsed
attribute toResponse
objects to time how long a request took. - Fix
RequestsCookieJar
- Sessions and Adapters are now picklable, i.e., can be used with the multiprocessing library
- Update charade to version 1.0.3
The change in how hooks are dispatched will likely cause a great deal of issues.
1.1.0 (2013-01-10)¶
- CHUNKED REQUESTS
- Support for iterable response bodies
- Assume servers persist redirect params
- Allow explicit content types to be specified for file data
- Make merge_kwargs case-insensitive when looking up keys
1.0.3 (2012-12-18)¶
- Fix file upload encoding bug
- Fix cookie behavior
1.0.2 (2012-12-17)¶
- Proxy fix for HTTPAdapter.
1.0.1 (2012-12-17)¶
- Cert verification exception bug.
- Proxy fix for HTTPAdapter.
1.0.0 (2012-12-17)¶
- Massive Refactor and Simplification
- Switch to Apache 2.0 license
- Swappable Connection Adapters
- Mountable Connection Adapters
- Mutable ProcessedRequest chain
- /s/prefetch/stream
- Removal of all configuration
- Standard library logging
- Make Response.json() callable, not property.
- Usage of new charade project, which provides python 2 and 3 simultaneous chardet.
- Removal of all hooks except ‘response’
- Removal of all authentication helpers (OAuth, Kerberos)
This is not a backwards compatible change.
0.14.2 (2012-10-27)¶
- Improved mime-compatible JSON handling
- Proxy fixes
- Path hack fixes
- Case-Insensitive Content-Encoding headers
- Support for CJK parameters in form posts
0.14.1 (2012-10-01)¶
- Python 3.3 Compatibility
- Simply default accept-encoding
- Bugfixes
0.14.0 (2012-09-02)¶
- No more iter_content errors if already downloaded.
0.13.9 (2012-08-25)¶
- Fix for OAuth + POSTs
- Remove exception eating from dispatch_hook
- General bugfixes
0.13.8 (2012-08-21)¶
- Incredible Link header support :)
0.13.7 (2012-08-19)¶
- Support for (key, value) lists everywhere.
- Digest Authentication improvements.
- Ensure proxy exclusions work properly.
- Clearer UnicodeError exceptions.
- Automatic casting of URLs to strings (fURL and such)
- Bugfixes.
0.13.6 (2012-08-06)¶
- Long awaited fix for hanging connections!
0.13.5 (2012-07-27)¶
- Packaging fix
0.13.4 (2012-07-27)¶
- GSSAPI/Kerberos authentication!
- App Engine 2.7 Fixes!
- Fix leaking connections (from urllib3 update)
- OAuthlib path hack fix
- OAuthlib URL parameters fix.
0.13.3 (2012-07-12)¶
- Use simplejson if available.
- Do not hide SSLErrors behind Timeouts.
- Fixed param handling with urls containing fragments.
- Significantly improved information in User Agent.
- client certificates are ignored when verify=False
0.13.2 (2012-06-28)¶
- Zero dependencies (once again)!
- New: Response.reason
- Sign querystring parameters in OAuth 1.0
- Client certificates no longer ignored when verify=False
- Add openSUSE certificate support
0.13.1 (2012-06-07)¶
- Allow passing a file or file-like object as data.
- Allow hooks to return responses that indicate errors.
- Fix Response.text and Response.json for body-less responses.
0.13.0 (2012-05-29)¶
- Removal of Requests.async in favor of grequests
- Allow disabling of cookie persistence.
- New implementation of safe_mode
- cookies.get now supports default argument
- Session cookies not saved when Session.request is called with return_response=False
- Env: no_proxy support.
- RequestsCookieJar improvements.
- Various bug fixes.
0.12.1 (2012-05-08)¶
- New
Response.json
property. - Ability to add string file uploads.
- Fix out-of-range issue with iter_lines.
- Fix iter_content default size.
- Fix POST redirects containing files.
0.12.0 (2012-05-02)¶
- EXPERIMENTAL OAUTH SUPPORT!
- Proper CookieJar-backed cookies interface with awesome dict-like interface.
- Speed fix for non-iterated content chunks.
- Move
pre_request
to a more usable place. - New
pre_send
hook. - Lazily encode data, params, files.
- Load system Certificate Bundle if
certify
isn’t available. - Cleanups, fixes.
0.11.2 (2012-04-22)¶
- Attempt to use the OS’s certificate bundle if
certifi
isn’t available. - Infinite digest auth redirect fix.
- Multi-part file upload improvements.
- Fix decoding of invalid %encodings in URLs.
- If there is no content in a response don’t throw an error the second time that content is attempted to be read.
- Upload data on redirects.
0.11.1 (2012-03-30)¶
- POST redirects now break RFC to do what browsers do: Follow up with a GET.
- New
strict_mode
configuration to disable new redirect behavior.
0.11.0 (2012-03-14)¶
- Private SSL Certificate support
- Remove select.poll from Gevent monkeypatching
- Remove redundant generator for chunked transfer encoding
- Fix: Response.ok raises Timeout Exception in safe_mode
0.10.8 (2012-03-09)¶
- Generate chunked ValueError fix
- Proxy configuration by environment variables
- Simplification of iter_lines.
- New trust_env configuration for disabling system/environment hints.
- Suppress cookie errors.
0.10.7 (2012-03-07)¶
- encode_uri = False
0.10.6 (2012-02-25)¶
- Allow ‘=’ in cookies.
0.10.5 (2012-02-25)¶
- Response body with 0 content-length fix.
- New async.imap.
- Don’t fail on netrc.
0.10.4 (2012-02-20)¶
- Honor netrc.
0.10.3 (2012-02-20)¶
- HEAD requests don’t follow redirects anymore.
- raise_for_status() doesn’t raise for 3xx anymore.
- Make Session objects picklable.
- ValueError for invalid schema URLs.
0.10.2 (2012-01-15)¶
- Vastly improved URL quoting.
- Additional allowed cookie key values.
- Attempted fix for “Too many open files” Error
- Replace unicode errors on first pass, no need for second pass.
- Append ‘/’ to bare-domain urls before query insertion.
- Exceptions now inherit from RuntimeError.
- Binary uploads + auth fix.
- Bugfixes.
0.10.1 (2012-01-23)¶
- PYTHON 3 SUPPORT!
- Dropped 2.5 Support. (Backwards Incompatible)
0.10.0 (2012-01-21)¶
Response.content
is now bytes-only. (Backwards Incompatible)- New
Response.text
is unicode-only. - If no
Response.encoding
is specified andchardet
is available,Response.text
will guess an encoding. - Default to ISO-8859-1 (Western) encoding for “text” subtypes.
- Removal of decode_unicode. (Backwards Incompatible)
- New multiple-hooks system.
- New
Response.register_hook
for registering hooks within the pipeline. Response.url
is now Unicode.
0.9.3 (2012-01-18)¶
- SSL verify=False bugfix (apparent on windows machines).
0.9.2 (2012-01-18)¶
- Asynchronous async.send method.
- Support for proper chunk streams with boundaries.
- session argument for Session classes.
- Print entire hook tracebacks, not just exception instance.
- Fix response.iter_lines from pending next line.
- Fix but in HTTP-digest auth w/ URI having query strings.
- Fix in Event Hooks section.
- Urllib3 update.
0.9.1 (2012-01-06)¶
- danger_mode for automatic Response.raise_for_status()
- Response.iter_lines refactor
0.9.0 (2011-12-28)¶
- verify ssl is default.
0.8.9 (2011-12-28)¶
- Packaging fix.
0.8.8 (2011-12-28)¶
- SSL CERT VERIFICATION!
- Release of Cerifi: Mozilla’s cert list.
- New ‘verify’ argument for SSL requests.
- Urllib3 update.
0.8.7 (2011-12-24)¶
- iter_lines last-line truncation fix
- Force safe_mode for async requests
- Handle safe_mode exceptions more consistently
- Fix iteration on null responses in safe_mode
0.8.6 (2011-12-18)¶
- Socket timeout fixes.
- Proxy Authorization support.
0.8.5 (2011-12-14)¶
- Response.iter_lines!
0.8.4 (2011-12-11)¶
- Prefetch bugfix.
- Added license to installed version.
0.8.3 (2011-11-27)¶
- Converted auth system to use simpler callable objects.
- New session parameter to API methods.
- Display full URL while logging.
0.8.2 (2011-11-19)¶
- New Unicode decoding system, based on over-ridable Response.encoding.
- Proper URL slash-quote handling.
- Cookies with
[
,]
, and_
allowed.
0.8.1 (2011-11-15)¶
- URL Request path fix
- Proxy fix.
- Timeouts fix.
0.8.0 (2011-11-13)¶
- Keep-alive support!
- Complete removal of Urllib2
- Complete removal of Poster
- Complete removal of CookieJars
- New ConnectionError raising
- Safe_mode for error catching
- prefetch parameter for request methods
- OPTION method
- Async pool size throttling
- File uploads send real names
- Vendored in urllib3
0.7.6 (2011-11-07)¶
- Digest authentication bugfix (attach query data to path)
0.7.5 (2011-11-04)¶
- Response.content = None if there was an invalid response.
- Redirection auth handling.
0.7.4 (2011-10-26)¶
- Session Hooks fix.
0.7.3 (2011-10-23)¶
- Digest Auth fix.
0.7.2 (2011-10-23)¶
- PATCH Fix.
0.7.1 (2011-10-23)¶
- Move away from urllib2 authentication handling.
- Fully Remove AuthManager, AuthObject, &c.
- New tuple-based auth system with handler callbacks.
0.7.0 (2011-10-22)¶
- Sessions are now the primary interface.
- Deprecated InvalidMethodException.
- PATCH fix.
- New config system (no more global settings).
0.6.6 (2011-10-19)¶
- Session parameter bugfix (params merging).
0.6.5 (2011-10-18)¶
- Offline (fast) test suite.
- Session dictionary argument merging.
0.6.4 (2011-10-13)¶
- Automatic decoding of unicode, based on HTTP Headers.
- New
decode_unicode
setting. - Removal of
r.read/close
methods. - New
r.faw
interface for advanced response usage.* - Automatic expansion of parameterized headers.
0.6.3 (2011-10-13)¶
- Beautiful
requests.async
module, for making async requests w/ gevent.
0.6.2 (2011-10-09)¶
- GET/HEAD obeys allow_redirects=False.
0.6.1 (2011-08-20)¶
- Enhanced status codes experience
\o/
- Set a maximum number of redirects (
settings.max_redirects
) - Full Unicode URL support
- Support for protocol-less redirects.
- Allow for arbitrary request types.
- Bugfixes
0.6.0 (2011-08-17)¶
- New callback hook system
- New persistent sessions object and context manager
- Transparent Dict-cookie handling
- Status code reference object
- Removed Response.cached
- Added Response.request
- All args are kwargs
- Relative redirect support
- HTTPError handling improvements
- Improved https testing
- Bugfixes
0.5.1 (2011-07-23)¶
- International Domain Name Support!
- Access headers without fetching entire body (
read()
) - Use lists as dicts for parameters
- Add Forced Basic Authentication
- Forced Basic is default authentication type
python-requests.org
default User-Agent header- CaseInsensitiveDict lower-case caching
- Response.history bugfix
0.5.0 (2011-06-21)¶
- PATCH Support
- Support for Proxies
- HTTPBin Test Suite
- Redirect Fixes
- settings.verbose stream writing
- Querystrings for all methods
- URLErrors (Connection Refused, Timeout, Invalid URLs) are treated as explicitly raised
r.requests.get('hwe://blah'); r.raise_for_status()
0.4.1 (2011-05-22)¶
- Improved Redirection Handling
- New ‘allow_redirects’ param for following non-GET/HEAD Redirects
- Settings module refactoring
0.4.0 (2011-05-15)¶
- Response.history: list of redirected responses
- Case-Insensitive Header Dictionaries!
- Unicode URLs
0.3.4 (2011-05-14)¶
- Urllib2 HTTPAuthentication Recursion fix (Basic/Digest)
- Internal Refactor
- Bytes data upload Bugfix
0.3.3 (2011-05-12)¶
- Request timeouts
- Unicode url-encoded data
- Settings context manager and module
0.3.2 (2011-04-15)¶
- Automatic Decompression of GZip Encoded Content
- AutoAuth Support for Tupled HTTP Auth
0.3.1 (2011-04-01)¶
- Cookie Changes
- Response.read()
- Poster fix
0.3.0 (2011-02-25)¶
- Automatic Authentication API Change
- Smarter Query URL Parameterization
- Allow file uploads and POST data together
- New Authentication Manager System
- Simpler Basic HTTP System
- Supports all build-in urllib2 Auths
- Allows for custom Auth Handlers
0.2.4 (2011-02-19)¶
- Python 2.5 Support
- PyPy-c v1.4 Support
- Auto-Authentication tests
- Improved Request object constructor
0.2.3 (2011-02-15)¶
- New HTTPHandling Methods
- Response.__nonzero__ (false if bad HTTP Status)
- Response.ok (True if expected HTTP Status)
- Response.error (Logged HTTPError if bad HTTP Status)
- Response.raise_for_status() (Raises stored HTTPError)
0.2.2 (2011-02-14)¶
- Still handles request in the event of an HTTPError. (Issue #2)
- Eventlet and Gevent Monkeypatch support.
- Cookie Support (Issue #1)
0.2.1 (2011-02-14)¶
- Added file attribute to POST and PUT requests for multipart-encode file uploads.
- Added Request.url attribute for context and redirects
0.2.0 (2011-02-14)¶
- Birth!
0.0.1 (2011-02-13)¶
- Frustration
- Conception


Top 10 Names by Genres
Overall
Men
Women
Toggle mode
Star Wars
Game of thrones
Harry Potter
Friends
The big bang theory
The Matrix


An operator model can be used to describe a C++ primitive operator or a Java primitive operator. The set of elements that can
be present in a Java operator model is a strict subset of the ones that can be present in a C++ operator model, with the
exception of a special element used for JVM related configurations.
Context
The context element describes the properties that apply to the operator as a whole and are not associated
with particular parameters or ports of the operator. It also includes common definitions that are referenced in
other places in the operator model.
- Description
- The description element, which is optional, provides an overview of the operator.
- Metrics
- The metrics element, which is optional, contains the list of metrics exposed by the operator.
It is structured as a list of metric elements, where each metric element contains a name, a description, and a kind.
- Kind: Counter
- Represents metrics whose values are either non-decreasing or non-increasing.
- Kind: Gauge
- Represent metrics that can change their values freely, that is, they can go up or down.
- Kind: Time
- Represents metrics that denote a point in time.
- Custom Literals
- The customLiterals element, which is optional, captures the identifiers that may appear in parameter
configurations of an operator. It is structured as a list of enumeration elements. For instance, a Source
operator may support different source formats, in which case we can have an enumeration called FileFormat
that will contain values {csv, xml, bin}.
- Custom Output Functions (C++ only)
- The customOutputFunctions element, which is optional, captures the output function prototypes used by an operator
in its output attribute assignments. It is structured as a list of customOutputFunction elements, where each enumeration
contains a name and a list of output function prototypes. For instance, an Aggregate operator may support relational
aggregations, in which case we can have an enumeration called RelationalAggs that will contain output functions
{Min, Max, Avg, Sum, and so on}.
- Dependencies (Optional)
- A sequence of one or more library elements, each representing a library dependency.
The library element format is exactly the same as the one used for operator models.
- Description (Optional)
- A description of the library
- Managed Library
- Specifies the details of the individual library artifacts. The paths can
contain environment variables embedded between @ signs (for example: @FOO_FFT_HOME@/lib),
which will be fully resolved by the SPL compiler at compile time.
- lib (Optional)
- Specifies a name to be passed to C++ compiler's -l argument
(such as fft which will be translated into -lfft when passed to the linker)
- libPath (Optional)
- Specifies a path to be passed to C++ compiler's -L argument.
- includePath (Optional)
- Specifies a path to be passed to C++ compiler's -I argument.
- command (Optional)
- A path to a program that will be executed to retrieve includePath, libPath, and lib
information. If the path to the program is relative, it is assumed to be rooted at the directory of the
operator model. The program is executed three times, each time with a different argument, namely lib,
libPath, and includePath. 1 The standard output from these executions will be read and each line
(trimmed of white spaces) will be added to one of the lib, libPath, and includePath elements, depending
on the type of the execution. A line that begins with # will be ignored. Relative paths are assumed to
be rooted at the directory where the operator model XML document resides.
- Provides Single Threaded Execution Context (C++ only)
The
providesSingleThreadedContext element describes the threading semantics of the
operator with respect to the flow of execution. An operator provides a single threaded execution context,
if and only if:
- It does not perform concurrent submit calls unless its process method(s) are called concurrently.
- Its submit calls complete before the process call that triggered the submission completes.
Both source and non-source operators have process methods, and the definition above applies
globally. Based on this definition, if an operator has submit calls that are not triggered by a process
call, such as those triggered by a time-based event, then that operator does not provide a single threaded
execution context. Note that this definition does not require a submit call to execute under the same
thread that executes the process call which triggered the submission (even though in the common case
they execute under the same thread).
There are several valid values for this property:
- Never: Instances of this operator never provide a single threaded execution context.
- Always: Instances of this operator always provide a single threaded execution context.
- WindowBound: Instances of this operator that do not specify time-based window eviction
policies or time-based window trigger policies provide a single threaded execution context.
- WindowEvictionBound: Instances of this operator that do not specify time-based window
eviction policies provide a single threaded execution context.
- WindowTriggerBound: Instances of this operator that do not specify time-based window trigger
policies provide a single threaded execution context.
- WindowPartitionEvictionBound: Instances of this operator use a thread to implement
partition eviction. Use this setting if tuples are submitted from the onWindowPartitionEvictionSelection event.
As an example, consider a Filter operator. Unless its process method is being called concurrently,
the Filter operator does not make concurrent submit calls. Its submit calls are triggered by incoming
tuples. When it receives a tuple via a process call, it makes a submit call if the received tuple passes the
filter condition, and that submit call completes before the process call that triggered it is complete. As a
result, all instances of a Filter operator provide a single threaded context and the setting
Always is appropriate.
Implementation note: The providesSingleThreadedContext element is used to enable the SPL runtime
to avoid unnecessary thread synchronization. While setting it to the value Never is safe for all operators,
it would prevent optimizations that reduce synchronization overhead when the operator does provide a single
threaded context. Specifying a value other than Never that is inconsistent with the threading semantics
implemented by the operator will result in undefined behavior.
- Incremental Compilation Strategy (C++ only)
Specifies how the compiler should manage incremental compilation of operators. The choices are:
- SourceDependent: In this mode the compiler will only regenerate the operator source
if it is out-of-date with the SPL source or the code generator
for that operator. This is the default mode.
- ResultDependent: In this mode the compiler always generates the operator source, but
only updates the source files if they differ from what exists prior to the compile. Use this
mode if the operator code generator relies on external configurations that are not captured by the parameterization given in the SPL source.
- Allow Custom Logic (C++ only)
This optional element specifies whether or not the use of an operator is permitted to
have a logic clause specifying either state, onTuple or onPunct processing. When set to false no
logic clause may be specified for the given operator. The default, in the absence of this element,
is true.
- Code Template
This optional element specifies one or more code templates for the operator.
These will show up in IDE's context sensitive content assist menus and SPLDOC documents.
Each code template has a name attribute that names it, a description element that describes it,
and a value element, which is a string that contains the boilerplate code for the template.
When the template is used in the IDE, the boilerplate code is embedded into the source code.
The parts of the code that are in the form ${name} are used to indicate the pieces that must be
customized by the user. The IDE will use the identifier specified within the ${} to indicate the customizable
portions. One example for the Barrier operator is as follows:
<codeTemplates>
<codeTemplate name="Barrier">
<description>Basic Barrier template</description>
<template>
<![CDATA[
stream<${schema}> ${outputStream} = Barrier(${inputStream1};${inputStream2})
{
param
${parameter}: ${parameterExpression};
output
${outputStream}: ${outputExpression};
${cursor}
}
]]>
<template>
</codeTemplate>
</codeTemplates>
- SPL Expression Tree (C++ only)
An optional element that controls the generation of SPL expression trees for use in generic C++
primitive operators.
- param - If set to true, the SPL Expression Trees are generated for parameters.
- output - If set to true, the SPL Expression Trees are generated for output.
- cppCode - If set to true, each node in the generated operator instance XML is enhanced with C++ code using templates.
This C++ code can be used to generate the C++ code for an SPL expression. For example, for the SPL code:
param predicates : {a = "a" == In.letter, b = "b" == In.letter};
The generated SPL expression tree includes:
<expressionTree cppCode="SPL::BeJwrMUoyTEwyTAIAC7UCCQ({attr:0}, {attr:1})">
<literal cppCode="SPL::BeJwrMUoyTEwyTAIAC7UCCQ({attr:0}, {attr:1})" type="1">
<tuple count="2" cppCode="SPL::BeJwrMUoyTEwyTAIAC7UCCQ({attr:0}, {attr:1})" type="1">
<attr id="a">
<value cppCode="({Lhs} == {Rhs})" type="2">
<expn cppCode="({Lhs} == {Rhs})">
<binary cppCode="({Lhs} == {Rhs})" op="==" type="2">
<lhs cppCode="SPL::rstring("a")">
<literal cppCode="SPL::rstring("a")" type="0">"a"</literal>
</lhs>
<rhs cppCode="iport$0.get_letter()">
<attribute attribute="letter" cppCode="iport$0.get_letter()" type="0">
<lhs cppCode="iport$0">
<stream cppCode="iport$0" name="In" port="0" type="3"/>
</lhs>
</attribute>
</rhs>
</binary>
</expn>
</value>
</attr>
The templates (for example, {Lhs}, {attr:0}) are used to ensure that code replacement is well defined.
These expressions represent the SPL expression, but are available in a form that can easily be walked.
Perl objects are derived from SPL::Operator::Instance::ExpressionTree, and have a kind, type,
and methods to access the fields of the expression. ExpressionTreeVisitor is a visitor pattern
provided to allow easy walking of the expression tree. For more information, see the
IBM Streams Processing Language Code Generation API Documentation.
- Operating System Capabilities (C++ only)
This optional list of elements specifies special privileges for the
operator. IBM Streams supports the Linux capabilities model via the
capability element. You can include any number of elements to specify
the exact privileges your operator requires. For example,
<capability>CAP_NET_RAW+eip</capability>
indicates that the operator
needs permission to access raw sockets. Note that the IBM Streams
instance must be configured to allow PE processes to run with special
operating system capabilities.
Output Port Set
Output ports are defined in terms of port sets, just like input ports. A port set is a fixed number of ports that share
the same configuration. This avoids repetition of the same configuration for different ports. A port set can be open, in
which case it can contain zero or more ports with the same configuration. An outputPorts element contains zero or more
outputPortSet elements, followed by an optional outputPortOpenSet element.
- Cardinality
- Defines the number of ports that the port set represents. This property applies to non-open port sets.
- Optional
- A boolean which specifies whether the output port set is optional.
- Expression Mode (C++ only)
-
The expressionMode element describes the valid syntax of the attribute assignments made on this port.
Note that an expressionMode value of CustomLiteral is not valid for output ports and will result in
a compilation error. Valid values for the expression mode are:
- Attribute: This means that the assignments made to output attributes of this
port need to be stream attributes. For example: output Out : x = In.y;, but not x = In.y.z.
- AttributeFree: This means that the assignments made to output attributes of this port cannot reference
any input stream attributes. For example: output Out : x = 3 + random(3);, but not x = In.x + 3.
- Constant: This means that the assignments made to output attributes of this port need to be
compile-time evaluatable to a constant. For example: output Out : x = 3 + pow(2, 3);, but not x = random(3).
- Expression: This is the most flexible expression mode, any SPL expression of correct type can appear as an assignment to the output attributes of this port. For example: output Out : x = A.y + B.z;.
- Nonexistent: This means that output attribute assignments cannot be specified in the SPL source for this port.
- Auto Assignment
-
The autoAssignment element defines whether unassigned attributes will be automatically assigned from the attributes of the input ports.
If set to true, the SPL compiler will rewrite (at compile-time) the operator invocation as if the unassigned output attributes have
explicit assignments in the output section. For each output attribute that is missing an assignment, an input attribute that has
the same name and type,
or that has the same name and type T,
where the output attribute type is optional<T>,
will be assigned to it.
If there is no such input attribute or if there are more than one, an error is
reported at compile-time. Note that an expressionMode value of Constant is incompatible with an autoAssignment value of true.
This combination will result in a compilation error.
- Complete Assignment
-
The completeAssignment element defines if all the output port attributes need to be assigned in order to have a valid
invocation of the operator. This is checked at compile-time. If an operator has this element set to true in its operator model
and if not all output attributes have assignments after the auto-assignment step (if requested) for a given instance of this
operator, an error will be reported.
- Rewrite Allowed (C++ only)
-
The rewriteAllowed element specifies whether the compiler is allowed to rewrite the expressions that appear in the output
attribute assignments for this port.
- Output Functions
-
The outputFunctions element defines the valid custom output functions that can appear in output attribute assignments.
It is optional. When present, it contains two sub-elements: the type element, which defines the name of the custom output
function type, as in RelationalAggs; and the default element, which defines the default output function to be used when
performing auto-assignment of output attributes. This value should be a valid function name for the custom output function
type that is being used (as in Last for RelationalAggs). Note that if the user code specifies an output attribute assignment
without an output function for a port that expects an output function,
the default output function will be inserted automatically.
- Final Punctuation Port Scope
-
The finalPunctuationPortScope element, which is optional, specifies the set of input ports to be used by the SPL language
runtime for final punctuation forwarding. By default, operators that have both input and output ports will automatically
forward final punctuations from their input ports to their output ports. This is achieved by generating a final punctuation
on an output port when a final punctuation is received on all input ports. The finalPunctuationPortScope can be used to
limit the set of input ports to be used for forwarding the final punctuation. This element can also be used to turn off
auto-forwarding of final punctuations, by setting the set of input ports to use for forwarding to the empty set. In this case,
the operator developer is responsible for ensuring that the output port gets a final punctuation.
- Window Punctuation Output Mode
-
The windowPunctuationOutputMode specifies the window punctuation semantics of the output port. The options are:
- Generating - This port generates window punctuations.
- Free - This port is free of window punctuations.
- Preserving - This port preserves the received window punctuations. If an operator has more than one
input port, then the windowPunctuationInputPort element must be specified in order to identify which input port's
punctuation is being preserved.
- Tuple Mutation Allowed
-
The tupleMutationAllowed element defines whether this operator permits the downstream operators to mutate the output
tuples submitted to this port via the submit call. If set to true, then the processing logic of the operator should expect
that the tuples it submits to this port are modified as a result of the submit call.
- Window Punctuation Input Port
-
As mentioned above, the windowPunctuationInputPort element associates an input port with a punctuation
preserving output port. This element may only be specified if the output port's window punctuation mode is Preserving.
The windowPunctuationInputPort can be set to -1, which has the same semantics as a missing windowPunctuationInputPort element.
It is important to note that punctuation forwarding for window punctuations is not performed automatically by the SPL
language runtime (unlike final punctuations) and the operator model is used to inform the SPL compiler about the behavior
that is being implemented by the operator. For more information, see the
IBM Streams Processing Language Toolkit Development Reference.
- Output Assignment Port Scope
-
The outputAssignmentPortScope optionally limits which input port attributes may appear in output assignments on this port.
If a scope is specified, only attributes from the ports specified by the scope
may appear in the output assignments for that port.
Parameters
The parameters element describes the valid parameters an operator can be configured with.
It also describes the valid syntax for such parameter configurations.
- Allow Any
- This element is a boolean flag that determines whether an operator can take arbitrary parameters, with no restrictions.
An operator can take arbitrary parameters, yet still specify additional parameters and associated restrictions.
- Parameter
Each parameter element contains several subelements.
- Name
- The name element is the name of the parameter as it will appear in the SPL source code.
For example, a Functor operator may have a filter parameter.
- Description
- An optional description of this parameter.
- Optional
- A boolean which specifies whether this parameter is optional. A value of false implies that the parameter
must be specified in the SPL source code.
- Rewrite Allowed (C++ only)
- This boolean parameter allows the compiler to rewrite the expressions that appear in this parameter's
values by substituting literals (including those resulting from compile-time evaluation step) with variables whose
values are loaded at runtime. This enables the compiler to generate less code for operators that differ slightly
in their parameter configurations. In certain cases, the operator code generators may want to look into the parameter
value, in order to generate different code based on the particular value found or perform compile-time validation.
For example, format: csv may result in generating specialized code for a Source operator. In such cases, expression
rewrite should be turned off.
- Expression Mode
-
- Attribute - Restricts the parameter values to stream attributes.
- AttributeFree - The parameter value is an expression that does not
contain a reference to a stream attribute.
- Constant (C++ only) - The parameter values need to be compile-time evaluatable to a constant.
- CustomLiteral - Restricts the parameter values to valid values from one of the custom
literal enumerations defined in the context section of the model
- Expression (C++ only) - The most flexible expression mode, where any SPL expression of correct type
can appear as a parameter value.
- Type
- The type of a parameter is either the SPL type of its values (such as list<ustring>)
or a custom literal name (such as SourceFormat). The type can also be omitted, in which case any SPL type
will match. The type subelement of a parameter can have an empty value, which has the same semantics as a missing
type element.
- Cardinality
- The maximum number of values the parameter accepts. If omitted or the value is -1, the number of values is
assumed to be unbounded. The number of parameter values must match the cardinality. The cardinality subelement can take a
value of -1, which has the same semantics as a missing cardinality element.
- Port Scope (C++ only)
- This element is used to limit the stream attributes that appear in a parameter value to a specific
input port or to a list of input ports. Port indices start from 0. When omitted, there are no restrictions on stream attributes.
- Custom Output Function (C++ only)
- This optional element of a parameter specifies the name of a custom output function set defined in the context
element, and makes the functions defined in that set visible during the compilation of a parameter. It is the responsibility
of the operator to generate correct C++ code that involves custom output functions with the parameter, in the same manner as
it would be for a use in an output clause.


--- layout: post title: Getting the Whole Family Involved in Barefoot Life date: 2011-01-14 17:19:02.000000000 +00:00 tags: - barefoot - holiday - park - family type: post published: true ---
So you've made the jump from running in shoes to running barefoot, but you just can't convince the wife and kids (the older ones) to embrace your passion. Well how about taking them on a barefoot holiday. Yes, a barefoot holiday.
I've just discovered there are these really cool barefoot parks all over Europe (predominantly in German and Austria) that are open to the public and offer you the opportunity to go for barefoot walks. These parks actually encouraged you to take off your shoes and get one with nature (you'll have to go elsewhere if you want to really get one with nature 😉 ) and feel the earth below your feet, feel the cold water between your toes and the pebbles under your feet as you walk through streams and rivers. Some even offer playground areas specially designed for being bare foot.
What a great idea, and what a great way to get the whole family involved in your new found passion for going barefoot. Who knows, maybe after one of these holidays your wife or one of your kids will want to join you on one of your barefoot runs, barefoot.


Tons of features like CSS-based queries, event handling, animations, Ajax, class-based programming, and a package system
Dojo's themeable, accessible, easy-to-customize UI Library
Continue!
Dojo eXtensions


About the symposium
We are currently living in the age of data, where more than ever before in human history data is being collected and available for use. For scientific purposes, the quantity and quality of both observation and model data has dramatically increased compared to the previous century.
Together with the recent advancements (in computer hardware capabilities and) machine learning algorithms, this data provides new, exciting opportunities for applications in meteorology and climate. These applications are very diverse and have a direct impact on our daily lives - ranging from more accurate weather/climate forecasts to improved air quality (maybe not the best examples). Within meteorology and climate, machine learning algorithms can be a valuable tool to extract the relevant information from the large quantities of available data. In scientific literature, recently there have already been examples where such techniques were successfully applied to improve for instance the accuracy, reduce the computation cost of simulations, or even improve our understanding of the physics. However, for most practical applications still many challenges remain.
We therefore aim with this symposium to inform the participants about the currently investigated applications involving machine learning techniques, both within the meteorology and climate science disciplines. In doing so, we hope to stimulate an interdisciplinary exchange of ideas that may help to identify other potential applications, and overcome some of the remaining challenges hindering the widespread usage of machine learning techniques within meteorology and climate.


Parser and evaluator of the scalar expressions like 100% - 50s.
100% - 50s
Literals
Operators
+
-
*
/
(
)
Examples
90%
50s
90% - 50s
90% - (50s + 100) * 2
Generated using TypeDoc
Parser and evaluator of the scalar expressions like
100% - 50s
.Literals
Operators
+
-
*
/
(
and)
Examples
90%
: 0.9 * parent value50s
: 0.5 * self value90% - 50s
: 0.9 * parent value - 0.5 * self value90% - (50s + 100) * 2
: 0.9 * parent value - ( 0.5 * self value + 100 ) * 2


Tic Tac Math
Type
Addition
Subtraction
Multiplication
Division
Size
1's
10's
100's
Agent
Merlin
Clippy
Bonzi
Genie
Peedy
Rover
Rocky
Genius
F1
Links


;
In place replacements
In-place replacement (GNU)
In GNU sed: use -i
without arg.
In-place replacement (BSD)
In OSX, -i ''
is required.
File regions
{:.-three-column}
Print until a certain line is met
Print until a certain line is met, but not that line
Print everything after a given line
Print after a given line is found.
Print everything except matching
Print everything except lines matching regex. Useful for printing files with comments.


Welcome!
This app demonstrates how to add authentication to an Angular 2 app. More specifically, it covers how to:
- Add a login/signup area which returns a JSON Web Token that is saved in
localStorage
- Conditionally hide and show various parts of the application depending on the user's authentication state
- Create a profile area which displays user information from the payload of the JWT
- Protect client-side routes with an
AuthGuard
- Make requests for server resources protected by JWT middleware on the server
- Make requests for server resources that require a specific
scope
to be present in the JWT payload
Log In
Log Out


MPI supports three RMA communication calls: MPI_PUT transfers data from the caller memory (origin) to the target memory; MPI_GET transfers data from the target memory to the caller memory; and MPI_ACCUMULATE updates locations in the target memory, e.g. by adding to these locations values sent from the caller memory. These operations are nonblocking: the call initiates the transfer, but the transfer may continue after the call returns. The transfer is completed, both at the origin and at the target, when a subsequent synchronization call is issued by the caller on the involved window object. These synchronization calls are described in Section Synchronization Calls , page Synchronization Calls .
The local communication buffer of an RMA call should not be updated, and the local communication buffer of a get call should not be accessed after the RMA call, until the subsequent synchronization call completes.
2.2
It is erroneous to have concurrent conflicting accesses to the same memory location in a window; if a location is updated by a put or accumulate operation, then this location cannot be accessed by a load or another RMA operation until the updating operation has completed at the target. There is one exception to this rule; namely, the same location can be updated by several concurrent accumulate calls, the outcome being as if these updates occurred in some order. In addition, a window cannot concurrently be updated by a put or accumulate operation and by a local store operation. This, even if these two updates access different locations in the window. The last restriction enables more efficient implementations of RMA operations on many systems. These restrictions are described in more detail in Section Semantics and Correctness , page Semantics and Correctness .
The calls use general datatype arguments to specify communication buffers at the origin and at the target. Thus, a transfer operation may also gather data at the source and scatter it at the destination. However, all arguments specifying both communication buffers are provided by the caller.
For all three calls, the target process may be identical with the origin process; i.e., a process may use an RMA operation to move data in its memory.
Rationale.
The choice of supporting ``self-communication'' is the same as for
message-passing.
It simplifies some coding, and is very useful with accumulate
operations, to allow atomic updates of local variables.
( End of rationale.)
MPI_PROC_NULL is a valid target rank in the MPI RMA calls
MPI_ACCUMULATE, MPI_GET, and MPI_PUT.
The effect is the same as for MPI_PROC_NULL in MPI point-to-point
communication.
After any RMA operation with rank MPI_PROC_NULL, it is still necessary to
finish the RMA epoch with the synchronization method that started the epoch.


Light and Sound Memory Game
Welcome to the game! Repeat back the pattern by pressing buttons.
Please choose a difficuly level.
Easy
Medium
Hard


Karrueche Tran Stuns In A Cow Print String Bikini
November 16, 2019
Karrueche Tran Stuns In A Cow Print String Bikini
Karrueche Tran posed for a mirror selfie that received rave reviews from her Instagram followers.
Karrueche Tran posed for a mirror selfie that received rave reviews from her Instagram followers.
Karrueche Tran just proved that she can pull off one of the most unusual animal prints. On Saturday, the Claws star took to Instagram to share a bikini selfie with her 9.2 million followers, and many of them had enthusiastic responses to the wild picture.
In her latest social media snapshot, the gorgeous model and actress is posing in a string bikini featuring a black and white print, much like the markings on Holstein-Friesian dairy cows. The two-piece has a tiny triangle top that shows off plenty of Karrueche’s flawless décolletage. The bottoms dip down low in a U-shape, thanks to the way the garment’s thin black strings sit up high on her slender hips. A flash of her shapely thighs is all that can be seen of her legs, which are slightly spread apart.
Karrueche is holding up a phone, making it evident that her swimsuit photo is a mirror selfie. A glass shelf is attached to the mirror, and part of her toned washboard stomach is hidden behind it, including her belly button. She’s posing with her free hand on the side of her head, and she’s leaning against a stone wall. Natural light is coming in through a small window beside her, make her smooth skin glow. Karrueche appears to be wearing minimal makeup, and she has her hair pulled back.
Karrueche Tran wasn’t on the set of a photo shoot when she snapped her selfie; it was clearly taken inside a house. However, she added a touch of glam and opulence to her monochrome beach ensemble by wearing a pair of chunky gold hoop earrings as accessories. She also rocked two slender chain necklaces around her neck.
Karrueche’s bikini snapshot had one famous fan; “When You Look At Me” singer Christina Milian responded to it with a row of half a dozen heart-eye emoji. Many of Karrueche’s followers couldn’t resist making cow jokes, with quite a few of them writing the words “moo” and “got milk?” in the comments section of her post. It was also peppered with quite a few cow emoji.
“What in the holy cows,” remarked one of Karrueche’s followers.
“I want milk now,” another commented.
Numerous others shared their admiration for the actress’ incredible figure.
“Looking really hot in that bathing suit,” wrote one fan.
“Looking great baby,” remarked another admirer.
Loading...
Yet another fan dubbed her a “cow girl.”
Karrueche Tran might not need to pose in an exotic location to take a great bathing suit photo, but The Inquisitr previously reported that her Instagram followers had very positive responses to the recent swimwear snapshots that she took during a trip to the Bahamas.


'I'm in awe of her': How severely disabled girl nearly killed by deadly superbug survived against all odds
by Andrew PapworthEven though she spent 15 days on a life support machine, with all hope seemingly lost, Maisy Kidd-Munnery was not ready to die.
Following a life-long battle against multiple disabilities including cerebral palsy, epilepsy and brain damage after being born nine weeks premature, the 14-year-old had developed a fighting spirit like no other.
It was a resilience so rare in anyone, let alone a teenager - but she would need every ounce of strength as this year's deadly Strep A superbug in Essex left her life desperately hanging in the balance.
At one point her beloved mother Sophie, who has devoted her life to caring for her severely disabled daughter, was even asked: would it be kinder to switch off the machine and let her go?
It was the cruellest dilemma for a mother with such a special connection with her daughter, built on years on love and devotion as the Harwich youngster worked incredibly hard to successfully improve her own health.
Yet even though Maisy could not speak, something told her family that this amazingly strong girl was not ready to pass away just yet.
With the inspiring support and love of both her mum and nine-year-old sister Poppy, as well as the incredible work of doctors, she defied all the odds to pull through.
And even though the battle has worsened Maisy's already debilitating conditions - meaning she is now wheelchair-bound and unable to eat solid food - to her family, it shows her remarkable strength.
"I'm in her awe of her," Sophie said of her daughter, who now cannot use her arms and legs.
"She's the one with all the strength. I get my strength from her."
'We've been taking one year as it comes'
"You have this ideal that you're going to have a baby and that everything is going to be fine," said Sophie.
"We didn't have that at all."
Maisy was born nine weeks early in 2004 after her mother suffered severe pre-eclampsia during pregnancy.
Sophie said an emergency caesarean section "saved both our lives".
At first, Maisy seemed in pretty good health - but it soon transpired she had suffered two significant brain haemorrhages in what would be just her first battle for survival.
As time went on, Maisy developed several debilitating conditions.
She started having severe epileptic fits and was diagnosed with cerebral palsy, while a lack of brain development was identified as microcephaly - where the head and brain is smaller than normal.
She is also blind and has scoliosis, where the spine twists and curves, as well as a low immune system - meaning the simplest coughs and colds can leave her gravely ill.
"The first few years of her life were very up and down," said Sophie.
"Throughout her life we've been taking one year as it comes.
"Through fundraising we've been able to afford to provide physiotherapy and specialist equipment over the last couple of years.
"Over these last couple of years, she's fought so hard to get so strong. She got very good with her posture. She got to her strongest."
However her biggest fight was yet to come.
'It was touch and go whether she was going to make it'
"We've had quite a few times in her life when she's become poorly," said Sophie.
"This year has been the worst since she was born."
It all started with a common cold in January which, because of her low immune system, developed into respiratory syncytial virus (RSV) - which causes breathing difficulties.
"Because of her health, she's so much ore vulnerable to illness, especially during winter," Maisy's mother said.
"We dread this time of year."
Maisy's illness developed into Strep A, which although in most cases is harmless can be fatal if a particularly invasive strain - especially in someone with an already low immune system.
Hers was part of the deadly Strep A outbreak earlier this year, which was linked to 33 known cases and caused 15 deaths.
After two days at Colchester Hospital, she was transferred to St Mary's in London where she was put on a ventilation machine as she could not breathe for herself.
"It was touch and go whether she was going to make it," Sophie said.
"She kept getting infection after infection. When Maisy was very poorly, we were in the balance as to whether she was going to pull through.
"They said to me that I needed to think about whether it would be kinder to let her go."
But Sophie said her special connection with Maisy meant that she knew her daughter still had some fight in her yet.
"Maisy shows me what she can tolerate," she said.
"When the day comes that everything is a bit too much, I know she'll let me know that.
"Maisy might not be able to tell us that directly, but you have to look for it in different ways.
"This wasn't the time - I thought it might be, but she showed me that it wasn't. I knew that she just needed time."
She said making that decision, despite overwhelming medical evidence suggesting Maisy would not pull through, was tough.
"It's a hard place to be," Sophie said.
"You take a lot on advocating for a child who cannot speak. However the strength and power behind a child with disabilities is so amazing."
Maisy spent 15 days on life support before eventually being taken off ventilation, thanks to the "incredible help" and "amazing medical interventions" of doctors.
"They saved her life and we will always be forever thankful to them," Sophie said.
Maisy stayed in St Mary's for a total of three weeks before being transferred back to Colchester Hospital.
She continued to have problems and setbacks, but Sophie said the love of her family - and in particular Poppy - helped her pull through.
"The connection she has with her sister is absolutely amazing," her mother said.
"Poppy's influence has been such a significant one. As soon as she heard Poppy, it was like everything was fine again and everything was going to be okay.
"By all miracles, we managed to bring her home."
'Her whole being has changed'
Since finally coming home on May 15, everything in Maisy's life has changed.
"It's made life a lot more difficult," said Sophie.
"She's totally wheelchair-bound, with no movement in her arms and legs.
"There have also been some neurological changes - I'm not sure how it has happened, but she has gone back to being a three or four-year-old.
"She used to have quite a good social life but now she struggles to understand the world around her.
 She gets very overwhelmed by the world around her. We've had to get her used to different sounds and noises again."
Sophie said that home has now become a bit like a hospital, as different equipment has been set up to help Maisy function from day-to-day.
Fundraising in the For The Love of Maisy appeal has been stepped up to support her recovery.
But Sophie said: "We're just grateful that she's here and that she's proved she wants to be here.
"Her health has deteriorated since the illness and her life has changed this year. But she's just got an amazing amount of fight in her. Her personality just shines through.
"People say to me: 'How do you do it? You're so strong - how do you manage it?'
"Actually, I get my strength from Maisy.
"As long as she keeps fighting, I'll keep fighting for her."


JavaScript is disabled on your browser.
Skip navigation links
Package
Class
Use
Tree
Deprecated
Index
Help
Prev
Next
Frames
No Frames
All Classes
B
E
F
G
I
N
P
S
T
V
W
B
BUILD_RESOURCES
- Static variable in class net.java.javabuild.
BuilderFolders
BUILD_SOURCES
- Static variable in class net.java.javabuild.
BuilderFolders
Builder
- Annotation Type in
net.java.javabuild
BuilderFolders
- Class in
net.java.javabuild
E
Execute
- Annotation Type in
net.java.javabuild
F
fromString(String)
- Static method in enum net.java.javabuild.
Phase
G
GENERATED_RESOURCES
- Static variable in class net.java.javabuild.
BuilderFolders
GENERATED_SOURCES
- Static variable in class net.java.javabuild.
BuilderFolders
GENERATED_TEST_RESOURCES
- Static variable in class net.java.javabuild.
BuilderFolders
GENERATED_TEST_SOURCES
- Static variable in class net.java.javabuild.
BuilderFolders
I
id()
- Method in enum net.java.javabuild.
Phase
N
net.java.javabuild
- package net.java.javabuild
P
Phase
- Enum in
net.java.javabuild
S
SITE
- Static variable in class net.java.javabuild.
BuilderFolders
T
toString()
- Method in enum net.java.javabuild.
Phase
V
valueOf(String)
- Static method in enum net.java.javabuild.
Phase
Returns the enum constant of this type with the specified name.
values()
- Static method in enum net.java.javabuild.
Phase
Returns an array containing the constants of this enum type, in the order they are declared.
W
WEBAPP_RESOURCES
- Static variable in class net.java.javabuild.
BuilderFolders
B
E
F
G
I
N
P
S
T
V
W
Skip navigation links
Package
Class
Use
Tree
Deprecated
Index
Help
Prev
Next
Frames
No Frames
All Classes
Copyright © 2017. All rights reserved.


Content-Type: text/plain Content-Transfer-Encoding: 8bit Dear Sir/Madam, l am a financial consultant based in east london .l have a client (a widow) she has $12,000,000USD with global security company for safe keeping. And she is willing to offer you 20% of the total fund if you can assist her transfer this fund to your country or any bank of your wish.She wishes to invest in a stable economy.Her interest is in companies with potentials for rapid growth in long terms. My client is interested in placing part of her fund in your company,if your country`is by-laws allows foreign investment. call me on my direct phone +447024064728 for more informations and directives. Yours faithfully, Lawrence Morris 7 Kemerton Road. EAST LONDON. N:B The fund is free from drug and laundering related offences and this transaction need utmost confidentiality


--- title: "Satoshi Signatures" caption: "/img/caption-satoshi-signatures.png" externalLink: "/labs/satoshi-signatures" date: 2023-06-13 ---
This mini app produces "valid" Satoshi signatures. More specifically, it produces a message hash and a signature that verify when checked against the public key for the genesis Bitcoin address.
Of course this isn't real: I do not possess the private key behind the Bitcoin genesis address! This app constructs a valid hash and associated ECDSA signature with simple math (see details here).
We cannot construct a valid **message** to verify against because it'd require us to find a valid pre-image for that constructed hash. And that would mean breaking sha256.
The lesson here: ECDSA is constructed with a hash function acting as a Random Oracle. If this assumption is violated (in this case, I'm choosing the hash so it's definitely not random!) ECDSA breaks catastrophically; existential forgery attacks become trivial
This is an easy mistake to make when verifying signature. When verifying an ECDSA signature, a verifier **must** compute the message hash themselves. Otherwise they're not verifying anything of value,as this mini-demo demonstrates. I'm clearly not Satoshi!


Assignments
Home
Assignments
FDM Website
YouTube
Assignment 02
Assignment 03 - Shopping Cart
Assignment 05 - Database Framework
Assignment 06 - FDM Clients
Assignment 07
Assignment 08
Assignment 09
Assignment 10
Assignment 11
Assignment 12
Assignment 13


404: Page not found
Sorry, we’ve misplaced that URL or it’s pointing to something that doesn’t exist. Head back home to try finding it again.
Sorry, we’ve misplaced that URL or it’s pointing to something that doesn’t exist. Head back home to try finding it again.


What is a 'special national incident' and why has Sweden just announced one?
by Catherine EdwardsPolice have been ordered to treat the recent wave of violent crime in Sweden as a "special national incident". But what exactly does that mean, and how does it work?
This article is available to Members of The Local. Read more about membership here.
On Sunday, police announced a "special national incident" to look into a recent spate of violent crime incidents including explosions and fatal shootings.
A "special incident", or särskild händelse in Swedish, can be launched to deal with a range of unexpected or sudden issues which the relevant police unit needs extra help and resources to deal with.
It means that a temporary task force is set up to focus solely on the specified problem, in this case violent crime. The commander-in-chief of the task force is given extra powers to make decisions and allocate resources.
According to Swedish police, the advantages of the approach include access to "more police officers or specialized skills" as well as making it easier to "reduce the load on ordinary police operations".
The length of time that the task force operates depends on the incident. Police have said they expect this one to last for six months but this may be adjusted.
A särskild händelse might be run at the regional level, which is more common, or at the national level, in which case the police's national operations department Noa is responsible for its organization. For special regional incidents, regional police are responsible for the organization and may request support or extra resources from Noa, which has the final say in which help is approved.
The special incident introduced to deal with recent violent crime is a national one.
Previous examples of special national incidents in Sweden include those which dealt with the April 2017 Stockholm terror attack, the summer 2018 wildfires, the wave of migration in 2015, and then-US President Barack Obama's visit in 2013.


{{ partial "header" . }}
{{ $mainLabPage := delimit (slice "/workshops" .Params.workshops) "/" }} Return to Workshop
{{ partial "prev_next_links" .Page }} {{ .Content }} {{ partial "prev_next_links" .Page }}{{ $mainLabPage := delimit (slice "/workshops" .Params.workshops) "/" }} Return to Workshop


|
|||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
AxionCommand
implementations.
See:
Description
| Class Summary | |
| AddConstraintCommand | An ADD CONSTRAINT command, as generated by
ALTER TABLE and CREATE TABLE
statements. |
| BaseAxionCommand | Abstract base AxionCommand implementation. |
| CheckFileStateCommand | A CHECKFILESTATE query. |
| CheckpointCommand | A CHECKPOINT command, which saves any
unsaved data to the persistent store. |
| CollectBindVariablesWhereNodeVisitor | |
| CreateIndexCommand | A CREATE [UNIQUE] [TYPE] INDEX command. |
| CreateSequenceCommand | A CREATE SEQUENCE command. |
| CreateTableCommand | A CREATE[TYPE] TABLE command. |
| DeleteCommand | A DELETE command. |
| DropConstraintCommand | A DROP CONSTRAINT command. |
| DropSequenceCommand | A DROP SEQUENCE command. |
| DropTableCommand | A DROP TABLE command. |
| InsertCommand | An INSERT statement. |
| RemountCommand | A REMOUNT command, which points the database at
a new location. |
| SelectCommand | A SELECT query. |
| ShutdownCommand | A SHUTDOWN command, which closes the database. |
| UpdateCommand | An UPDATE command. |
AxionCommand
implementations.
|
|||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |


Manchester City 2-1 Chelsea: 3 reasons why the Cityzens won | Premier League 2019-20
by Tony AkatugbaPep Guardiola's men were at risk of falling further behind in the high-speed chase at the top of the table, however, they came from a goal down to beat Chelsea 2-1 at the Etihad Stadium.
Chelsea's ever-smiling midfield enforcer N'Golo Kante opened his team's account in the 21st minute, as he received a precise through ball from Mateo Kovacic to stab the ball beyond the reach of Manchester City's Ederson Moraes.
A few minutes later, Kevin De Bruyne was on hand to pull the hosts level, albeit a welcome deflection from Kurt Zouma.
The Cityzens went ahead in the 37th minute, as Riyad Mahrez jinxed his way into the Chelsea box before sending the ball into the bottom corner.
Man City moved into third place with this victory as Chelsea fell to fourth, 2 points behind the defending champions. In this article, we discuss a few reasons why Guardiola's men won.
3. A prompt response
This was a tricky fixture for the Cityzens, as it came on the heels of the embarrassing loss at Anfield last time out.
Chelsea came out fighting, as they matched the defending champions pound for pound. They chased every loose ball, won the 50-50 chances, and energetically took the fight to the Manchester City defensive area.
Their positive persistence paid off early enough, as N'Golo Kante put the visitors ahead in the 21st minute. As it stood, City were behind the table-toppers from Merseyside by 12 points, a double-figure deficit for the first time in the campaign.
Undoubtedly, the spectre of another humiliating loss loomed large at the Etihad, however, the response was instant. The irrepressible Kevin De Bruyne led the charge, as he produced yet another Man of the Match performance, exquisitely cutting onto his left foot on the edge of the Chelsea penalty area before whipping his shot past the Chelsea goalmouth for the equaliser.
With the stakes sky-high, an instant response was just what the doctor ordered.
1 / 2 NEXT


---
title: awesome-reports
---
Your Awesome Title
{% include analytics.html %}
{% include report/header.html %}
{% include report/nav.html %}
{% include report/summary.html %}
{% include report/intro.html %}
{% include report/projects.html %}
{% include report/conclusion.html %}
{% include report/footer.html %}


AWS Batch JobQueue ComputeEnvironmentOrder
The ComputeEnvironmentOrder
property type specifies the order in
which compute environments are tried for job placement within a queue. Compute environments
are
tried in ascending order. For example, if two compute environments are associated
with a job
queue, the compute environment with a lower order integer value is tried for job placement
first.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "ComputeEnvironment" :
String
, "Order" :Integer
}
YAML
ComputeEnvironment:
String
Order:Integer


Volkswagen lowers sales, profit targets for 2020
FRANKFURT, Nov 18 — German auto giant Volkswagen today predicted its sales revenues and pre-tax profit would be lower than expected in 2020 due to trade tensions and slowing global growth.
The company said it was expecting an increase of 20 per cent in sales revenue and 30 per cent in pre-tax profit next year compared to 2016 levels.
In the last update to its multi-year forecast, the company had predicted an increase of 25 per cent and 40 per cent for sales and profit respectively by 2020.
The targets are not considered official annual forecasts, which VW has not yet released for next year.
Investors were unimpressed with VW’s figures, with the company’s shares shedding 3.2 per cent to trade at €177.68 (RM816) around 1.30pm in Frankfurt (1230 GMT/8.30pm Malaysian time).
“It’s fair to say that the very best of the party is over,” chief financial officer Frank Witter said in a conference call.
“On the sales revenue, we have to acknowledge the changed economic framework conditions in the automotive markets,” Witter said, admitting there would have to be a “necessary adjustment” for VW.
“Trade conflicts like Brexit and the tariff uncertainties, combined with the rising concern of a cooling of the global economy, have led us to take out five percentage points” from the revenue forecast.
Witter said this would have “a knock-on effect” on profits.
But he added: “We are still on track for a substantially better calendar year for 2020 compared to 2016.”
Volkswagen last month said it expected deliveries this year to match the 2018 level rather than the slight growth forecast until now.
Unit sales fell 1.5 per cent in the year to September, to around eight million.
The group is attempting to turn the page on its “dieselgate” scandal, which cost it dear in both cash and reputational harm.
Legal cases grind on over VW’s admission four years ago that it illegally fitted 11 million diesel vehicles worldwide with software to make them appear less polluting. — AFP


System Architect Symbol details for "Resource Type"
Activity Qualifier Type (Class)
- Description:
"Descriptive Category" capable of classifying an "Activity Qualifier"
- Comment:
Necessary to indicate the nature of the qualification as opposed to its value.
- Examples:
In medication, "Route", "Form", "Strength", "Special Instructions" are all examples of "Activity
Qualifier Type".
Activity Type (Class)
- Description:
"Descriptive Category" capable of being used as a category for "Activities".
classifier (Association)
- From Class:
"Resource Type"
- To Class:
"Resource Type For Activity"
- From Class:
"Resource Type"
- To Class:
"Resource Type For Activity"
classifier (Association)
- From Class:
"Resource Type"
- To Class:
"Resource Held"
- From Class:
"Resource Type"
- To Class:
"Resource Held"
Contact Method (Class)
- Description:
"Category" describing a "Subject Contact".
- Comment:
-
The population of this includes:
Postal address
Telephone number (landline / mobile)
Fax number
Email address
Telex number
Bleeper number.
DC/Describing (Generalization Node)
- Base Class:
"Descriptive Category"
- Definitions Used:
-
Descriptive Category (Class)
Descriptive Category (Class)
- Description:
"Category" capable of classifying an "Object" directly rather than by associating it with another
"Object".
- Comment:
As distinct from Associative Category.
Incident Type (Class)
- Description:
"Descriptive Category" capable of being used as a category for "Incidents".
Intention Type (Class)
- Description:
"Category" being capable of classifying a purpose of care.
Level (Class)
- Description:
"Descriptive Category" used to describe the level to which something obtains.
Property Qualifier Type (Class)
- Description:
"Descriptive Category" capable of classifying a "Classified Property Qualifier".
- Comment:
Used to indicate how a "Property Qualifier" qualifies a "Subject Property".
- Examples:
Laterality, site (of the body).
Reason For Abandoning (Class)
- Description:
"Category" capable of classifying abandoned activities and intentions.
Reason For Rejection (Class)
- Description:
"Category" capable of classifying rejected "Activities", "Foci" and "Intentions".
- Comment:
-
Attribute in CBS v2.
Extended to cover foci & intentions as well as activities.
Reason Not Required (Class)
- Description:
"Category" capable of classifying reasons why "Activities" are not required.
Resource Held (Class)
- Description:
Availability of a "Subject" as a resource for use by an "Agent".
- Comment:
-
Carried over from CBS V2.
Note that the same "Subject" may act as both a "Temporal Resource Held" and a "Physical Resource
Held". For example, a computer may be treated as a physical resource in the sense that it may be
bought and sold as a commodity. It may also have a role as one (or more) temporal resources in cases
where it is actually in use.
Resource Type (Class)
- Description:
"Descriptive Category" with the ability to classify "Resource Held".
Resource Type For Activity (Class)
- Description:
"Resource For Activity" specifying a "Resource Type" rather than a specific resource.
State Type (Class)
"Descriptive Category" capable of classifying a state of a Class which has a documented state
transition.
Subject Characteristic Type (Class)
- Description:
"Descriptive Category" capable of classifying a "Subject Characteristic".
- Comment:
Note that Subject Characteristic is the only type of Subject Property which is descriptive, ie not
associative.