..
This file is part of lazr.restfulclient.
lazr.restfulclient is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, version 3 of the License.
lazr.restfulclient is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
License for more details.
You should have received a copy of the GNU Lesser General Public License
along with lazr.restfulclient. If not, see <http://www.gnu.org/licenses/>.
LAZR restfulclient
******************
A programmable client library that takes advantage of the commonalities among
lazr.restful web services to provide added functionality on top of wadllib.
Please see https://dev.launchpad.net/LazrStyleGuide and
https://dev.launchpad.net/Hacking for how to develop in this
package.
===========================
NEWS for lazr.restfulclient
===========================
0.14.6 (2024-01-03)
===================
- Add ``Read the Docs`` configuration
- Add Python 3.12 compatibility
0.14.5 (2022-10-15)
===================
- Add ``pre-commit`` configuration.
- Publish documentation on Read the Docs.
- Apply black code formatter.
- Apply inclusive naming via the woke pre-commit hook.
- Fix ``HostedFile.open(mode="w")`` on Python 3.
0.14.4 (2021-09-13)
===================
- Drop support for Python < 2.6.
- Adjust versioning strategy to avoid importing pkg_resources, which is
slow in large environments.
0.14.3 (2020-01-27)
===================
- Restore from_string, to_string, and __str__ methods of
lazr.restfulclient.authorize.oauth.AccessToken, unintentionally removed
in 0.14.0.
0.14.2 (2018-11-17)
===================
- Fix compatibility with httplib2 0.12.0 for Python 3. [bug=1803754]
- Really fix compatibility with httplib2 < 0.9.
- Fix compatibility with httplib2 0.9 for Python 3.
- Require httplib2 >= 0.7.7 for Python 3.
0.14.1 (2018-11-16)
===================
- Add compatibility with httplib2 0.12.0. [bug=1803558]
0.14.0 (2018-05-08)
===================
- Switch from buildout to tox.
- Port from oauth to oauthlib. Some tests still need to use oauth until
lazr.authentication is ported. [bug=1672458]
- Use the distro module rather than platform.linux_distribution, since the
latter is deprecated in Python 3.5 and will be removed in 3.7.
[bug=1473577]
0.13.5 (2017-09-04)
===================
- Fix bytes vs. unicode in json.loads calls. [bug=1403524]
- Decode header before comparison. [bug=1414075]
- Fix urllib unquote imports. [bug=1414055]
- Fix urllib urlencode imports. [bug=1425609]
- Tolerate httplib2 versions earlier than 0.9 again.
- Fix handling of 304 responses with an empty body on Python 3.
[bug=1714960]
0.13.4 (2014-12-05)
===================
- Port to python3.
- Support proxy settings from environment by default.
0.13.3 (2013-03-22)
===================
- Fall back to httplib2's default certificate path if the
Debian/Ubuntu one doesn't exist. The default bundle might work,
but a path that doesn't exist is never going to. New httplib2
bundles contain the required CA certs.
0.13.2 (2012-12-06)
===================
- lazr.restfulclient is almost exclusively used with launchpad.net,
but httplib2's cert bundle doesn't include launchpad's CA. Therefore
with the default setup launchpadlib doesn't work unless cert checking
is disabled. This is mitigated by the fact that Ubuntu carries a patch
to httplib2 to make it use the system CA certs. This release makes that
the default approach in lazr.restfulclient so that launchpad.net can be
used by anyone with the Debian/Ubuntu CA certs path
(/etc/ssl/certs/ca-certificates.crt), regardless of whether they are
using Ubuntu's patched version of httplib2. Any platforms that don't have
that path remain broken.
0.13.1 (2012-09-26)
===================
- Named POST operations may result in a resource moving to a new location.
Detect the redirect and reload the resource from its new URL.
0.13.0 (2012-06-19)
===================
- Add environment variable, LP_DISABLE_SSL_CERTIFICATE_VALIDATION, to
disable SSL certificate checks. Most useful when testing against
development servers.
0.12.3 (2012-05-17)
===================
- Implement the mocked out authorizeRequest for the BasicHttpAuthorizer
object.
0.12.2 (2012-04-16)
===================
- Fix ServiceRoot.load() so that it properly handles relative URLs
in a way that doesn't break subsequent API calls (bug 681767).
0.12.1 (2012-03-28)
===================
- Made the cache safe for use by concurrent threads and processes.
0.12.0 (2011-06-30)
===================
- Give a more useful AttributeError
0.11.2 (2011-02-03)
===================
- The 'web_link' parameter now shows up in lp_attributes, not
lp_entries.
0.11.1 (2010-11-04)
===================
- Restored compatibility with Python 2.4.
0.11.0 (2010-10-28)
===================
- Make it possibly to specify an "application name" separate from the
OAuth consumer key. If present, the application name is used in the
User-Agent header; otherwise, the OAuth consumer key is used.
- Add a "system-wide consumer" which can be used to authorize a
user's entire account to use a web service, rather than doing it
one application at a time.
0.10.0 (2010-08-12)
===================
- Add compatibility with lazr.restful 0.11.0
0.9.21 (2010-07-19)
===================
- Ensure that all JSON representations are converted to Unicode.
- Restore the old behavior of CollectionWithKeyBasedLookup, which is
less efficient but easier to understand. That is, the following
code will work as it did in 0.9.17, performing the lookup
immediately and raising a KeyError if the object doesn't exist on
the server side.
service.collection['key']
The more efficient behavior (which doesn't perform the lookup until
you actually need the object) is still available, but you have to
write this code instead:
service.collection('key')
- Exceptional conditions will now raise an appropriate subclass of
HTTPError instead of always raising HTTPError.
- Credential files are now created as being user-readable only. (In
launchpadlib, they were created using the default umask and then
made user-readable with chmod.)
0.9.20 (2010-06-25)
===================
- It's now possible to pass a relative URL (relative to the versioned
service root) into load().
0.9.19 (2010-06-21)
===================
- When the representation of a resource, as retrieved from the
server, is of a different type than expected, the server value now
takes precedence. This means that, in rare situations, a resource
may start out presumed to be of one type, and change its
capabilities once its representation is fetched from the server.
0.9.18 (2010-06-16)
===================
- Made it possible to avoid fetching a representation of every single
object looked up from a CollectionWithKeyBasedLookup (by defining
.collection_of on the class), potentially improving script
performance.
0.9.17 (2010-05-10)
===================
- Switched back to asking for compression using the standard
Accept-Encoding header. Using the TE header has never worked in a
real situation due to HTTP intermediaries.
0.9.16 (2010-05-03)
===================
- If a server returns a 502 or 503 error code, lazr.restfulclient
will retry its request a configurable number of times in hopes that
the error is transient.
- It's now possible to invoke lazr.restful destructor methods, with
the lp_delete() method.
0.9.15 (2010-04-27)
====================
- Clients will no longer fetch a representation of a collection
before invoking a named operation on the collection.
0.9.14 (2010-04-15)
===================
- Clients now send a useful and somewhat customizable User-Agent
string.
- Added a workaround for a bug in httplib2.
- Removed the software dependency on lazr.restful except when running
the full test suite. (The standalone_test test suite tests basic
functionality of lazr.restfulclient to make sure the code base
doesn't fundamentally depend on lazr.restful.)
0.9.13 (2010-03-24)
===================
- Removed some no-longer-needed compatibility code for buggy
servers, and fixed the tests to work with the new release of simplejson.
- The fix in 0.9.11 to avoid errors on eCryptfs filesystems wasn't
strict enough. The maximum filename length is now 143 characters.
0.9.12 (2010-03-09)
===================
- Fixed a bug that prevented a unicode string from being used as a
cache filename.
0.9.11 (2010-02-11)
===================
- If a lazr.restful web service publishes multiple versions, you can
now specify which version to use in a separate constructor argument,
rather than sticking it on to the end of the service root.
- Filenames in the cache will never be longer than 150 characters,
to avoid errors on eCryptfs filesystems.
- Added a proof-of-concept test for OAuth-signed anonymous access.
- Fixed comparisons of entries and hosted files with None.
0.9.10 (2009-10-23)
===================
- lazr.restfulclient now requests the correct WADL media type.
- Made HTTPError strings more verbose.
- Implemented the equality operator for entry and hosted-file resources.
- Resume setting the 'credentials' attribute on ServerRoot to avoid
breaking compatibility with launchpadlib.
0.9.9 (2009-10-07)
==================
- The WSGI authentication middleware has been moved from lazr.restful
to the new lazr.authentication library, and lazr.restfulclient now
uses the new library.
0.9.8 (2009-10-06)
==================
- Added support for OAuth.
0.9.7 (2009-09-30)
==================
- Added support for HTTP Basic Auth.
0.9.6 (2009-09-16)
==================
- Made compatible with lazr.restful 0.9.6.
0.9.5 (2009-08-28)
==================
- Removed debugging code.
0.9.4 (2009-08-26)
==================
- Removed unnecessary build dependencies.
- Updated tests for newer version of simplejson.
- Made tests less fragile by cleaning up lazr.restful example filemanager
between tests.
- normalized output of simplejson to unicode.
0.9.3 (2009-08-05)
==================
Removed a sys.path hack from setup.py.
0.9.2 (2009-07-16)
==================
- Fields that can contain binary data are no longer run through
simplejson.dumps().
- For fields that can take on a limited set of values, you can now get
a list of possible values.
0.9.1 (2009-07-13)
==================
- The client now knows to look for multipart/form-data representations
and will create them as appropriate. The upshot of this is that you
can now send binary data when invoking named operations that will
accept binary data.
0.9 (2009-04-29)
================
- Initial public release
Raw data
{
"_id": null,
"home_page": "https://launchpad.net/lazr.restfulclient",
"name": "lazr.restfulclient",
"maintainer": "LAZR Developers",
"docs_url": null,
"requires_python": "",
"maintainer_email": "lazr-developers@lists.launchpad.net",
"keywords": "",
"author": "",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/ea/a3/45d80620a048c6f5d1acecbc244f00e65989914bca370a9179e3612aeec8/lazr.restfulclient-0.14.6.tar.gz",
"platform": null,
"description": "..\n This file is part of lazr.restfulclient.\n\n lazr.restfulclient is free software: you can redistribute it and/or modify it\n under the terms of the GNU Lesser General Public License as published by\n the Free Software Foundation, version 3 of the License.\n\n lazr.restfulclient is distributed in the hope that it will be useful, but\n WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public\n License for more details.\n\n You should have received a copy of the GNU Lesser General Public License\n along with lazr.restfulclient. If not, see <http://www.gnu.org/licenses/>.\n\nLAZR restfulclient\n******************\n\nA programmable client library that takes advantage of the commonalities among\nlazr.restful web services to provide added functionality on top of wadllib.\n\nPlease see https://dev.launchpad.net/LazrStyleGuide and\nhttps://dev.launchpad.net/Hacking for how to develop in this\npackage.\n\n\n===========================\nNEWS for lazr.restfulclient\n===========================\n\n0.14.6 (2024-01-03)\n===================\n\n - Add ``Read the Docs`` configuration\n - Add Python 3.12 compatibility\n\n0.14.5 (2022-10-15)\n===================\n\n - Add ``pre-commit`` configuration.\n - Publish documentation on Read the Docs.\n - Apply black code formatter.\n - Apply inclusive naming via the woke pre-commit hook.\n - Fix ``HostedFile.open(mode=\"w\")`` on Python 3.\n\n0.14.4 (2021-09-13)\n===================\n\n - Drop support for Python < 2.6.\n - Adjust versioning strategy to avoid importing pkg_resources, which is\n slow in large environments.\n\n0.14.3 (2020-01-27)\n===================\n\n - Restore from_string, to_string, and __str__ methods of\n lazr.restfulclient.authorize.oauth.AccessToken, unintentionally removed\n in 0.14.0.\n\n0.14.2 (2018-11-17)\n===================\n\n - Fix compatibility with httplib2 0.12.0 for Python 3. [bug=1803754]\n - Really fix compatibility with httplib2 < 0.9.\n - Fix compatibility with httplib2 0.9 for Python 3.\n - Require httplib2 >= 0.7.7 for Python 3.\n\n0.14.1 (2018-11-16)\n===================\n\n - Add compatibility with httplib2 0.12.0. [bug=1803558]\n\n0.14.0 (2018-05-08)\n===================\n\n - Switch from buildout to tox.\n - Port from oauth to oauthlib. Some tests still need to use oauth until\n lazr.authentication is ported. [bug=1672458]\n - Use the distro module rather than platform.linux_distribution, since the\n latter is deprecated in Python 3.5 and will be removed in 3.7.\n [bug=1473577]\n\n0.13.5 (2017-09-04)\n===================\n\n - Fix bytes vs. unicode in json.loads calls. [bug=1403524]\n - Decode header before comparison. [bug=1414075]\n - Fix urllib unquote imports. [bug=1414055]\n - Fix urllib urlencode imports. [bug=1425609]\n - Tolerate httplib2 versions earlier than 0.9 again.\n - Fix handling of 304 responses with an empty body on Python 3.\n [bug=1714960]\n\n0.13.4 (2014-12-05)\n===================\n\n - Port to python3.\n - Support proxy settings from environment by default.\n\n0.13.3 (2013-03-22)\n===================\n\n - Fall back to httplib2's default certificate path if the\n Debian/Ubuntu one doesn't exist. The default bundle might work,\n but a path that doesn't exist is never going to. New httplib2\n bundles contain the required CA certs.\n\n0.13.2 (2012-12-06)\n===================\n\n - lazr.restfulclient is almost exclusively used with launchpad.net,\n but httplib2's cert bundle doesn't include launchpad's CA. Therefore\n with the default setup launchpadlib doesn't work unless cert checking\n is disabled. This is mitigated by the fact that Ubuntu carries a patch\n to httplib2 to make it use the system CA certs. This release makes that\n the default approach in lazr.restfulclient so that launchpad.net can be\n used by anyone with the Debian/Ubuntu CA certs path\n (/etc/ssl/certs/ca-certificates.crt), regardless of whether they are\n using Ubuntu's patched version of httplib2. Any platforms that don't have\n that path remain broken.\n\n0.13.1 (2012-09-26)\n===================\n\n - Named POST operations may result in a resource moving to a new location.\n Detect the redirect and reload the resource from its new URL.\n\n0.13.0 (2012-06-19)\n===================\n\n - Add environment variable, LP_DISABLE_SSL_CERTIFICATE_VALIDATION, to\n disable SSL certificate checks. Most useful when testing against\n development servers.\n\n0.12.3 (2012-05-17)\n===================\n\n - Implement the mocked out authorizeRequest for the BasicHttpAuthorizer\n object.\n\n0.12.2 (2012-04-16)\n===================\n\n - Fix ServiceRoot.load() so that it properly handles relative URLs\n in a way that doesn't break subsequent API calls (bug 681767).\n\n0.12.1 (2012-03-28)\n===================\n\n - Made the cache safe for use by concurrent threads and processes.\n\n0.12.0 (2011-06-30)\n===================\n\n - Give a more useful AttributeError\n\n0.11.2 (2011-02-03)\n===================\n\n - The 'web_link' parameter now shows up in lp_attributes, not\n lp_entries.\n\n0.11.1 (2010-11-04)\n===================\n\n - Restored compatibility with Python 2.4.\n\n0.11.0 (2010-10-28)\n===================\n\n - Make it possibly to specify an \"application name\" separate from the\n OAuth consumer key. If present, the application name is used in the\n User-Agent header; otherwise, the OAuth consumer key is used.\n\n - Add a \"system-wide consumer\" which can be used to authorize a\n user's entire account to use a web service, rather than doing it\n one application at a time.\n\n0.10.0 (2010-08-12)\n===================\n\n - Add compatibility with lazr.restful 0.11.0\n\n0.9.21 (2010-07-19)\n===================\n\n - Ensure that all JSON representations are converted to Unicode.\n\n - Restore the old behavior of CollectionWithKeyBasedLookup, which is\n less efficient but easier to understand. That is, the following\n code will work as it did in 0.9.17, performing the lookup\n immediately and raising a KeyError if the object doesn't exist on\n the server side.\n\n service.collection['key']\n\n The more efficient behavior (which doesn't perform the lookup until\n you actually need the object) is still available, but you have to\n write this code instead:\n\n service.collection('key')\n\n - Exceptional conditions will now raise an appropriate subclass of\n HTTPError instead of always raising HTTPError.\n\n - Credential files are now created as being user-readable only. (In\n launchpadlib, they were created using the default umask and then\n made user-readable with chmod.)\n\n0.9.20 (2010-06-25)\n===================\n\n - It's now possible to pass a relative URL (relative to the versioned\n service root) into load().\n\n0.9.19 (2010-06-21)\n===================\n\n - When the representation of a resource, as retrieved from the\n server, is of a different type than expected, the server value now\n takes precedence. This means that, in rare situations, a resource\n may start out presumed to be of one type, and change its\n capabilities once its representation is fetched from the server.\n\n0.9.18 (2010-06-16)\n===================\n\n - Made it possible to avoid fetching a representation of every single\n object looked up from a CollectionWithKeyBasedLookup (by defining\n .collection_of on the class), potentially improving script\n performance.\n\n0.9.17 (2010-05-10)\n===================\n\n - Switched back to asking for compression using the standard\n Accept-Encoding header. Using the TE header has never worked in a\n real situation due to HTTP intermediaries.\n\n0.9.16 (2010-05-03)\n===================\n\n - If a server returns a 502 or 503 error code, lazr.restfulclient\n will retry its request a configurable number of times in hopes that\n the error is transient.\n\n - It's now possible to invoke lazr.restful destructor methods, with\n the lp_delete() method.\n\n0.9.15 (2010-04-27)\n====================\n\n - Clients will no longer fetch a representation of a collection\n before invoking a named operation on the collection.\n\n0.9.14 (2010-04-15)\n===================\n\n - Clients now send a useful and somewhat customizable User-Agent\n string.\n\n - Added a workaround for a bug in httplib2.\n\n - Removed the software dependency on lazr.restful except when running\n the full test suite. (The standalone_test test suite tests basic\n functionality of lazr.restfulclient to make sure the code base\n doesn't fundamentally depend on lazr.restful.)\n\n0.9.13 (2010-03-24)\n===================\n\n- Removed some no-longer-needed compatibility code for buggy\n servers, and fixed the tests to work with the new release of simplejson.\n\n- The fix in 0.9.11 to avoid errors on eCryptfs filesystems wasn't\n strict enough. The maximum filename length is now 143 characters.\n\n0.9.12 (2010-03-09)\n===================\n\n- Fixed a bug that prevented a unicode string from being used as a\n cache filename.\n\n0.9.11 (2010-02-11)\n===================\n\n- If a lazr.restful web service publishes multiple versions, you can\n now specify which version to use in a separate constructor argument,\n rather than sticking it on to the end of the service root.\n- Filenames in the cache will never be longer than 150 characters,\n to avoid errors on eCryptfs filesystems.\n- Added a proof-of-concept test for OAuth-signed anonymous access.\n- Fixed comparisons of entries and hosted files with None.\n\n0.9.10 (2009-10-23)\n===================\n\n- lazr.restfulclient now requests the correct WADL media type.\n- Made HTTPError strings more verbose.\n- Implemented the equality operator for entry and hosted-file resources.\n- Resume setting the 'credentials' attribute on ServerRoot to avoid\n breaking compatibility with launchpadlib.\n\n0.9.9 (2009-10-07)\n==================\n\n- The WSGI authentication middleware has been moved from lazr.restful\n to the new lazr.authentication library, and lazr.restfulclient now\n uses the new library.\n\n0.9.8 (2009-10-06)\n==================\n\n- Added support for OAuth.\n\n0.9.7 (2009-09-30)\n==================\n\n- Added support for HTTP Basic Auth.\n\n0.9.6 (2009-09-16)\n==================\n\n- Made compatible with lazr.restful 0.9.6.\n\n0.9.5 (2009-08-28)\n==================\n\n- Removed debugging code.\n\n0.9.4 (2009-08-26)\n==================\n\n- Removed unnecessary build dependencies.\n\n- Updated tests for newer version of simplejson.\n\n- Made tests less fragile by cleaning up lazr.restful example filemanager\n between tests.\n\n- normalized output of simplejson to unicode.\n\n0.9.3 (2009-08-05)\n==================\n\nRemoved a sys.path hack from setup.py.\n\n0.9.2 (2009-07-16)\n==================\n\n- Fields that can contain binary data are no longer run through\n simplejson.dumps().\n\n- For fields that can take on a limited set of values, you can now get\n a list of possible values.\n\n0.9.1 (2009-07-13)\n==================\n\n- The client now knows to look for multipart/form-data representations\n and will create them as appropriate. The upshot of this is that you\n can now send binary data when invoking named operations that will\n accept binary data.\n\n\n0.9 (2009-04-29)\n================\n\n- Initial public release\n",
"bugtrack_url": null,
"license": "LGPL v3",
"summary": "A programmable client library that takes advantage of the commonalities among",
"version": "0.14.6",
"project_urls": {
"Documentation": "https://lazrrestfulclient.readthedocs.io/en/latest/",
"Download": "https://launchpad.net/lazr.restfulclient/+download",
"Homepage": "https://launchpad.net/lazr.restfulclient",
"Issue Tracker": "https://bugs.launchpad.net/lazr.restfulclient",
"Source": "https://code.launchpad.net/lazr.restfulclient"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6fde0588cc50519e5b7ec75742d3e7cb7234298c95ef580b97f0ed3ac8fbc891",
"md5": "57c9bebe983a6a01487cede365af62d6",
"sha256": "97e95b1d8f0ec7fed998b48aea773baf8dcab06cf78a4deb9a046af5cca0cea2"
},
"downloads": -1,
"filename": "lazr.restfulclient-0.14.6-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "57c9bebe983a6a01487cede365af62d6",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 67413,
"upload_time": "2024-01-08T22:07:56",
"upload_time_iso_8601": "2024-01-08T22:07:56.570956Z",
"url": "https://files.pythonhosted.org/packages/6f/de/0588cc50519e5b7ec75742d3e7cb7234298c95ef580b97f0ed3ac8fbc891/lazr.restfulclient-0.14.6-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "eaa345d80620a048c6f5d1acecbc244f00e65989914bca370a9179e3612aeec8",
"md5": "7c4bd5a0dfb3f6ab726317c2e521f26f",
"sha256": "43f12a1d3948463b1462038c47b429dcb5e42e0ba7f2e16511b02ba5d2adffdb"
},
"downloads": -1,
"filename": "lazr.restfulclient-0.14.6.tar.gz",
"has_sig": false,
"md5_digest": "7c4bd5a0dfb3f6ab726317c2e521f26f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 58590,
"upload_time": "2024-01-08T22:07:59",
"upload_time_iso_8601": "2024-01-08T22:07:59.007585Z",
"url": "https://files.pythonhosted.org/packages/ea/a3/45d80620a048c6f5d1acecbc244f00e65989914bca370a9179e3612aeec8/lazr.restfulclient-0.14.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-01-08 22:07:59",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "lazr.restfulclient"
}