Cacophony Project REST API client for Python
Project description
Cacophony Project API Client for Python
Python client for the Cacophony REST API.
Installation
This API client requires Python 3.6 or later. At present the library is not yet available on PyPI.
To install, create a virtualenv using your preferred method then:
git clone https://github.com/TheCacophonyProject/python-api.git
cd python-api
pip install .
If you plan on making changes to python-api, you'll want to install the test dependencies as well:
pip install -r .[test]
Using the package (User API)
Client setup
Open an instance of the client and use credentials directly
from cacophonyapi.user import UserAPI
client = UserAPI(baseurl=<SERVER-URL>,
username=<USER-NAME>,
password=<USER-PASSWORD>)
Alternatively, using credentials stored in a configuration file:
from cacophonyapi.user import UserAPI
from cacophonyapi.config import Config
config=Config().load_config(config_file=os.path.join(
os.getcwd(),'defaultconfig.json'))
cp_client = UserAPI(config.api_url,
username=config.admin_username ,
password=config.admin_password)
API calls
By default the most recent 100 recordings accessible to the user
account are queried but UserAPI.query()
does support a number of
filtering options. The API server supports arbitrary queries so feel
free to extend UserAPI.query()
if required.
Testing
#TODO: expand testing in both test_client_user_without_server.py
and test_client_user_with_server.py
Testing uses the pythony unittest framework where by both unit and integration testing is done.
test\test_client_user_without_server.py
is tests without requiring a server nose2 --verbosity 2 cacophonyapi.test.test_client_user_without_server
and test\test_client_user_with_server
is full integration testing against a server. This is also part of the travis test nose2 --verbosity 2 CacophonyClient.test.test_client_user_with_server
.
This integration testing does require a local server setup see travis.yml
For individual test nose2 --verbosity 2 cacophonyapi.test.test_client_user_with_server.mockedCacophonyServer.test_query
#TODO: Docs improve PEP257 compliance for cacophonyapi UserApi etc, don't know why it is not failing tox -e pep257
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file cacophonyapi-0.0.2.tar.gz
.
File metadata
- Download URL: cacophonyapi-0.0.2.tar.gz
- Upload date:
- Size: 17.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.7.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ee6a8dcb56bffc1304f7cbcef4c13c101a90a05c9cc5fce715ceb39d262fa66 |
|
MD5 | 3de72b102a7d49804e12f72b2cc7b6da |
|
BLAKE2b-256 | df1e85f26dd2f944d3a2eaba53a9c12ab9a320c8e564109c1680fc0a814d59c1 |
File details
Details for the file cacophonyapi-0.0.2-py2.py3-none-any.whl
.
File metadata
- Download URL: cacophonyapi-0.0.2-py2.py3-none-any.whl
- Upload date:
- Size: 20.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.7.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 12f3966a2a58ebd15ea975e0a0a3c7d473f1e4c16f956fd73a7e9f8bff52de8b |
|
MD5 | 1b83548f9650e86d3c344fd4769a7324 |
|
BLAKE2b-256 | 49dfe4ecb91a242196e0cb100342fd2bcae2f6eb898dd410a9d4ba1cb0fbb1e0 |