{ "info": { "author": "Desire2Learn Inc.", "author_email": "Valence@Desire2Learn.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.0", "Programming Language :: Python :: 3.1", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3" ], "description": "=======================================\nDesire2Learn Utility Library for Python\n=======================================\n\nThis utility library divides functionality into a pair of modules:\n\n**Data**. The :py:mod:`d2lvalence-util.data` module provides classes to encapsulate\nthe JSON data structures passed back and forth through the Valence APIs. All the\nclasses inherit from a :py:class:`D2LStructure generic base class\n`.\n\nNote that currently we drive additions to the `data` module by the needs of our\nsamples and ongoing testing: it does not cover all the structures present in the\nValence API.\n\n**Service**. The :py:mod:`d2lvalence-util.service` module contains a suite of helper\nfunctions you can use to make Valence API calls and partially digest the data\nresults passed back. In general, the data passed back by a service function is\neither a pre-defined class inheriting from :py:class:`D2LStructure\n`, or one or more dictionaries formed from the\nretrieved JSON data.\n\nYou can find the \n`latest build `_\nof the utils library on our repository download page.\n\n**Dependencies**. In order to use the Python client utils package, you'll need to\nfirst ensure you have a working Python development environment:\n\n* Python 3 (the reference environment uses Python 3.3).\n\n* The `D2LValence client SDK `_.\n\n* The `Requests Python package `_\n gets used in our :py:mod:`service ` module to make the\n calls through to the back-end service, and in our :py:mod:`auth `\n module so that you can use a calling user context object as an authentication\n helper for Requests.\n\n* The `Bottle Python package `_ if you want to\n use the samples available in conjunction with this client library (not a\n dependency for the client library itself).\n\n\n\n\n.. :changelog:\n\nHistory\n-------\n\n0.1.16()\n++++++++\n* Split out d2lvalence.auth into d2lvalence package, and repackage data and\n service modules into d2lvalence-util package.\n\n\n0.1.15 (2013-05-22)\n+++++++++++++++++++\n* added structures and routes for support user activation\n\n* repair news item attachment upload (in create_news_item_for_orgunit) to avoid\n tacking on extra CR-LF pairs to file data\n\n* broad change to the way dictionaries of control values get passed down from\n the `service` into the requests library, for two reasons: to attempt to\n simplify the code around setting them, and to attempt to better avoid stomping\n values passed down from higher calling layers\n\n* provide a `data.D2LDebugInfo` to act as a carrier for the actual\n request/response object used in the bowels of a service function call: passing\n down a `D2LDebugInfo` in a `d2ldebug` keyword argument captures a ref of the\n request/response used so that you can inspect it after making the service call\n (for examining outgoing URL/headers, full response headers/body/reason, etc)\n\n* factor `Response.raise_for_status()` call into the `_fetch_content()` private\n service method to put it in one place, and to allow us the opportunity to\n gather the response object into a provided `D2LDebugInfo` before possibly\n raising the exception for a failed call\n\n* added `with_traceback()` to the various exceptions service libarary raises for\n more provided trace info on exceptions\n\n* added more type checking around parameters passed into service functions that\n are expected to be D2LValence data classes\n\n* repaired post to create a discussion post to account for being able to send\n one or more file attachments along with the new post; added\n `data.D2LDiscussionPostAttachment` child of `data.D2LFile` to handle\n discussion post attachments\n\n* repaired `service.check_versions()` to consume an array of\n SupportedVersionRequest objects\n\n* fixed bug in `data.CreateCourseOffering.fashion_CreateCourseOffering` factory\n function to set `Path` property for the new instance\n\n* added service function to retrieve a raw news item attachment for a news item\n in an org unit\n\n* added structures and routes to support ePortfolio package export and import\n\n0.1.14 (2013-04-29)\n+++++++++++++++++++\n* repaired D2LUserContext so that it (a) handles API routes that contain\n characters that would URL-escaped in both it's AuthBase implementation *and*\n its :func:`create_authenticated_url` method, and (b) does this handling in the\n same way that does D2L authentication on other language platforms.\n\n0.1.13 (2013-04-17)\n+++++++++++++++++++\n* enhanced `service` functions to allow for passing keyword args down into the\n requests library making the outgoing HTTP calls\n\n* explicitly added 'application/json' content type header to service actions\n sending JSON to the service\n\n* modified multipart/mixed upload functions in `service` module to cope with\n changes in requests v1.2.0 around setting the Content-Type header for the\n upload action: now the functions use sessions around a prepped-request object,\n consistent with requests library new pattern for messing with the headers/body\n of an HTTP request\n\n* added `data.D2LNewsAttachment` child of `data.D2LFile` to handle adding\n attachments to news events; added `data.NewsItemData` structure to support\n creation of news events; added new routes to support more news actions\n\n* added `data.CreateEnrollmentData` structure to handle structure sent during\n enrollment creation; added service routes around user enrollment (delete,\n create)\n\n* added `data.GroupCategoryDataFetch` and service methods to support some group\n routes; added routes around group org units\n\n* added `data.GradeObjectCreateData` and re-factored `data.GradeObject`, as well\n as the derived grade object type classes, to separate structures for fetching\n and creating grade objects; added `data.GradeObjectCategory` and\n `data.GradeObjectCategoryData` to support grade object category routes; added\n service routes around grade objects, grade categories, grade values\n\n\n* added factory methods to the incoming-grade-value structures for easier\n creation; added `data.IncomingFinalAdjustedGradeValue` structure for updating\n final adjusted grade value\n\n* added data structures and routes around course completion\n\n* added routes around calendar events\n\n* fixed `service.get_organization_info` to return an Organization JSON\n structure, and not raw request content.\n\n* fixed `service.get_all_my_grade_values_for_org` to return grade value\n instances, instead of grade object instances\n\n0.1.12 (2013-01-23)\n+++++++++++++++++++\n* fixed bug in D2LUserContext's implementation as a requests.auth.AuthBase so\n that it more properly handles API routes that contain characters that would be\n URL escaped by the requests library\n\n0.1.11 (2013-01-04)\n+++++++++++++++++++\n* revised `auth.D2LAppContext.create_url_for_authentication` to include an\n `encrypt_request` parameter (true by default) to allow generation of\n for-authentication URLs that do not use HTTPS\n\n* added `data.D2LDropboxSubsmission` and several service functions to fill out\n support for the dropbox routes\n\n* fixed parm name in get dropbox folder route\n\n* fixed the `ExternalEmail` properties for `data.CreateUserData` and\n `data.UpdateUserData` to provide better support for having `None` values\n (which will translate to `null` when serialized to JSON)\n\n* added `service.update_user()` for updating user records\n\n* fixed the `RoleId` property for `data.CreateUserData` to have an empty default\n value rather than a numeric default (which probably isn't a useful default for\n anyone)\n\n* added `data.UserPasswordData` and service methods to support the user password\n routes (deleting, changing, resetting)\n\n* added `data.Organization` and `data.OrgUnit` and service methods to support\n routes that query the org structure\n\n* added `data.EnrollmentData` and service functions to fill out support for\n enrollment routes\n\n* added `data.IncomingGradeValue` and its derived classes, and service functions\n to fill out support for grades routes\n\n* added `data.NewsItem` and several service functions to fill out support for\n the news routes\n\n* added support to `service` module to try and support pre-1.0.0 requests\n package as well as post-1.0.0 versions.\n\n0.1.10 (2012-12-18)\n+++++++++++++++++++\n* revised `data` and `service` modules to update for compatibility with requests\n package post version 1.0.0\n\n0.1.9 (2012-10-15)\n++++++++++++++++++\n* added data and service functions for Learning Repostory routes\n\n* added data and service functions for course offering and content routes\n\n* added data and service functions for discussion forum routes\n* renamed utility functions in `data` module used for property set/getting to\n suggest they should be internal and not directly used\n\n* added default (empty) value for `DescriptorDict` property to the\n `data.D2LLockerFile` class\n\n* added `files` named parameter to post and put utility methods for simple file\n post/puts\n\n* fix `service.rename_group_locker_folder()` to properly form route\n\n* cleanup service module to python-ify parameter names\n\n0.1.8 (2012-08-30)\n++++++++++++++++++\n* added support to the `auth` module for building an anonymous user context\n (context with no user ID/Key pair) -- clients can use such a context to make\n calls to the various API Property/Version routes to query LMS for API versions\n\n* moved auth to use direct `==` comparison to check for empty parameters instead\n of use `in (singleItemList,)` pattern\n\n* factored out process of fetching contents of Requests objects into a single\n funtion, moved to examine `request.headers['content.type']` to determine how\n to handle contents rather than just `try` to fetch r.JSON and default to\n r.content\n\n* repaired `service.check_versions()` to pass the `supported_version_request_array`\n as json data\n\n* fixed `service._simple_upload()` to seek underlying buffer stream to head\n position before and after read, instead of trying to seek on the byte-string\n we read the stream into\n\n* added support to the `service` library for distinguishing between anonymous and\n non-anonymous user contexts, and let version calls be made with anonymous\n contexts, raise errors in the case of all other calls that demand a user context\n\n* added more grade routes for fetching 'my' grades\n\n0.1.7 (2012-08-10)\n++++++++++++++++++\n* added `service.get_profile_by_user_id()`\n\n* added `data.LockerItem`, `data.LockerFolder`, `data.GroupLocker` to support\n locker operations\n\n* added to suite of locker functions to the `service` module to assist with locker\n operations: this includes an example of how you might want to handle the\n \"simple upload\" process for those Valence routes that use simple file upload\n\n0.1.6 (2012-07-13)\n++++++++++++++++++\n* Fix bug in `update_social_media_url_by_url()`... we should look\n for 'url'-keyed entries, not 'name'-keyed entries\n\n* Some documentation revisions\n\n* Remove 'exceptions' module as not utilized\n\n0.1.5 (2012-07-11)\n++++++++++++++++++\n* Changed `D2LStructure.as_json()` to kick back a deep-copy of the encapsulated\n data, instead of a ref to the instance's internal data structure\n\n* Bug fixes\n\n0.1.4 (2012-07-06)\n++++++++++++++++++\n* Refactoring and re-building of the libraries: moved data-structures into\n `data` module and service-related functions into `service` module;\n auth-related functionality remains in `auth`\n\n* Re-worked samples to be more in line with design for the other client\n libraries\n\n0.1.0 (2012-06-02)\n++++++++++++++++++\n* Initial version", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://www.desire2learn.com/r/valencehome", "keywords": null, "license": "-*- coding: utf-8 -*-\nD2LValence client library package.\n\n Copyright (c) 2012-2013 Desire2Learn Incorporated.\n\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not\nuse this file except in compliance with the License. You may obtain a copy of\nthe license at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\nWARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\nLicense for the specific language governing permissions and limitations under\nthe License.", "maintainer": null, "maintainer_email": null, "name": "D2LValence-Util", "package_url": "https://pypi.org/project/D2LValence-Util/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/D2LValence-Util/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://www.desire2learn.com/r/valencehome" }, "release_url": "https://pypi.org/project/D2LValence-Util/0.1.16/", "requires_dist": null, "requires_python": null, "summary": "D2LValence utility library for Python.", "version": "0.1.16" }, "last_serial": 878345, "releases": { "0.1.16": [ { "comment_text": "", "digests": { "md5": "3f078888910ce3ad0e3052b18b400460", "sha256": "f8294374e2f2c177246a1448e7c99cb590092cea715975ab9794eef248eebcbb" }, "downloads": -1, "filename": "D2LValence-Util-0.1.16.tar.gz", "has_sig": false, "md5_digest": "3f078888910ce3ad0e3052b18b400460", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28376, "upload_time": "2013-10-01T20:08:44", "url": "https://files.pythonhosted.org/packages/6f/81/92650036d68461e4c9616c63318c07d49401a282fea217052bc230acfba3/D2LValence-Util-0.1.16.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3f078888910ce3ad0e3052b18b400460", "sha256": "f8294374e2f2c177246a1448e7c99cb590092cea715975ab9794eef248eebcbb" }, "downloads": -1, "filename": "D2LValence-Util-0.1.16.tar.gz", "has_sig": false, "md5_digest": "3f078888910ce3ad0e3052b18b400460", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28376, "upload_time": "2013-10-01T20:08:44", "url": "https://files.pythonhosted.org/packages/6f/81/92650036d68461e4c9616c63318c07d49401a282fea217052bc230acfba3/D2LValence-Util-0.1.16.tar.gz" } ] }