# DKUtils
## Description
The DKUtils python package was written to provide utility functions and classes that are used in DataKitchen recipes.
It serves two main purposes.
1. Provide a Python API Client for interacting with the DataKitchen platform’s REST API (DataKitchenClient)
2. Provide utility classes and methods for interacting with tools commonly orchestrated in recipes in the DataKitchen platform (Alteryx, Jira, Gmail, etc.)
## Development Info
Building and testing this module is conveniently done using Make. Issue the `make` command to see a list
of available targets (shown below for convenience). Note that any target can be suffixed with `-ext` to
run that target inside a Docker container. This allows testing and development in a standard and portable
environment. To develop inside a running docker container, use the `bash-ext` target. This will drop the
user into a bash shell inside a running container.
Add '-ext' to any target to run it inside a docker container
Versioning:
bump/major bump/minor bump/patch - bump the version
Utilities:
bash run bash - typically used in conjunction with -ext to enter a docker container
scan_secrets scan source code for sensitive information
Linting:
lint run flake8 and yapf
flake8 run flake8
yapf run yapf and correct issues in-place
yapf-diff run yapf and display diff between existing code and resolution if in-place is used
Testing:
test run all unit tests
test_unit run all unit tests
clean_unit remove files from last test run (e.g. report_dir, .coverage, etc.)
tox run unit tests in python 2 and 3
clean_tox clean tox files (e.g. .tox)
Documentation:
docs generate Sphinx documentation
docs/html generate Sphinx documentation
docs/clean remove generated Sphinx documentation
Build and Upload:
build generate distribution archives (i.e. *.tar.gz and *.whl)
upload upload distribution archives to PyPI
clean_build remove all the build files (i.e. build, dist, *.egg-info)
Cleanup:
clean run all the clean targets in one go
clean_pyc remove all *.pyc files
[Pre-commit](https://pre-commit.com/) is also included to validate and flag commits that contain code
that does not pass [Flake8](http://flake8.pycqa.org/en/latest/) and [YAPF](https://github.com/google/yapf).
To use, first install the python package `pip install pre-commit` and then run `pre-commit install`. All
future commits will run these tools and deny commits that don't pass. When running YAPF, `pre-commit` will
make in-place corrections to your code. Therefore, if it fails the YAPF validation on the first commit
attempt, simply review the changed files, add, and commit again to resolve.
Raw data
{
"_id": null,
"home_page": "https://github.com/DataKitchen/DKUtils",
"name": "DKUtils",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "",
"author": "DataKitchen",
"author_email": "info@datakitchen.io",
"download_url": "https://files.pythonhosted.org/packages/9a/09/e989ef84ec6454522b415a766a6a9f1c5eb7283e085dc36299f21a2a54c5/DKUtils-2.11.6.tar.gz",
"platform": null,
"description": "# DKUtils\n\n## Description\nThe DKUtils python package was written to provide utility functions and classes that are used in DataKitchen recipes. \nIt serves two main purposes.\n\n1. Provide a Python API Client for interacting with the DataKitchen platform\u2019s REST API (DataKitchenClient)\n2. Provide utility classes and methods for interacting with tools commonly orchestrated in recipes in the DataKitchen platform (Alteryx, Jira, Gmail, etc.)\n\n## Development Info\nBuilding and testing this module is conveniently done using Make. Issue the `make` command to see a list\nof available targets (shown below for convenience). Note that any target can be suffixed with `-ext` to \nrun that target inside a Docker container. This allows testing and development in a standard and portable\nenvironment. To develop inside a running docker container, use the `bash-ext` target. This will drop the \nuser into a bash shell inside a running container.\n\n Add '-ext' to any target to run it inside a docker container\n\n Versioning:\n bump/major bump/minor bump/patch - bump the version\n\n Utilities:\n bash run bash - typically used in conjunction with -ext to enter a docker container\n scan_secrets scan source code for sensitive information\n\n Linting:\n lint run flake8 and yapf\n flake8 run flake8\n yapf run yapf and correct issues in-place\n yapf-diff run yapf and display diff between existing code and resolution if in-place is used\n\n Testing:\n test run all unit tests\n test_unit run all unit tests\n clean_unit remove files from last test run (e.g. report_dir, .coverage, etc.)\n tox run unit tests in python 2 and 3\n clean_tox clean tox files (e.g. .tox)\n\n Documentation:\n docs generate Sphinx documentation\n docs/html generate Sphinx documentation\n docs/clean remove generated Sphinx documentation\n\n Build and Upload:\n build generate distribution archives (i.e. *.tar.gz and *.whl)\n upload upload distribution archives to PyPI\n clean_build remove all the build files (i.e. build, dist, *.egg-info)\n\n Cleanup:\n clean run all the clean targets in one go\n clean_pyc remove all *.pyc files\n\n[Pre-commit](https://pre-commit.com/) is also included to validate and flag commits that contain code \nthat does not pass [Flake8](http://flake8.pycqa.org/en/latest/) and [YAPF](https://github.com/google/yapf). \nTo use, first install the python package `pip install pre-commit` and then run `pre-commit install`. All \nfuture commits will run these tools and deny commits that don't pass. When running YAPF, `pre-commit` will\nmake in-place corrections to your code. Therefore, if it fails the YAPF validation on the first commit \nattempt, simply review the changed files, add, and commit again to resolve. \n\n\n",
"bugtrack_url": null,
"license": "",
"summary": "DataKitchen Utils Library",
"version": "2.11.6",
"project_urls": {
"Documentation": "https://datakitchen.github.io/DKUtils",
"Download": "https://pypi.org/project/DKUtils",
"Homepage": "https://github.com/DataKitchen/DKUtils",
"Source Code": "https://github.com/DataKitchen/DKUtils"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1c9d65969c6233c07da8c3e0cde92e838c428fbc17a1b02519a0e2ddf7f0ee5d",
"md5": "a129badd461da678d6f2d0354d7b1e66",
"sha256": "920f4b00c860676cc4da0880777f0909735c7ccb2563f1aad1059431ba85fcd1"
},
"downloads": -1,
"filename": "DKUtils-2.11.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a129badd461da678d6f2d0354d7b1e66",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 70666,
"upload_time": "2023-07-10T15:29:35",
"upload_time_iso_8601": "2023-07-10T15:29:35.532267Z",
"url": "https://files.pythonhosted.org/packages/1c/9d/65969c6233c07da8c3e0cde92e838c428fbc17a1b02519a0e2ddf7f0ee5d/DKUtils-2.11.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9a09e989ef84ec6454522b415a766a6a9f1c5eb7283e085dc36299f21a2a54c5",
"md5": "29b0ee9235878451ea5457d2fc28a5f1",
"sha256": "80b786487f872335062299d26b9413b213c9697a788ec8c37177c6149008a522"
},
"downloads": -1,
"filename": "DKUtils-2.11.6.tar.gz",
"has_sig": false,
"md5_digest": "29b0ee9235878451ea5457d2fc28a5f1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 50347,
"upload_time": "2023-07-10T15:29:37",
"upload_time_iso_8601": "2023-07-10T15:29:37.024929Z",
"url": "https://files.pythonhosted.org/packages/9a/09/e989ef84ec6454522b415a766a6a9f1c5eb7283e085dc36299f21a2a54c5/DKUtils-2.11.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-07-10 15:29:37",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "DataKitchen",
"github_project": "DKUtils",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "dataclasses",
"specs": [
[
"==",
"0.6"
]
]
},
{
"name": "events_ingestion_client",
"specs": [
[
"==",
"1.0.0"
]
]
},
{
"name": "jira",
"specs": [
[
"==",
"2.0.0"
]
]
},
{
"name": "pandas",
"specs": [
[
"==",
"1.1.2"
]
]
},
{
"name": "paramiko",
"specs": [
[
"==",
"2.10.4"
]
]
},
{
"name": "scp",
"specs": [
[
"==",
"0.13.2"
]
]
},
{
"name": "Sphinx",
"specs": [
[
"==",
"4.5.0"
]
]
},
{
"name": "sphinx-rtd-theme",
"specs": [
[
"==",
"0.4.3"
]
]
},
{
"name": "google-api-python-client",
"specs": [
[
"==",
"1.10.1"
]
]
},
{
"name": "google-auth-httplib2",
"specs": [
[
"==",
"0.0.4"
]
]
},
{
"name": "google-auth-oauthlib",
"specs": [
[
"==",
"0.4.2"
]
]
},
{
"name": "sqlalchemy",
"specs": [
[
"==",
"1.4.27"
]
]
}
],
"lcname": "dkutils"
}