Python SDK for accessing Fyle Platform APIs. Fyle is an expense management system.
This project requires Python 3+ and Requests library (pip install requests).
-
Download this project and use it (copy it in your project, etc).
-
Install it from pip.
$ pip install fyle
To use this SDK you'll need these Fyle credentials used for OAuth2 authentication: client ID, client secret and refresh token. You can follow the steps on this Article or reach out to [email protected].
This SDK is very easy to use.
- First you'll need to create a connection using the main class Platform.
from fyle.platform import Platform
fyle = Platform(
server_url='FYLE SERVER URL',
token_url='FYLE TOKEN URL',
refresh_token='FYLE REFRESH TOKEN',
client_id='FYLE CLIENT ID',
client_secret='FYLE CLIENT SECRET'
)
- You can access the V1beta version of the APIs as follows:
"""
USAGE: <Platform INSTANCE>.<VERSION: eg. v1beta>.<FYLE ROLE: eg. admin>.<API_NAME: eg. expenses>.<API_METHOD: eg. get>(<PARAMETERS>)
"""
# Get a list of all Expenses in a paginated manner and add to a list
expenses = []
query_params = {
'order': 'created_at.desc'
}
expenses_generator = fyle.v1beta.admin.expenses.list_all(query_params=query_params)
for response in expenses_generator:
if response.get('data'):
expenses.extend(response['data'])
- Install pytest package using pip as follows:
pip install pytest
- Add the following environment variables to test_credentials.sh file
export SERVER_URL=<FYLE SERVER URL>
export TOKEN_URL=<FYLE TOKEN URL>
export REFRESH_TOKEN=<FYLE REFRESH TOKEN>
export CLIENT_ID=<FYLE CLIENT ID>
export CLIENT_SECRET=<FYLE CLIENT SECRET>
- Apply secrets and Run integration tests as follows:
source test_credentials.sh && python -m pytest test/integration
- To get the code coverage execute the following:
pytest test/ --cov
Currently the code coverage is at 95%
Release latest version to PyPi
- Open the releases section on GitHub and Draft a new release.
- Check the version in setup.py, make sure you update that version along with your changes.
- Add the version and description and click ok
Publish Release
button. - This will trigger the github action and automatically push the SDK to PyPi
This project is licensed under the MIT License - see the LICENSE file for details