This project is a Python SDK for interacting with the Whaller API.
This library is in the early stages of implementation and contains only a few endpoints, but you can easily extend it by following the do. We encourage you to work with the Whaller teams on extending it.
pip install whaller-clientpip install --upgrade whaller-clientBefore running examples scripts, you must create a env.py file with the following content as indicated in the env.orig.py file at the root of the examples folder:
BASE_URL = "https://my.whaller.com"
CLIENT_ID = "your_client_id"
CLIENT_TOKEN = "your_client_token"
LOGIN = "your_email"
PASSWORD = "your_password"Important
If you do not have client_id and client_token, please contact contact@whaller.com. Please note that there is a charge for obtaining these credentials.
An authentication example script is available in examples/. To run it:
cd examples/
python example_auth.pyIf authentication is successful, you will see:
Authentication successful.Minimal usage example:
from whaller_client.client import Client
from whaller_client.endpoints.persons import Persons
# Initialize the client
client = Client(BASE_URL, CLIENT_ID, CLIENT_TOKEN)
client.set_credentials(LOGIN, PASSWORD)
client.authenticate()
# Example usage of endpoints
persons = Persons(client)
print(persons.get_notifications(LOGIN))If you want to contribute to this project or modify it for your own needs, follow these steps to set up a development environment:
- Clone the repository
git clone https://github.com/whallerfr/client-python.git
cd client-python- Create a virtual environment (recommended)
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install the package in development mode
pip install -e .- Install development dependencies
pip install pytest pytest-covThe project includes a comprehensive test suite with 100% code coverage. To run the tests:
python -m pytestTo run the tests with coverage report:
python -m pytest --cov=whaller_clientTo generate an HTML coverage report:
python -m pytest --cov=whaller_client --cov-report=htmlThe HTML report will be available in the htmlcov directory. Open htmlcov/index.html in your browser to view it.
whaller_client/ # Main package
├── __init__.py # Package initialization
├── api.py # API client implementation
├── auth.py # Authentication handling
├── client.py # Main client class
├── exceptions.py # Custom exceptions
├── logger.py # Logging utilities
└── endpoints/ # API endpoints
├── __init__.py
├── box.py # Box resource endpoints
├── invitation.py # Invitation endpoints
├── me.py # User-related endpoints
└── upload.py # File upload endpoints
tests/ # Test suite
├── unit/ # Unit tests
│ └── whaller_client/ # Tests for main package
│ ├── endpoints/ # Tests for endpoints
│ └── ... # Tests for other modules
This project is licensed under the MIT License. See the LICENSE file for more details.
For any questions or suggestions, open an issue on GitHub.