Skip to content
This repository was archived by the owner on Jun 11, 2024. It is now read-only.

atomx/atomx-api-python

Repository files navigation

Python Atomx Api

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

fromatomximportAtomx# create atomx sessionatomx=Atomx('[email protected]', 'password') # get 10 creativescreatives=atomx.get('Creatives', limit=10) # the result is a list of `atomx.models.Creative` models# that you can easily inspect, manipulate and updateforcreativeincreatives: print('Creative ID:{c.id}, state:{c.state}, ''name:{c.name}, title:{c.title}'.format(c=creative)) # update title for the first creative in listcreative=creatives[0] creative.title='shiny new title'# the session is inherited from `atomx` that made the get requestcreative.save() # create a new profilefromatomx.modelsimportProfileprofile=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 aboveprofile.name='changed name'profile.save() # you can also get attributesprofiles=atomx.get('advertiser', 88, 'profiles') # equivalent is to pass the complete resource path as string instead of argumentsprofiles=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=86400profiles[0].save() # working with searchs=atomx.search('mini*') # s is now a dict with lists of search results for the different models# with the model id and namepublisher=s['publisher'][0] # get the first publisher..publisher.reload() # .. and load all the dataprint(publisher) # now all publisher data is therepublisher.history() # gets all changes made to this publisher# reporting example# get a report for a specific publisherreport=atomx.report(scope='publisher', groups=['hour'], metrics=['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 readyprint(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 pandasdf=report.pandas# A datetime index is automatically set when group by a hour/day/month.# calculate mean, median, std per hourmeans=df.resample('H', how=['mean', 'median', 'std']) # and plot impression and clicks per daymeans['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]

About

python wrapper for the atomx api

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages