Skip to content

Commit 8d9d68c

Browse files
authored
Add files via upload
0 parents  commit 8d9d68c

8 files changed

Lines changed: 148 additions & 0 deletions

File tree

LICENSE

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
License:
2+
========
3+
The MIT License (MIT)
4+
http://opensource.org/licenses/MIT
5+
6+
Copyright (c) 2014 - 2025 APIMATIC Limited
7+
8+
Permission is hereby granted, free of charge, to any person obtaining a copy
9+
of this software and associated documentation files (the "Software"), to deal
10+
in the Software without restriction, including without limitation the rights
11+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12+
copies of the Software, and to permit persons to whom the Software is
13+
furnished to do so, subject to the following conditions:
14+
15+
The above copyright notice and this permission notice shall be included in
16+
all copies or substantial portions of the Software.
17+
18+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24+
THE SOFTWARE.
25+
26+
Trade Mark:
27+
==========
28+
APIMATIC is a trade mark for APIMATIC Limited

MANIFEST.in

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
include LICENSE
2+
include README.md

README.md

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
2+
# Getting Started with gumlet-rest-apis
3+
4+
## Install the Package
5+
6+
The package is compatible with Python versions `3.7+`.
7+
Install the package from PyPi using the following pip command:
8+
9+
```bash
10+
pip install gumlet-python-sdk==1.0.0
11+
```
12+
13+
You can also view the package at:
14+
https://pypi.python.org/pypi/gumlet-python-sdk/1.0.0
15+
16+
## Test the SDK
17+
18+
You can test the generated SDK and the server with test cases. `unittest` is used as the testing framework and `pytest` is used as the test runner. You can run the tests as follows:
19+
20+
Navigate to the root directory of the SDK and run the following commands
21+
22+
```
23+
pip install -r test-requirements.txt
24+
pytest
25+
```
26+
27+
## Initialize the API Client
28+
29+
**_Note:_** Documentation for the client can be found [here.](https://www.github.com/akbansa/gumlet-python-sdk/tree/1.0.0/doc/client.md)
30+
31+
The following parameters are configurable for the API Client:
32+
33+
| Parameter | Type | Description |
34+
| --- | --- | --- |
35+
| http_client_instance | `HttpClient` | The Http Client passed from the sdk user for making requests |
36+
| override_http_client_configuration | `bool` | The value which determines to override properties of the passed Http Client from the sdk user |
37+
| http_call_back | `HttpCallBack` | The callback value that is invoked before and after an HTTP call is made to an endpoint |
38+
| timeout | `float` | The value to use for connection timeout. <br> **Default: 60** |
39+
| max_retries | `int` | The number of times to retry an endpoint call if it fails. <br> **Default: 0** |
40+
| backoff_factor | `float` | A backoff factor to apply between attempts after the second try. <br> **Default: 2** |
41+
| retry_statuses | `Array of int` | The http statuses on which retry is to be done. <br> **Default: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524]** |
42+
| retry_methods | `Array of string` | The http methods on which retry is to be done. <br> **Default: ['GET', 'PUT']** |
43+
| custom_header_authentication_credentials | [`CustomHeaderAuthenticationCredentials`](https://www.github.com/akbansa/gumlet-python-sdk/tree/1.0.0/doc/auth/custom-header-signature.md) | The credential object for Custom Header Signature |
44+
45+
The API client can be initialized as follows:
46+
47+
```python
48+
client = GumletrestapisClient(
49+
custom_header_authentication_credentials=CustomHeaderAuthenticationCredentials(
50+
authorization='Authorization'
51+
),
52+
environment=Environment.PRODUCTION
53+
)
54+
```
55+
56+
## Authorization
57+
58+
This API uses the following authentication schemes.
59+
60+
* [`sec0 (Custom Header Signature)`](https://www.github.com/akbansa/gumlet-python-sdk/tree/1.0.0/doc/auth/custom-header-signature.md)
61+
62+
## List of APIs
63+
64+
* [API Endpoints](https://www.github.com/akbansa/gumlet-python-sdk/tree/1.0.0/doc/controllers/api-endpoints.md)
65+
66+
## SDK Infrastructure
67+
68+
### HTTP
69+
70+
* [HttpResponse](https://www.github.com/akbansa/gumlet-python-sdk/tree/1.0.0/doc/http-response.md)
71+
* [HttpRequest](https://www.github.com/akbansa/gumlet-python-sdk/tree/1.0.0/doc/http-request.md)
72+
73+
### Utilities
74+
75+
* [ApiHelper](https://www.github.com/akbansa/gumlet-python-sdk/tree/1.0.0/doc/api-helper.md)
76+
* [HttpDateTime](https://www.github.com/akbansa/gumlet-python-sdk/tree/1.0.0/doc/http-date-time.md)
77+
* [RFC3339DateTime](https://www.github.com/akbansa/gumlet-python-sdk/tree/1.0.0/doc/rfc3339-date-time.md)
78+
* [UnixDateTime](https://www.github.com/akbansa/gumlet-python-sdk/tree/1.0.0/doc/unix-date-time.md)
79+

pyproject.toml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
[build-system]
2+
build-backend = "setuptools.build_meta"
3+
requires = ["setuptools>=61.0"]
4+
[project]
5+
name = "gumlet-python-sdk"
6+
description = "Use Gumlet SDK to upload videos to Gumlet, manage channel & playlist, create image source, and get analytics"
7+
version = "1.0.0"
8+
readme = "README.md"
9+
requires-python = ">=3.7"
10+
keywords = ["gumlet", "video api", "image api", "video security", "video analytics"]
11+
authors = [{name = "akbansa", email = "support@gumlet.com"}]
12+
urls = {Documentation = "https://docs.gumlet.com/reference/getting-started"}
13+
dependencies = ["apimatic-core~=0.2.0, >= 0.2.17", "apimatic-core-interfaces~=0.1.0, >= 0.1.5", "apimatic-requests-client-adapter~=0.1.0, >= 0.1.6"]
14+
classifiers = []
15+
[project.optional-dependencies]
16+
testutils = ["pytest>=7.2.2"]
17+
[tool.setuptools.packages.find]
18+
exclude = ["tests", "tests.*"]

requirements.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
apimatic-core~=0.2.0, >= 0.2.17
2+
apimatic-core-interfaces~=0.1.0, >= 0.1.5
3+
apimatic-requests-client-adapter~=0.1.0, >= 0.1.6

setup.cfg

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# -*- coding: utf-8 -*-
2+
# Setuptools v62.6 doesn't support editable installs with just 'pyproject.toml' (PEP 660).
3+
# Keep this file until it does!
4+
5+
[meta-data]
6+
# wheel doesn't yet read license_files from pyproject.toml - tools.setuptools
7+
# Keep it here until it does!
8+
license_files =
9+
LICENSE
10+

test-requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
pytest>=7.2.2

tox.ini

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[tox]
2+
envlist = py{37,38,39,310,311}
3+
4+
[testenv]
5+
commands = pytest
6+
deps =
7+
pytest

0 commit comments

Comments
 (0)