Skip to main content

python interface for the atomx api on https://api.atomx.com

Project description

Interface for the atomx rest api.

For more information read the full documentation online, report bugs in github or see the atomx wiki

Example Usage

from atomx import Atomx

# create atomx session
atomx = Atomx('user@example.com', 'password')

# get 10 creatives
creatives = atomx.get('Creatives', limit=10)
# the result is a list of `atomx.models.Creative` models
# that you can easily inspect, manipulate and update
for creative in creatives:
    print('Creative ID: {c.id}, state: {c.state}, '
          'name: {c.name}, title: {c.title}'.format(c=creative))

# update title for the first creative in list
creative = creatives[0]
creative.title = 'shiny new title'
# the session is inherited from `atomx` that made the get request
creative.save()


# create a new profile
from atomx.models import Profile
profile = Profile(advertiser_id=23, name='test profile')
# Note that you have to pass it a valid `Atomx` session for create
# or use `atomx.create(profile)`
profile.create(atomx)

# now you could alter and update it like the creative above
profile.name = 'changed name'
profile.save()


# you can also get attributes
profiles = atomx.get('advertiser', 88, 'profiles')
# equivalent is to pass the complete resource path as string instead of arguments
profiles = atomx.get('advertiser/88/profiles')  # same as above
# profiles is now a list of `atomx.models.Profile` that you can
# read, update, etc again.
profiles[0].click_frequency_cap_per = 86400
profiles[0].save()


# working with search
s = atomx.search('mini*')
# s is now a dict with lists of search results for the different models
# with the model id and name

publisher = s['publisher'][0]  # get the first publisher..
publisher.reload()  # .. and load all the data
print(publisher)  # now all publisher data is there


# reporting example
# get a report for a specific publisher
report = atomx.report(scope='publisher', groups=['hour_formatted'], sums=['impressions', 'clicks'], where=[['publisher_id', '==', 42]], from_='2015-02-08 00:00:00', to='2015-02-09 00:00:00', timezone='America/Los_Angeles')
# check if report is ready
print(report.is_ready)
# if pandas is installed you can get the pandas dataframe with `report.pandas`
# you can also get the report csv in `report.content` without pandas
df = report.pandas
# set index to datetime
import pandas as pd
df.index = pd.to_datetime(df.pop('hour_formatted'))
# calculate mean, median, std per hour
means = df.resample('H', how=['mean', 'median', 'std'])
# and plot impression and clicks per day
means['impressions'].plot()
means['clicks'].plot()

Installation

To install the python atomx api, simply:

$ pip install atomx

or if you want to use ipython notebook and reporting functionality:

$ pip install atomx[report]

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

atomx-1.4.tar.gz (26.4 kB view details)

Uploaded Source

Built Distribution

atomx-1.4-py2.py3-none-any.whl (15.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file atomx-1.4.tar.gz.

File metadata

  • Download URL: atomx-1.4.tar.gz
  • Upload date:
  • Size: 26.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for atomx-1.4.tar.gz
Algorithm Hash digest
SHA256 6da55874bf48a94fb97c895248ab44040ac6413f64b708e1f276426c1e90a563
MD5 895996ef0f8e139fb17c4466a2d6b6ba
BLAKE2b-256 64770e9ef1b1ceaf23418ccc73be73549db1fae385ab4806a67e37abc5a21202

See more details on using hashes here.

File details

Details for the file atomx-1.4-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for atomx-1.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 987eac6421f4da9c443a427080d79b911b75a87e91e570774af685b5ca8f80a9
MD5 01346f2c22522a2ee5a326de785e740e
BLAKE2b-256 071bec4539b23ce5fad7cb6a9eb34b3e0129a6bfc05b8d745fed8b86c9cd414a

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