Skip to main content

The Python library for Archimedes

Project description

archimedes-python-client

archimedes is the python sdk for accessing Optimeering data. This document outlines the setup of environment, authentication and general usage of the python client to fetch RK within day data using python.

Setting up the environment

We will be using venv to manage the virtual environment in this example.

Creating a virtual environment.

python3 -m venv .venv

This will create a directory named .venv where all the dependencies will be installed.

Activating the virtual environment

source ./.venv/bin/activate # linux/macOS
.venv\Scripts\activate.bat # Windows cmd
.\.venv\Scripts\Activate.ps1 # Windows PowerShell

Installingarchimedes-python-client

python3 -m pip install archimedes-python-client

Authentication

For local development:

For local development, the python client can use user authentication. The users are can be authenticated using the archimedes command line tool arcl.

python3 -m pip install arcl

arcl auth login # then, follow the instructions to login with your Microsoft account

Once the user is logged in, the archimedes login information will be stored in your ~/.archimedes directory and all the scripts and applications running as the same user are able to authenticate to the API automatically when using the archimedes-python-client.

For deployed applications:

The python client uses the following fields in environment variable for authentication of the client.

  1. AZURE_AD_TENANT_ID Provided by Optimeering AS
  2. AZURE_AD_APP_ID Provided by Optimeering AS
  3. AZURE_AD_APP_CLIENT_CREDENTIAL Provided by Optimeering AS
  4. USE_APP_AUTHENTICATION Set to True

As long as these variables have been set up as environment variables, any python script that invokes methods in archimedes will automatically use the values in the environment variables for authentication.

Example Code

Below is a code sample that invokes an archimedes method.

#import os
import archimedes

# The following environment variables are only needed for deployed applications.
# These would ideally be set in the app runtime environment and not necessarily in 
# python code
# os.environ["AZURE_AD_TENANT_ID"] = "***azure_ad_tenant_id***"
# os.environ["AZURE_AD_APP_ID"] = "***azure_ad_client_id***"
# os.environ["AZURE_AD_APP_CLIENT_CREDENTIAL"] = "***secret***"
# os.environ["USE_APP_AUTHENTICATION"] = "true"

data = archimedes.rk_within_day.directions(
    start="2023-01-01 00:00:00+0000",
    price_area="NO1",
    end="2023-01-01 01:00:00+0000",
    ref_dt="2022-12-31 23:00:00+0000"
)
print(data)

The sample code prints the RK within day directions probability for provided constraints to the console.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

archimedes_python_client-4.20.3.tar.gz (27.3 kB view details)

Uploaded Source

Built Distribution

archimedes_python_client-4.20.3-py3-none-any.whl (36.5 kB view details)

Uploaded Python 3

File details

Details for the file archimedes_python_client-4.20.3.tar.gz.

File metadata

  • Download URL: archimedes_python_client-4.20.3.tar.gz
  • Upload date:
  • Size: 27.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.10.13 Linux/6.5.0-1016-azure

File hashes

Hashes for archimedes_python_client-4.20.3.tar.gz
Algorithm Hash digest
SHA256 80b34e3b1154bb476d9af04e3f8a52788119dd4f3c8bc53ffe90812243a3abc1
MD5 8632326e4a8ea181aeaa2ffdbcf19a6c
BLAKE2b-256 c85840a514a0a5615dd8a73affb2d71f15165e12e4ddbf7fae3eacaf3244040a

See more details on using hashes here.

File details

Details for the file archimedes_python_client-4.20.3-py3-none-any.whl.

File metadata

File hashes

Hashes for archimedes_python_client-4.20.3-py3-none-any.whl
Algorithm Hash digest
SHA256 09f843a4352e8a01e8a26bd4cfd8bf3da92290aebdb7848bc54e0920b3546247
MD5 275e8858082af0869aee1f2d6ce5c7bd
BLAKE2b-256 7e969ab4c4287c8afefdc4a782e604a2b56093c50cd63afdcb89f9609f51e97a

See more details on using hashes here.

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