Skip to main content

Wrapper for Workday Adaptive Planning's API

Project description

wdadaptivepy

A python wrapper for the Workday Adaptive Planning API, providing an easy-to-use library to create, read, update, and delete data, metadata, and other information within Adaptive.

Overview

Workday Adaptive Planning is a cloud-based planning, reporting, and analysis solution. This library simplifies interacting with the Adaptive Planning API via a Pythonic interface.

Features

  • Functionality
    • Retrieve information from Adaptive
      • Support for metadata
        • Account
        • Attributes
        • Currencies
        • Dimensions
        • Level
        • Time
        • Version
      • Support for data
        • Generic Data
        • Modeled Sheet Data
      • Support for users
        • Users
        • Groups
      • Support for security
        • Permission Sets
    • Support for data formats
      • Import/export data using JSON
      • Import/export data using XML
      • Export data using CSV
    • Helper functions
      • Get base/leaf members
      • Get parent/branch members
      • Get parent of a member
      • Get children of a member
      • Get ancestors of a member
      • Get descendents of a member

Planned Features

  • Functionality
    • Send information to Adaptive
      • Support for metadata
        • Account
        • Attributes
        • Currencies
        • Dimensions
        • Level
        • Time
        • Version
      • Support for data
        • Generic Data
        • Modeled Sheet Data
      • Support for users
        • Users
        • Groups
      • Support for security
        • Permission Sets
    • Integrations
      • Tasks
    • Support for data formats
      • Import/export data using XLSX
      • Import data using CSV
      • Import/export data using TXT
    • Helper functions
      • Get raw API requests
      • Get raw API responses
    • Logging
    • Workday Authentication Token

Getting Started

Pre-requisites

  • Python 3.10+
  • Valid credentials (username/password) for an active Workday Adaptive Planning account
    • wdadaptivepy will be limited to the access granted to the Adaptive user (ie: wdadaptivepy will respect Adaptive's user security)

Installation

  • Run pip install wdadaptivepy

Example Usage

Retrieving Levels

from wdadaptivepy import AdaptiveConnection


adaptive = AdaptiveConnection(username="YOUR_ADAPTIVE@USER.NAME", password="Y0urP@$$w0rd!")

levels = adaptive.levels.get_all()

Retrieving Data

from wdadaptivepy import AdaptiveConnection


adaptive = AdaptiveConnection(username="YOUR_ADAPTIVE@USER.NAME", password="Y0urP@$$w0rd!")

query = (
    adaptive.data.query_data()
    .add_account_filter(accounts="Revenue")
    .add_level_filter(levels="Total Company")
    .set_version_filter(version="Default Version")
    .set_time_filter(start_period="01/2023", end_period="01/2023")
)
data = query.get_data()

Documentatation

Issues

Please submit an issue on the GitHub repository for any bugs or issues that are found. For any security vulnerabilities, please email labs@revelwood.com with a summary of the vulnerability.

Contribute

The preferred tools for developing wdadaptivepy are listed below. Other tools can be used, but the guide will assume the stack below is used.

Develop

  1. Fork the wdadaptivepy repo
  2. Git clone the forked repo onto your device (eg: git clone git@github.com:YOUR_GITHUB_ACCOUNT/YOUR_FORKED_REPO_NAME.git)
  3. Within the cloned directory, run uv sync --no-install-project to create a Python virtual environment and install all dependencies
  4. Complete any modifications to the source code
  5. Ensure all modified code is covered by tests via uv run pytest --cov
  6. Ensure all tests pass
  7. Commit all changes (eg: git commit -m "Added functionality for recent Adaptive release")
  8. Create pull request for committed changes

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wdadaptivepy-0.2.1.tar.gz (61.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wdadaptivepy-0.2.1-py3-none-any.whl (67.9 kB view details)

Uploaded Python 3

File details

Details for the file wdadaptivepy-0.2.1.tar.gz.

File metadata

  • Download URL: wdadaptivepy-0.2.1.tar.gz
  • Upload date:
  • Size: 61.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for wdadaptivepy-0.2.1.tar.gz
Algorithm Hash digest
SHA256 b2dd726fca476e8a144e05022382ee6d5efe8848ec7a63218c80b122fc441c43
MD5 e8cc7b7cecc9506c3f3c54c4c948509a
BLAKE2b-256 1059e23b9840aeb5314dd7296734bc0481b6e67375ef887bd42f53ad08bc46e9

See more details on using hashes here.

File details

Details for the file wdadaptivepy-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: wdadaptivepy-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 67.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for wdadaptivepy-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f917ff57c46684e10ab8c4b7af12dc1e65d032f75b3702bfade1c347e08b2834
MD5 469e0a93d237762e8a27ef564a6a75b9
BLAKE2b-256 bfb67dccf7fd7d7daecfed393814fc7a0271aa080ebde0e6db7f2c2ed1bff07c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page