A wrapper over bets.42cc.co API
Project description
Installation
pip install bets-api==0.0.9
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
bets = api.get_active_bets(project_id=123) # list of active bets filtered by project id
len(bets)
# => 20
# see docstrings for more on available parameters
api.get_bets(type='estimate_ticket', order_by='-last_stake', state='active', page_size=10)
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
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
bets-api-0.0.10.tar.gz
(5.5 kB
view details)
File details
Details for the file bets-api-0.0.10.tar.gz
.
File metadata
- Download URL: bets-api-0.0.10.tar.gz
- Upload date:
- Size: 5.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: Python-urllib/2.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f215012d38bf0644438ed0621d0fc02012a08064e153952b043d32016cb09f84 |
|
MD5 | 77273916b2ff188073fabcac7c273d7e |
|
BLAKE2b-256 | 99251b5fec4fac1236672879885a021eaa632ae9f5f8d3ce3462f9bc89acbc6e |