Skip to main content

A wrapper over bets.42cc.co API

Project description

Installation

pip install bets-api==0.0.4

Basic Usage

import bets
api = bets.BetsApi('<your token>')  # get token via admin UI

bets = api.get_active_bets()  # list of active bets (same as on dashboard)
len(bets)
# => 70
bets[13]
# => {...} dict that represents the bet

api.get_project_slug(bets[13])
# => u'favim'

api.stakes_in(bets[13])
# => {'stakes': [{u'amount': Decimal('0.20000'),
#      u'created': datetime.datetime(2014, 6, 2, 13, 36, 4, 322000),
#      u'id': 3565,
#      u'side': 0,
#      u'user': u'username'}],
#    'sum': Decimal('0.20000')}

api.stakes_out(bets[13])
# => {'stakes': [], 'sum': 0}

Creating bets

api.create_budget(project_slug, expires_at, target_budget, bets_until, min_stake)
# => {u'bet_id': 26, u'status': u'ok'}
  • expires_at, bets_until - must be datetime objects

  • bets_until, min_stake - not required

Also, there are methods for creating other types of bets:

create_no_bugs(self, project_slug, expires_at, bets_until=None, min_stake=None):
create_budget(self, project_slug, expires_at, target_budget, bets_until=None, min_stake=None):
create_deadline(self, project_slug, expires_at, target_deadline, bets_until=None, min_stake=None):
create_human(self, description, expires_at, bets_until=None, min_stake=None):
create_billable_hours(self, kava_username, expires_at, hours, start_date, end_date, bets_until=None, min_stake=None):
create_closed_tickets(self, project_slug, expires_at, ticket_nums, bets_until=None, min_stake=None):
create_fitting_budget(self, percent, expires_at, days=90, bets_until=None, min_stake=None):
create_fitting_deadline(self, percent, expires_at, days=90, bets_until=None, min_stake=None):
create_without_defects(self, percent, expires_at, days=90, bets_until=None, min_stake=None):
create_estimate_ticket(self, project_slug, expires_at, ticket_num, bets_until=None, min_stake=None):

Subscribe to Event.BET_EXPIRED

import bets
import gevent
api = bets.BetsApi('<your token>')

def cb(bet):
    print 'Bet changed: [%s] %s' % (bet['id'], bet['description'])

api.set_callback(bets.Event.BET_EXECUTED, cb)
api.subscribe(bets.Event.BET_EXECUTED, [1020, 1009, 1010, 11])

gevent.joinall(api.event_loop())
# => Bet changed: [1009] [42-jobs] 0 bugs (2014-05-02 18:00)
#    Bet changed: [1010] [coinhand] budget <= 400.0 (2014-04-30 11:15)
#    Bet changed: [11] [kavyarnya] deadline <= 2014-03-01 (2014-02-14 02:00)

For more sophisticated example see examples/.

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

bets-api-0.0.4.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

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

bets-api-0.0.4.linux-x86_64.tar.gz (7.9 kB view details)

Uploaded Source

File details

Details for the file bets-api-0.0.4.tar.gz.

File metadata

  • Download URL: bets-api-0.0.4.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for bets-api-0.0.4.tar.gz
Algorithm Hash digest
SHA256 baab7843268218e1c2fd50c730434422fc64756dcf3c6891d1de8e44aaf72ead
MD5 2704ecd88e898662bd4cb1a101a73263
BLAKE2b-256 aa197242da3d4ae670101f44e6ffe289eb984c6c5bd46e1e2328c840f5e572a6

See more details on using hashes here.

File details

Details for the file bets-api-0.0.4.linux-x86_64.tar.gz.

File metadata

File hashes

Hashes for bets-api-0.0.4.linux-x86_64.tar.gz
Algorithm Hash digest
SHA256 5090a1cbe988ceb51a4c77ec6ae46dddf3742f9e9ce7d9cfda738015d54ea046
MD5 7f0cb0127aeeef2f0bdcfdabe552cea3
BLAKE2b-256 e6885150edeb06b6063dc0c73258b3537d8b1f741ed509fafe29e0eaebde3487

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