Package: yandeley
Mendeley Python SDKThe Mendeley Python SDK provides access to theMendeley API. For more information on the API and its capabilities, see theMendeley developer portal.InstallationYou might like to set up a virtualenv for your project that uses the Mendeley API. See thisvirtualenv tutorialfor instructions. IDEs like IntelliJ with the Python plugin or PyCharm can also help you manage a virtualenv.Install dependencies fromPyPIusingpip, a package manager for Python.pip install mendeleyDocumentationFull documentation, including examples, can be found onReadTheDocs.Continuous integrationSee theTravis CI buildto find:The current build statusLogs from the SDK being exercised against the live API (this may be helpful if you are stuck when building your own application)ReleasesTravis CI automatically pushes new releases to Pypi, and triggers ReadTheDocs rebuilds, if the following conditions are true:The commit is on the master branchThe commit has been tagged (this can be achieved with a flow likegit tag v1.2.3and thengit push --tags)The build passes for that commitSee the .travis.yml 'deploy' section for more specific information.CompatibilityOur SDK is tested on CI against both Python 2 and 3. Inspect the .travis.yml file to find out which specific Python versions have been tested with this project.Both builds in the build matrix must pass in order for the overall build for a commit to pass.If you are working on the code, the 'future' library and thecompatible idioms guidecan help you to support both versions.Contributing to the SDKSubmission methodFork the repositoryMake your changes (please add tests - they will be exercised)Propose a pull request back to our repository. The CI system will test your changes on top of the current master commit, so we can see if they will work.Dependency setupSet up a virtualenv if you like.Runpip install -r requirements.txtTesting your changesRun the test suite to see if your changes worked. If you are using a virtualenv, consider usingtox. If not, the good oldpy.testcommand also works.PrerequisitesRegister a Mendeley platform app.Set the Mendeley API client ID and secret as environment variables in your shell:export MENDELEY_CLIENT_ID=[your app client ID]
 export MENDELEY_CLIENT_SECRET=[your app client secret]To run tests the normal wayCreate atest user accountthat you can safely make a mess inside.WARNING:Our user flow test suite exercises the API as a particular Mendeley user. The suite contains tests that will delete all documents associated with that account.Do notuse your personal Mendeley account!Set the necessary extra credentials:export MENDELEY_ACCESS_TOKEN=[user's access token]
 export MENDELEY_REDIRECT_URI=[redirect URI of your app]Turn on the VCR cache (if you like) by settingrecordMode: oncein the test config YAML file.Run all tests in the test suite:py.testTo replicate CI testingIn the CI environment, it is not (yet) possible to test interactions with API endpoints that require user access tokens. We can only exercise tests that use the client credentials flow. You must put any tests which CI cannot run in the test/manual folder, so that the CI test run command can ignore them.Turn off the VCR cache (CI only makes sense when running against the real API) by settingrecordMode: allthe test config YAML file.Run the test suite ignoring 'user mode' tests that require user access tokens:py.test --ignore=test/manual/Writing documentationDocumentation is generated using Sphinx, and hosted onReadTheDocs. There are some pages in the docs directory in the repository, which refer to classes. The classes themselves have comments with a special format to generate the documentation - think Javadoc.If you add or change a public method, you should update the documentation comments.If you add new classes, you must include them in the correct place in the docs directory.Sample applicationsmendeley-api-python-catalog-example, a command-line application for accessing the Mendeley catalog.mendeley-api-python-example, a Flask Web application for accessing a user's library.