Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cacophonyapi-0.0.5.tar.gz (18.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cacophonyapi-0.0.5-py2.py3-none-any.whl (20.2 kB view details)

Uploaded Python 2Python 3

File details

Details for the file cacophonyapi-0.0.5.tar.gz.

File metadata

  • Download URL: cacophonyapi-0.0.5.tar.gz
  • Upload date:
  • Size: 18.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cacophonyapi-0.0.5.tar.gz
Algorithm Hash digest
SHA256 b120a8561e8790f70fbf265455f7e897511219b283a066060667024afdc484c4
MD5 0f72c23dd6dcd4c7a5b15ea0f0b2f402
BLAKE2b-256 30f42377a6202177fe7a56dc5eaf444ceb18964069cd3340acbe803300ba5c54

See more details on using hashes here.

Provenance

The following attestation bundles were made for cacophonyapi-0.0.5.tar.gz:

Publisher: release.yml on TheCacophonyProject/python-api

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cacophonyapi-0.0.5-py2.py3-none-any.whl.

File metadata

  • Download URL: cacophonyapi-0.0.5-py2.py3-none-any.whl
  • Upload date:
  • Size: 20.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cacophonyapi-0.0.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 9c7555c7f24f7ad8fd98562815185902edbc91ca8db9bdcd89af5b924144b491
MD5 db11df09beb0dce2f45a1b3271acc477
BLAKE2b-256 4ce4ebeeca8130d383c175f30a229ae82c860b050dce68f6b73a0cc1e104280b

See more details on using hashes here.

Provenance

The following attestation bundles were made for cacophonyapi-0.0.5-py2.py3-none-any.whl:

Publisher: release.yml on TheCacophonyProject/python-api

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page