Skip to main content

Python package to manage integrations with Anaplan.

Project description

Simple Anaplan Connector Package

Introduction

This is a simple Anaplan connector intended to be used as a quick and easy way to mainly integrate with Anaplan using Python. This package does not include all API options. It uses the main calls to push data to anaplan via files, call a process, and export data.

Anaplan Integration Overview

The method of pushing data to Anaplan is common in the data warehousing space. Instead of pushing data in a transaction api (i.e. record by record), Anaplan utilizes a bulk data API which includes pushing delimitted files to a file location, and then copying the file into an Anaplan database. This is similar to Postgres and Snowflake's COPY INTO command.

Command Summary

Import anaplan connector

from anaplanConnector import Connection

Intialize the connection

  1. Basic authentication
anaplan = Connection(authType='basic',email='email@example.com',password='SecurePassword',workspaceId='anaplanWorkspaceID',modelId='AnaplanModelID')
  1. Certificate authentication
anaplan = Connection(authType='certificate', privateCertPath='./AnaplanPrivateKey.pem', publicCertPath='./AnaplanPublicKey.pem', workspaceId='anaplanWorkspaceID', modelId='AnaplanModelID')

There are two auth types: "basic" and "certificate". If basic is supplied, then the fields "email" and "password" are required. If "certificate" is supplied, then the fields "privateCertPath" and "publicCertPath" are required.

Multiple workspaceIds and modelIds can be used by doing one of the following:

  1. Change the ids directly:

    anaplan.workspaceId = 'NewWorkspaceId'

    anpalan.modelId = 'NewModelId'

  2. Make new initialization of the connector:

anaplanModel1 = Connection(email='email@example.com',password='SecurePassword',workspaceId='anaplanWorkspaceID',modelId='AnaplanModelID')
    
anaplanModel2 = Connection(email='email@example.com',password='SecurePassword',workspaceId='anaplanWorkspaceID2',modelId='AnaplanModelID2')

Get a list of Workspaces

workspaces = anaplan.getWorkspaces()

Get a list of Models

models = anaplan.getModels()

Get a list of files

files = anaplan.getFiles()

Get the fileId from a filename

fileId = anaplan.getFileIdByFilename(filename)

Load a file

anaplan.loadFile(filepath,fileId)

filepath = The local location and filename of the file to load (e.g. '/home/fileToLoad.csv')

fileId = The Anaplan file ID which can be found by running one of the above commands

Get a list of processes

processes = anaplan.getProcesses()

Get a processId from a process name

processId = anaplan.getProcessIdByName(processName)

Run a process

anaplan.runProcess(processId)

Get a list of exports

exports = anaplan.getExports()

Get an exportId from an export name

exportId = anaplan.getExportIdByName(exportName)

Export data

anaplan.export(exportId, filepath)

exportId = is Anaplan's Export ID that can be found with the above commands

filepath = is the location and filename of where you want to save the file (e.g. '/home/export.csv')

encoding (optional) = is the character encoding of the export file (default is utf-8)

Process Examples

Load data into Anaplan

from anaplanConnector import Connection

anaplan = Connection(authType='basic',email='email@example.com',password='SecurePassword',workspaceId='anaplanWorkspaceID',modelId='AnaplanModelID')

filepath = '/tmp/dataToLoad.csv'

anaplan.loadFile(filepath,anaplan.getFileIdByFilename('ExampleFile.csv'))

anaplan.runProcess(anaplan.getProcessIdByName('Import Data'))

Export data from Anaplan

from anaplanConnector import Connection

anaplan = Connection(authType='basic',email='email@example.com',password='SecurePassword',workspaceId='anaplanWorkspaceID',modelId='AnaplanModelID')

filepath = '/tmp/LocalExportedData.csv'

anaplan.export(anaplan.getExportIdByName('ExportedData.csv'), filepath)

List of features that are currently being developed

  1. Script to create the public and private pem keys from the .p12 file.

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

anaplanConnector-0.1.2.tar.gz (10.7 kB view hashes)

Uploaded source

Built Distribution

anaplanConnector-0.1.2-py3-none-any.whl (9.4 kB view hashes)

Uploaded py3

Supported by

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