workday_tools


Nameworkday_tools JSON
Version 0.1.1 PyPI version JSON
download
home_pageNone
SummaryPython tools for accessing Workday RaaS endpoints.
upload_time2025-10-14 17:45:15
maintainerNone
docs_urlNone
authorNone
requires_python>=3.7
licenseNone
keywords workday raas api rest
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # workday_tools_nosrednakram

## Overview

`workday_tools_nosrednakram` is a Python package for accessing Workday RaaS (Report-as-a-Service) endpoints. It provides:

- `RaaSRest.py`: A class for authenticated RaaS REST API calls.
- `rest.py`: A helper function for making RaaS calls with simplified parameters.

## Installation

Install via pip:

```bash
pip install workday_tools_nosrednakram
```

## Configuration

### Authentication and Tenant Information

Create a `workday.yaml` file with your Workday credentials and tenant details. Example (obfuscated values):

```yaml
account: my_user_123
password: s3cr3tP@ssw0rd
tenant: mytenant
prod_url: https://wd5.myworkday.com
devel_url: https://wd5-impl.myworkday.com
environment: PROD
```

### Call-Specific Configuration

Create a `config.yaml` file to specify ore or more configurations. In this example, we specify a report to call and its parameters:

```yaml
raas_config: workday.yaml
raas_report: "CR_IHD001_Course_Search"
raas_format: csv
raas_extra_params: '&Last_Days=1&Academic_Level%21WID=f0acdfc60ce81008f822d325e5900001'
```
We could have multiple configurations in this file. One for production and one for development. Reports for different owners, etc. The reason for this break out is the credentials in workday.yaml are sensitive and should be protected. The config.yaml file can be checked into source control with the sensitive information in workday.yaml protected. Additionally, it allows for multiple configurations to be stored in one place.


## Usage

### Using `RaaSRest` Directly

```python
from workday_tools_nosrednakram.RaaSRest import RaaSRest

raas = RaaSRest(config_file="workday.yaml")
response = raas.report(report="My_Report", format="json")
print(response.text)
```

### Using the Helper Function (`rest.py`)

```python
from workday_tools_nosrednakram.rest import rest_call

result = rest_call(
    report="My_Report",
    extra_params="&param1=value1",
    report_format="json",
    raas_config="workday.yaml"
)
print(result)
```

## Notes

- Ensure your YAML config files are correctly formatted and contain all required keys.
- File paths can include spaces; no special escaping is needed for YAML loading.
- Logging is used for error reporting; configure logging as needed for your environment.
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "workday_tools",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "workday, raas, api, rest",
    "author": null,
    "author_email": "Mark W Anderson <nosrednakram@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/66/45/8004a0d1df56be7306b048e2a84445fa15b64ef24a852e998f45075b6c2b/workday_tools-0.1.1.tar.gz",
    "platform": null,
    "description": "# workday_tools_nosrednakram\n\n## Overview\n\n`workday_tools_nosrednakram` is a Python package for accessing Workday RaaS (Report-as-a-Service) endpoints. It provides:\n\n- `RaaSRest.py`: A class for authenticated RaaS REST API calls.\n- `rest.py`: A helper function for making RaaS calls with simplified parameters.\n\n## Installation\n\nInstall via pip:\n\n```bash\npip install workday_tools_nosrednakram\n```\n\n## Configuration\n\n### Authentication and Tenant Information\n\nCreate a `workday.yaml` file with your Workday credentials and tenant details. Example (obfuscated values):\n\n```yaml\naccount: my_user_123\npassword: s3cr3tP@ssw0rd\ntenant: mytenant\nprod_url: https://wd5.myworkday.com\ndevel_url: https://wd5-impl.myworkday.com\nenvironment: PROD\n```\n\n### Call-Specific Configuration\n\nCreate a `config.yaml` file to specify ore or more configurations. In this example, we specify a report to call and its parameters:\n\n```yaml\nraas_config: workday.yaml\nraas_report: \"CR_IHD001_Course_Search\"\nraas_format: csv\nraas_extra_params: '&Last_Days=1&Academic_Level%21WID=f0acdfc60ce81008f822d325e5900001'\n```\nWe could have multiple configurations in this file. One for production and one for development. Reports for different owners, etc. The reason for this break out is the credentials in workday.yaml are sensitive and should be protected. The config.yaml file can be checked into source control with the sensitive information in workday.yaml protected. Additionally, it allows for multiple configurations to be stored in one place.\n\n\n## Usage\n\n### Using `RaaSRest` Directly\n\n```python\nfrom workday_tools_nosrednakram.RaaSRest import RaaSRest\n\nraas = RaaSRest(config_file=\"workday.yaml\")\nresponse = raas.report(report=\"My_Report\", format=\"json\")\nprint(response.text)\n```\n\n### Using the Helper Function (`rest.py`)\n\n```python\nfrom workday_tools_nosrednakram.rest import rest_call\n\nresult = rest_call(\n    report=\"My_Report\",\n    extra_params=\"&param1=value1\",\n    report_format=\"json\",\n    raas_config=\"workday.yaml\"\n)\nprint(result)\n```\n\n## Notes\n\n- Ensure your YAML config files are correctly formatted and contain all required keys.\n- File paths can include spaces; no special escaping is needed for YAML loading.\n- Logging is used for error reporting; configure logging as needed for your environment.\n```\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Python tools for accessing Workday RaaS endpoints.",
    "version": "0.1.1",
    "project_urls": null,
    "split_keywords": [
        "workday",
        " raas",
        " api",
        " rest"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4b9b11ba3e097236e488565cfeec743a23015d33f597e002c9c5a885059ec989",
                "md5": "c9028c63c24d80e84997f059d9b947a1",
                "sha256": "6623297c040006c6ed282e8b584c2b5b0bc65d58ce7277707a25b60a4f89ce9c"
            },
            "downloads": -1,
            "filename": "workday_tools-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c9028c63c24d80e84997f059d9b947a1",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 5078,
            "upload_time": "2025-10-14T17:45:14",
            "upload_time_iso_8601": "2025-10-14T17:45:14.770052Z",
            "url": "https://files.pythonhosted.org/packages/4b/9b/11ba3e097236e488565cfeec743a23015d33f597e002c9c5a885059ec989/workday_tools-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "66458004a0d1df56be7306b048e2a84445fa15b64ef24a852e998f45075b6c2b",
                "md5": "cd323745e1d9892d70a01459341f651b",
                "sha256": "c8b28b107855571a6a347ffb60f8459205933f74b9fb96024cab1b9901a5d086"
            },
            "downloads": -1,
            "filename": "workday_tools-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "cd323745e1d9892d70a01459341f651b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 5467,
            "upload_time": "2025-10-14T17:45:15",
            "upload_time_iso_8601": "2025-10-14T17:45:15.947187Z",
            "url": "https://files.pythonhosted.org/packages/66/45/8004a0d1df56be7306b048e2a84445fa15b64ef24a852e998f45075b6c2b/workday_tools-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-14 17:45:15",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "workday_tools"
}
        
Elapsed time: 4.59730s